Plan Mode — design without touching files
Plan Mode is the single feature that turns Claude Code into a safe collaborator on big changes.
What Plan Mode does
In Plan Mode, Claude cannot use any tool that mutates state. It can Read, Grep, Glob and think — but it cannot Edit, Write or run Bash that changes anything. The output is a plan you approve (or reject) in one keystroke.
Activating it
Press Shift+Tab until the mode indicator says "plan mode" (you'll cycle through default → plan → accept-edits → bypass).
Or launch directly:
claude --permission-mode plan
When to use it
- Any non-trivial refactor
- Architectural changes affecting multiple files
- Anything where "make a mistake" is expensive
- Onboarding to an unfamiliar codebase ("explain how X works")
A real example
plan> Refactor app/Services/PaymentService.php to extract Stripe-specific code into a StripeAdapter, behind a PaymentGateway interface.
Claude will:
- Read PaymentService and its callers
- Identify what's Stripe-specific vs generic
- Propose: new files to create, files to modify, methods to move
- Show the planned structure as a tree
- Ask: "Approve and execute? [y/n]"
You read it. If the plan is wrong, you correct it conversationally. If it's right, one keystroke executes.
The Opus → Sonnet handoff
Plan Mode shines with Opus (deeper reasoning) for the plan, then Sonnet (cheaper, fast) for execution:
/model opus
[Shift+Tab to plan mode]
> Refactor PaymentService to introduce a PaymentGateway interface...
(approve plan)
/model sonnet
[execute]
You pay Opus rates only for the planning step, Sonnet rates for the implementation.
Plan Mode pitfalls
- Don't approve plans you didn't read. Plans look authoritative; they can still miss things.
- Big plans degrade. A 30-step plan is harder for Claude to execute than three 10-step plans.
- Plan Mode can't catch all design issues. It can't run your tests; it doesn't know what'll fail at runtime.
Try it
Pick a refactor you've been putting off in your project. Open Plan Mode (with Opus if available). Don't approve the first plan — push back twice, refine it, then execute with Sonnet.