Iterating
Building an app is a conversation, not a single command. You describe an initial version, see it run, then refine it with follow-up prompts until it's right. Each turn builds on the last, and you stay in control: steer the agent when it drifts, queue up what's next, or stop a run and head a different direction.
Refining Across Turns
After the agent builds, the best next step is usually to try it then send one focused change at a time. Small, specific follow-ups are easy for the agent to get right and easy for you to check.
Each follow-up builds on everything so far, so you can speak naturally about the app you already have:
- "Make the header sticky."
- "Add a setting to change the accent color."
- "The list feels cramped. Add more spacing between rows."
You don't need to restate the whole app each time. Reach for Plan mode when a follow-up is large or structural, and keep it in Build mode for quick tweaks.
Provide Feedback
When something isn't right, say what's wrong and what you want instead, as concretely as you can. The agent works from what you tell it, so the more specific your feedback, the better the fix. For instance, "The Save button is too far from the form. Move it directly below the last field" gives the agent far more to act on than "the layout is off."
When a change is about a particular part of your running app, you can also point at it directly with the Annotate tool instead of describing where it is.
Steering or Queuing While the Agent Works
You don't have to wait for the agent to finish a turn before sending your next message. While the agent is running, what your send key does depends on the Follow-up Behavior setting:
- Queue: Your message waits and runs after the current turn finishes. Queued messages collect above the composer under a count; hover one to Send now or remove it from the queue.
- Steer: Your message interrupts the current turn and redirects the agent right away, so you can course-correct the moment you notice something heading the wrong way.
The tooltip on the send button tells you which the key will do, and shows the shortcut for the other one, so you can queue with one key and steer with another. Choose your default under Follow-up Behavior in Settings.
Queue when you're lining up the next step and the current one is best for most cases. Steer when the agent is going the wrong way and you want to stop it sooner rather than let it finish.
Cancelling a Run
To stop the agent mid-run, click in the composer (it replaces the Send button while the agent is running and the composer is empty). The current turn ends, and you can send a new prompt to try a different direction.
Cancelling doesn't undo work the agent already finished. If a run left your app in a worse state, roll back to an earlier version. See Version History.
Keep Iterating, or Start Fresh
Most of the time, keep iterating; the agent handles a long back-and-forth well, and your history is there to roll back to. Consider a fresh start when:
- A change broke something and the simplest fix is to roll back to the last good version and re-prompt.
- The conversation has drifted far from where you want to be. Type
/clearto clear the chat history and start the conversation over (your app itself stays as it is). - You've been correcting the same misunderstanding repeatedly. Re-state the goal from scratch, more concretely, rather than patching turn by turn.
For diagnosing when the agent has misread your intent, see When the Agent Gets It Wrong.