Planner & compose

The central agent compose surface. Type a task, see a live cost estimate, choose a mode, send.

The compose box

The big textarea in the Ask tab. Type any task — natural language. The composer supports:

  • @-mentions — see @-mentions. Pull files, symbols, folders, git diff, error context, or specific code ranges into the prompt.
  • Plain markdown — backticks for code, lists, headers. The agent receives them verbatim.
  • Multi-lineShift+Enter for newline, Enter to send.

Three submit modes

Three buttons under the composer:

  • Plan only — agent runs in mode: "plan". Returns reasoning, no diffs. Useful as a sanity check before spending budget on real edits.
  • Draft explanationmode: "draft". Returns explanatory text only. Useful for documentation generation.
  • Stage diff — full run. Agent generates code changes that go to the Changes panel for review.

Cost preview

To the right of the buttons, a live estimate updates as you type:

~$0.0017  in: 412 → out: 280   session: $0.18 / $5.00

Three numbers: estimated cost for this task, your session-to-date spend, and your daily cap. When you exceed the cap, the estimate goes red and submit is disabled.

The estimate is a POST /api/budget/estimate call — no model tokens spent.

Targeting

When a file in the editor has its Target file flag set, the planner shows a chip:

> Targeting: services/auth.py

The agent will scope its work to that file by default. Click the chip's × to clear targeting.

Cancel a run

While a run is live, the Send button becomes a Stop button. Click to cancel. Esc does the same. The agent receives a cancellation signal and stops at the next checkpoint; budget is freed.

Plan vs Draft vs Stage diff

ModeWhat you getCost
Plan onlyStep-by-step approach, no codeLowest
Draft explanationHuman-readable explanationLow
Stage diffActual hunks ready to applyFull
When you're not sure what the agent will do, run Plan only first. The plan is cheap and tells you whether to proceed.