Why plan mode
Jumping straight into complex work risks:
- Going far in the wrong direction before you can stop it
- Hiding the change scope from you until after the fact
- Magnifying losses when an assumption is wrong
Plan mode is the gate before any code change — it shows you the plan, you approve, then it runs. Slightly slower upfront, much higher success rate on complex work.
Toggle
| Action | Shortcut |
|---|---|
| Enter plan mode | Shift+Tab |
| Exit plan mode | Shift+Tab again |
A mode indicator shows up in the input area when active.
What a good plan contains
Claude’s plan typically includes:
- Context — why the change is needed
- Files to modify — exact paths
- What changes per file — function or section level
- Assumptions — what state/environment is assumed
- Verification — build, tests, manual checks
If a section is empty, ask Claude to fill it. If an assumption is wrong, correct it and ask for a revised plan.
When to use it
| Good fit | Skip it |
|---|---|
| New feature (3+ files) | Single typo fix |
| Refactor | Single-file rename |
| DB migration | Adding a console.log |
| Dependency change | Comment edits |
| API signature change | Obvious bug fixed in seconds |
What to review
- Missing files — affected files Claude didn’t catch
- Wrong assumptions — “assumes X exists” — does it?
- Irreversibility cost — migrations, deletions, data changes
- Test plan — how the change will be verified after the fact
Mid-execution adjustments
When mid-execution requires deviating from the plan, Claude should stop and report. From there, re-enter plan mode for a revised plan, then resume.
Pairs with
- CLAUDE.md — “Use plan mode for complex changes” as a rule encourages Claude to suggest it.
- Superpowers —
/write-plan,/execute-planslash commands save plans as files for larger work. - claude-mem — preserve plans and progress across sessions.
Common misconceptions
- “Plan mode means no edits at all” — correct, no file edits until approval. Reads and searches still happen.
- “Approval guarantees execution exactly as planned” — usually yes, but Claude stops if it hits an issue.
- “Plan mode is always better” — for trivial work it’s overhead. Use it when impact is broad.
Next steps
- Superpowers — automate the plan-mode workflow with slash commands
- claude-mem — preserve plans and progress across sessions
- Writing a Great CLAUDE.md — encode plan-mode rules in CLAUDE.md
Frequently Asked Questions
What is plan mode?
A mode where Claude proposes a plan before touching code and waits for your approval. It prevents going far in the wrong direction on complex or high-impact work.
How do I enter it?
Press Shift+Tab in the Claude Code input box to toggle plan mode on/off. A mode indicator appears in the input area.
When should I use it?
Use it for multi-file refactors, new feature implementation, DB migrations, or dependency changes — anything with broad impact. Skip it for trivial fixes where the planning overhead outweighs the benefit.
How should I review the plan?
Check the change scope (which files/functions), the assumptions, the irreversible risks, and the verification steps. If a scenario is missing, ask for a revised plan with that scenario covered.
What if execution diverges from the plan?
Claude should stop and report it. When mid-stream replanning is needed, return to plan mode, get a revised plan, then resume.