The change touches 15 files and you do not want to find out what Claude thinks the approach is by watching the diffs scroll past. Plan mode is the answer: Claude reads, searches and asks, writes a plan, and edits nothing until you say yes. On a change you cannot easily reverse, or a codebase you do not know, it is the mode to start in.
This post covers the 3 ways into plan mode, what Claude can and cannot do in it, the approval prompt and what each option switches you into, editing the plan before it runs, and making it the default. The keys, flags and behaviour are from the current docs, linked at the end.
Enter Plan Mode
Shift+Tab cycle the permission mode until the status bar says plan mode on /plan refactor the auth module switch to plan mode and plan this task claude --permission-mode plan start the session in plan mode
Shift+Tab cycles Manual, then accept edits, then plan, and back. If the session is in auto mode, which is the starting mode for terminal sessions from version 2.1.283, the first press goes to Manual. Press it again at any point to leave plan mode without approving anything. On Windows, if Shift+Tab does nothing in your terminal, the docs give Alt+M as the alternative.
What Claude Does While Planning
It reads files, greps, and runs commands to explore. It does not edit your source; the Write and Edit tools are blocked until the plan is approved. Shell commands during planning depend on the session: with auto mode available, which is the default, a classifier reviews each command and runs the ones it approves; without it, anything outside the built-in read-only set prompts you. Either way the research tends to be delegated to the built-in Plan subagent, which keeps the exploration out of your context. The subagents post has more on that.
The plan is written to a file under ~\.claude\plans\, and Claude presents it in the conversation when it is ready.
Approve, Edit, or Send It Back
When the plan is ready, Claude asks how to proceed, and the option you pick is also the permission mode the session continues in:
- Yes, and use auto mode: approve and carry on with the classifier reviewing actions instead of you. If auto mode is not available this reads Yes, auto-accept edits.
- Yes, manually approve edits: approve, and review each edit as it comes.
- No, keep planning: stay in plan mode and tell Claude what to change.
Before you choose, Ctrl+G opens the plan in your default text editor. Edit it, save, and Claude proceeds from your version. That is often the fastest way to fix a plan that is 80% right: delete the step you do not want rather than explain why.
Approving also titles the session from the plan, unless you named it already, which makes it easy to find later with claude --resume. The sessions post covers resuming.
Make It the Default
For a project where every session should start by planning, set the default mode in the project settings:
{
"permissions": {
"defaultMode": "plan"
}
}
That goes in .claude\settings.json for the team or .claude\settings.local.json for you. The VS Code extension does not read project settings for the starting mode; there, set claudeCode.initialPermissionMode to plan in VS Code’s own user settings.
A resumed session that ended in plan mode comes back in plan mode, from the terminal and from the picker, so a plan you were still refining yesterday is where you left it.
Other Considerations
Plan mode is a permission mode, not a prompt. It sits beside Manual, accept edits and auto, and the permissions post covers the full set and how to set one at startup.
A plan is not a checkpoint. Once approved, edits happen as normal and the undo for them is the rewind menu, Esc twice on an empty prompt. Rewind Claude Code Edits With Checkpoints covers it. For a plan you want to keep and also try another way, /branch before approving.
The plan file survives. Plans sit in ~\.claude\plans\; if the approach was good, the Markdown is there to copy into the repo’s docs or into a skill.
Put it in CLAUDE.md for the risky folders. The docs’ own example is a 1-line instruction: “Use plan mode for changes under src/billing/“. It is guidance rather than enforcement, but it makes Claude ask. CLAUDE.md is the file.
Frequently Asked Questions
Does plan mode stop Claude running commands?
It stops edits to your files. Read-only commands run; other commands are reviewed by the classifier when auto mode is available, or prompt you when it is not.
How do I leave plan mode without approving?
Press Shift+Tab to cycle to another mode. The plan stays in the conversation; nothing has been changed.
Can I use plan mode in claude -p?
Yes, the docs say --permission-mode plan works with -p. Edits stay blocked because nobody is there to approve a plan, so use it for a read-only analysis run.
What happens if I pick the wrong approval option?
The option sets the permission mode for the rest of the session, and Shift+Tab changes it again at any time. Picking manual approval when you meant auto costs you a few prompts, nothing more.
Where is the plan saved?
Under ~\.claude\plans\ by default, or the plansDirectory setting if you change it.
Related
- Claude Code on Windows: The Complete Guide
- Install Claude Code on Windows, Native and in WSL
- Claude Code Permissions: Allow and Deny Rules in settings.json
- Claude Code Subagents: Keep the Noise Out of Your Main Session
- Rewind Claude Code Edits With Checkpoints
- Resume a Claude Code Session With –continue and –resume
- CLAUDE.md: Project Memory for Claude Code
- Claude Code docs: permission modes, including plan mode
- Claude Code docs: interactive mode and keyboard shortcuts
If SQL Server is part of your day job, my current work lives over at sqldba.blog: production DBA scripts, an error library and the SSMS guide.
Leave a Reply