The fastest way to lose an afternoon with an AI coding agent is to hand it a big, vague task and let it start editing immediately. It charges off, makes twenty changes based on an interpretation of your request that turns out to be subtly wrong, and now you're not reviewing code — you're doing forensics on a mess. Plan mode exists to prevent exactly this: it forces Claude Code to think and propose before it's allowed to touch anything.
What plan mode is
Plan mode puts Claude Code into a read-only posture. It can read your files and run shell commands to explore and understand the codebase, but it cannot edit files, create files, or run write operations until you approve a plan. Instead of jumping to changes, Claude researches the task and then presents you with a proposal: what it intends to change, which files it will touch, what commands it will run. Nothing happens to your working tree until you say go.
It's the difference between "start typing" and "here's what I'm going to do — okay?"
How to turn it on
There are a few ways in:
Shift+Tabduring a session cycles through the permission modes —default→acceptEdits→plan— and back. This is the quick, in-the-moment toggle.claude --permission-mode planstarts a session in plan mode from the command line.- Set it as your default in settings with
"defaultMode": "plan"underpermissions, if you want every session to start cautious.
The workflow
Plan mode structures work into four beats:
- Research. You give Claude the task. It reads files and runs read-only commands to understand the terrain. No edits happen. (Your normal permission rules still apply here — if you have an
askrule on reading.env, you'll still be prompted.) - Propose. Claude writes a plan — the strategy, the files, the steps — and pauses for your review.
- Approve. You choose how to proceed. You can approve and let it run with edits auto-accepted, approve but review each edit manually, or send it back to keep planning with more direction. You can also open the plan in your editor to tweak it directly before approving.
- Execute. Approving exits plan mode and switches the session into whichever execution mode you picked. Now the edits happen — against a plan you actually agreed to.
That approval step is the whole point: it's a deliberate gate between "the AI understood the task" and "the AI changed my code."
When it's worth it
Plan mode adds a step, so it's not for everything. It earns its keep when:
- You're working in an unfamiliar codebase and want to see the AI's understanding before it acts.
- The task is a large refactor where the strategy matters more than any single edit, and a wrong approach is expensive to unwind.
- The change carries real risk — touching migrations, auth, anything with side effects — and you want a review gate.
- Someone else needs to sign off on the approach before execution.
For a quick typo fix or a small, obvious change, plan mode is just friction — skip it. The rule of thumb: use it in proportion to how expensive being wrong would be.
How it fits with permissions
Plan mode is its own permission mode, not a filter layered on the others. While you're in it, the session is read-only and your existing allow/ask/deny rules still govern reads. When you approve a plan, you leave plan mode and enter the execution mode you chose (auto, accept-edits, or manual-review), and that mode governs from there. So think of plan mode as a distinct, front-loaded phase — research under a read-only lock — that ends the moment you approve.
A couple of gotchas worth knowing: pressing Shift+Tab again cycles you out of plan mode without approving, which stops Claude where it is — handy if the plan is going sideways and you want to redirect. And plan approval is a one-way trip for that turn: once you pick an execution path, you're in it; to plan again you cycle back into plan mode on a new turn.
The real value
The deeper reason plan mode matters is that it relocates the review to where review is cheap. Reviewing a plan — a paragraph of intended changes — takes thirty seconds and catches a wrong approach before a single line is written. Reviewing the diff of twenty already-made edits takes far longer and catches the wrong approach only after you've paid for it. Plan mode is a bet that the cheapest time to disagree with the AI is before it starts, and for anything nontrivial, that bet almost always pays.