Skip to content

Commit 81f98cc

Browse files
committed
docs(agent): document plan mode and Shift+Tab toggle
Signed-off-by: Huang Rui <vowstar@gmail.com>
1 parent 2a0aa94 commit 81f98cc

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

doc/en/agent.typ

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,11 @@ The following commands are available during an interactive session:
283283
stays on disk so the next `/ssh <same target>` or next startup can
284284
auto-reuse it.],
285285
[`/model [id]`], [Show or switch the active model],
286+
[`/plan [on|off]`],
287+
[Toggle read-only plan mode (or press *Shift+Tab*). While on, the agent
288+
may only explore and ask questions until it calls `exit_plan_mode` and
289+
you approve a plan. Bare `/plan` toggles. The model can also enter plan
290+
mode itself.],
286291
[`/project <path>`],
287292
[Switch project root (reloads config, starts a new session)],
288293
[`/rename <title>`], [Set session title for the resume picker],
@@ -315,6 +320,27 @@ Press `/` to open a locate prompt: type a path and Enter jumps to the
315320
deepest existing directory along it, so deep targets need no click-by-
316321
click descent. A leading `~` expands to the home directory.
317322

323+
=== Plan Mode
324+
<agent-plan-mode>
325+
326+
Plan mode is a read-only brake for non-trivial or hard-to-undo work
327+
(RTL edits, remote synthesis runs). Toggle it with *Shift+Tab* or
328+
`/plan on|off`, or let the model enter it itself with the
329+
`enter_plan_mode` tool. While active
330+
the agent may only take read-only actions: read files, search, query
331+
LSP, run read-only shell, and spawn read-only sub-agents. File writes,
332+
mutating shell, commits, and config changes are rejected, and the status
333+
line shows a `⏸ PLAN` chip.
334+
335+
Shell commands are not gated by a fixed allowlist; each one is judged by
336+
a separate LLM safety classifier and blocked (with a reason) if it could
337+
change state. The agent explores, clarifies with `ask_user` across as
338+
many rounds as needed, then calls `exit_plan_mode` to present a plan. You
339+
approve it or keep planning. On approval the agent leaves plan mode, the
340+
plan is saved to `<project>/.qsoc/plans/<session>.md`, and a budget-capped
341+
copy rides every subsequent turn so the executing agent keeps following
342+
it across context compaction. A newer approved plan replaces the old one.
343+
318344
== KEYBOARD AND INPUT
319345
<agent-keyboard>
320346
Editing and navigation in the prompt:

0 commit comments

Comments
 (0)