Workflow Patternshigh

Plan Mode (Read-Only Planning)

Plan mode is a Claude Code permission mode where the agent can read but not write. Used for designing changes before executing — the agent investigates, proposes a plan, then exits plan mode to execute.

Memory anchor

Plan mode is the architect's drafting table — sketch first, then build. The job site (execute mode) doesn't allow erasers; the drafting table does.

Expected depth

Activation: /plan or settings.json default. While active, Edit/Write/Bash (write-side) are denied. The agent can Read, Grep, Glob, ask questions. The Plan agent type (subagent) is also read-only. Workflow: enter plan mode → describe the task → agent investigates and proposes a numbered plan → user approves or edits → agent calls ExitPlanMode → executes. Plan mode is the safety net for complex changes — separates 'figure out what to do' from 'do it.'

Deep — senior internals

Plan mode is enforced by the harness via permission denials, not by the model — even if the model tries to edit, the call is blocked. ExitPlanMode is a tool the model invokes when ready to execute; it requires the plan as a parameter, which gets shown to the user. After exit, the agent runs in normal mode. The Plan subagent type is for delegated planning — spawn it when you want a self-contained plan without execution. Best for migrations, refactors, anything where the cost of wrong execution exceeds the cost of a planning round-trip.

🎤Interview-ready answer

Plan mode is a read-only permission state in Claude Code where the agent can investigate but not modify. The flow is: enter plan mode → describe the task → agent reads code, asks questions, and proposes a numbered plan → I approve or edit → agent calls ExitPlanMode → executes. It's enforcement at the harness level, so the model can't bypass it. I use plan mode for any non-trivial change — refactors, migrations, anything where bad execution is costly. The cost is one extra round-trip, the win is avoiding wrong-direction edits.

Common trap

Treating plan mode as overhead for simple tasks. A one-line bug fix doesn't need a plan; a multi-file refactor does. Calibrate by the blast radius of being wrong.

Related concepts