Skip to content

Approvals in the terminal

Keys for tool, file-edit, plan and question approvals, and for stopping a run, in the terminal app.

Which calls ask, the safelist and interaction modes: tool approvals. Settings › Agent › Tool approvals is Ask by default.

Approve a tool call#

The approval block replaces the prompt. ↑ ↓ pick an answer, Enter confirms.

zidane
The agent wants to run the tests and waits for an answer.
AnswerDoes
accept onceRuns this call
accept for sessionRuns it, and every matching call until you quit
accept + rememberRuns it and adds a rule to the project's safelist
denyBlocks it. The agent sees that you refused.

For a chained command such as cd src && bun test, remember proposes one rule per command.

Approve a file edit#

edit, multi_edit and write_file show the diff first, side by side at 100 columns and wider. ← → or Tab move between buttons, Enter confirms.

zidane
An edit waiting for approval: the changed line in red and green.
KeyButton
AAllow
SAllow for session
PAlways allow (adds a rule to the safelist)
D or EscDeny

Apply some hunks#

An edit with several hunks lists them with checkboxes.

KeyDoes
↑ ↓ or K JMove between hunks
SpaceTick or untick a hunk
Y / NTick all / untick all
TabSwitch between the list and the buttons

Allow then reads Apply 2/3, or Apply all when every hunk is ticked. The agent learns which hunks you applied.

Answer a plan or a question#

These blocks also replace the prompt.

The agent callsYou
present_planApprove, revise with a note, or reject. On reject the agent reads your note and the run stops.
ask_user↑ ↓ or K J move, Space ticks an option, Enter answers

Esc leaves a question from an earlier run for later. Settings › Agent › Interaction mode decides whether the agent asks at all (interaction modes).

Stop and cancel#

KeyDoes
CtrlEscAbort the run and deny everything pending
CtrlKPick one running tool call or background task to cancel, or press A to cancel all. The run continues.

If your terminal cannot send Ctrl+Esc, rebind abortRun.

TopicHome
Guardrails, Sandbox and Run limits rows with defaultsSettings
The OS sandboxexecution contexts
Run limitserrors
zidane run --json, which never asksheadless and CI