nextui.dev
Home
Docs
Saved
Pricing
Components37
  • Forms & inputs7
  • Cards13
  • Buttons, badges & avatars8
  • Feedback & display6
  • Effects3
Agents27
  • Chat inputNew
  • Task checklistNew
  • ReasoningNew
  • Tool callNew
  • Terminal OutputNew
  • Model pickerNew
  • Tool approvalNew
  • Error & RetryNew
  • AttachmentsNew
  • SourcesNew
  • Agent timelineNew
  • Context meterNew
  • Artifact panelNew
  • Message actionsNew
  • Streaming messageNew
  • Sub-agentsNew
  • Diff ViewerNew
  • Conversation shellNew
  • Agent questionNew
  • Plan ReviewNew
  • Voice agentNew
  • Voice orbNew
  • Thinking ring
  • Thinking waveNew
  • Thinking sparkle
  • Thinking bot
  • Prompt deckNew
Blocks20
  • Agent chatNew
  • Pill heroNew
  • Grid hero
  • Moodboard generatorNew
  • Waitlist heroNew
  • Intro bannerNew
  • Creative home heroNew
  • Chat heroNew
  • App shelfNew
  • Usage card
  • Design resultsNew
  • Pricing tiers
  • Dashboard home
  • The shiftNew
  • Launch perksNew
  • Testimonials
  • Quote
  • Team
  • Leads tableNew
  • Sign in
Pages13
  • ASCII workspace$49
  • Research agent$49
  • Support agent$49
  • Coding agent$49
  • CRM overviewNew
  • Marketing dashboardNew
  • Developer portfolio$49
  • Particle landing$49
  • Particle story$49
  • Statement converter$49
  • AI photo studio$49
  • Group card launch$49
  • Month-end storyNew
Themes9
  • Default
  • Ember
  • Ocean
  • Forest
  • Grape
  • Rose
  • Amber
  • Clay
  • Brutal
Upgrade
nextui.dev

nextui components, blocks and themes you install with one command.

Product

  • Components
  • Blocks
  • Themes
  • Pricing

Resources

  • Docs
  • Roadmap
  • GitHub

Legal

  • License
  • Privacy
  • Terms
  • Refunds

nextUI

[ 200 OK ] · nextUI

© 2026 NEXTUI • All rights reserved.

Upgrade
ComponentsAI & agentsPlan Review
Copy promptCopy prompt

Customize

What the agent was asked to do

Controlled status. Approved and changes-requested lock the list

Loop a scripted review: edit a step, drop one, approve. Stops on the first click

JSX · copied with Copy prompt

<PlanReview autoPlay />

Plan ReviewNew

The agent's plan before it runs: edit, reorder, remove or add steps, then approve or ask for changes.

Installation

Set your access key from API keys as NEXTUI_TOKEN in .env.local and add the @nextui namespace below to components.json once. Then every item installs by name. Each install counts as a copy on a free account.

$pnpm dlx shadcn@latest add @nextui/plan-review
1{
2 "registries": {
3 "@nextui": {
4 "url": "https://nextui.dev/r/{name}.json",
5 "headers": { "Authorization": "Bearer ${NEXTUI_TOKEN}" }
6 }
7 }
8}

Usage

1"use client";
2
3import { useChat } from "@ai-sdk/react";
4import { PlanReview, type PlanStep } from "@/components/nextui/plan-review";
5
6// The agent calls a "propose_plan" tool without execute; answer it from here.
7export function PlanPart({ toolCallId, input }: { toolCallId: string; input: { goal: string; steps: PlanStep[] } }) {
8 const { addToolResult } = useChat();
9
10 return (
11 <PlanReview
12 title={input.goal}
13 defaultSteps={input.steps}
14 onApprove={(steps) =>
15 addToolResult({ tool: "propose_plan", toolCallId, output: { approved: true, steps } })
16 }
17 onRequestChanges={(feedback) =>
18 addToolResult({ tool: "propose_plan", toolCallId, output: { approved: false, feedback } })
19 }
20 />
21 );
22}

API reference

Edit props live in the preview above, or see all 9 props
PropTypeDefaultDescription
titlestring–What the agent was asked to do
steps{ id: string; text: string; detail?: string }[]–Controlled steps. detail shows as a chip, e.g. the tool a step will call
defaultStepsPlanStep[]–Starting steps when uncontrolled
onStepsChange(steps: PlanStep[]) => void–Called after an edit, removal, move or new step
status"draft" | "approved" | "changes-requested"–Controlled status. Approved and changes-requested lock the list
onApprove(steps: PlanStep[]) => void–Called with the final steps by Approve & run
onRequestChanges(feedback: string) => void–Called with free-text feedback. Leave out to hide Ask for changes
autoPlaybooleanfalseLoop a scripted review: edit a step, drop one, approve. Stops on the first click
classNamestring–Extra classes on the card

Related

All components

Chat inputNew

Task checklistNew

Free

ReasoningNew

Sign in to see the code

Preview it freely. A free account copies code and prompts a few times a day.

Sign in