Rio
adr/0103-plan-tool-in-every-mode.mdRaw Markdown · GitHub ↗

ADR-0103: The plan tool is offered in every mode

  • Status: Accepted
  • Date: 2026-09-11
  • Deciders: jka
  • Decision: D103

Context

In the first live test the maintainer asked, in plain words, for a plan while the pane was in Review. ADR-0101 withheld present_plan outside plan mode, so the model wrote a text file called plans/lorem_ipsum_plan.txt instead. The feature was never entered and the UI gave no hint why.

Decision

present_plan is available in every mode. Plan mode withholds only tools that change something. The tool's description tells the model when to use it: when the user asks, or before a large, ambiguous or hard-to-reverse change; not for a small obvious fix.

Approving a plan leaves plan mode, and emits agent.mode, only if the mode was plan. The approval result has two wordings accordingly.

Consequences

  • Asking for a plan works in any mode, matching the VS Code Claude extension.
  • Plan mode's guarantee is unchanged: it makes editing impossible until a plan is approved. Making a plan possible and making editing impossible are separate guarantees.
  • A plan presented outside plan mode is still gated and never auto-accepted.