Claude Code plan mode has Claude research your code and propose a plan, with your source untouched until you approve it, while auto mode lets Claude run and has a separate classifier review its actions before they happen. They aren't rivals, because they stack: plan first, approve with "Yes, and use auto mode", and the work then runs under the classifier.
So the choice isn't really one or the other. It comes down to two questions: do you want to check the thinking before anything changes, and do you want to sit answering prompts while the work happens? Everything below is as of Nov 2026, so give version numbers and model lists a second look if you're reading this later. New to the tool altogether? Start with the beginner's walkthrough of Claude Code and come back.
Plan mode and auto mode side by side
| Plan mode | Auto mode | |
|---|---|---|
| What Claude does | Reads files, runs shell commands to explore, writes a plan | Carries out the task, with each action reviewed before it runs |
| Your source code | No edits until you approve the plan | Changes as the task runs |
| Who's checking | You, by reading the plan | A separate classifier model, plus you if an ask rule or the fallback kicks in |
| What it blocks | Edits, until you've approved | Actions that go beyond your request, target infrastructure it doesn't recognise, or look driven by hostile content Claude read |
| How to get there | Shift+Tab, /plan on one prompt, or claude --permission-mode plan | Shift+Tab cycle, or the built-in starting mode on v2.1.283 or later |
| Good fit | Big or unfamiliar changes | Long tasks where you trust the direction |
How to enter plan mode and approve a plan
- Get into plan mode. Press Shift+Tab until the status bar shows "plan mode on". From auto, the first press takes you to Manual, the next to acceptEdits, then plan. Anthropic's permission modes documentation gives two other routes: prefix a single prompt with
/plan(it sits alongside the other slash commands), or start the session withclaude --permission-mode plan. - Describe the change you want. Claude reads the files it needs, runs shell commands to explore and writes up a plan.
- Read it, and edit it if you like. Ctrl+G opens the proposed plan in your default text editor, so you can change it before Claude goes any further. Don't skip this one: it's the whole point of the mode.
- Pick one of the three options. "Yes, and use auto mode", "Yes, manually approve edits" or "No, keep planning". If auto mode isn't available to you, the first option reads "Yes, auto-accept edits" instead.
- Let it run in the mode you chose. Approving takes you out of plan mode and into whichever mode that option names.
- Go back when you need to. Shift+Tab or
/planstarts planning again. Changed your mind before approving? Press Shift+Tab to leave without approving anything.
The catches people miss
Plan mode still runs commands
Your source stays put, but Claude isn't only reading. With auto mode available and useAutoModeDuringPlan on, which is the default, the classifier reviews shell commands other than critical-path removals rather than prompting you. So you can sit in plan mode and see commands go through with no prompt at all. With auto unavailable or that setting off, anything outside the built-in read-only set prompts you. The docs also carve out one exception to the edit block: interactive terminal sessions with bypass permissions available.
Auto mode can hand the prompts back to you
If the classifier blocks an action 3 times in a row, or 20 times in total, auto mode pauses and Claude Code goes back to prompting. Approve the prompted action and auto resumes. If you've walked away from a long task, this is why you can return to find it waiting on you. A run of blocks is a signal worth reading, so check what's being stopped before you wave it through.
Setting auto as your default in the project file does nothing
Put defaultMode set to auto in .claude/settings.json or .claude/settings.local.json and the session starts in Manual, with no error to tell you why. It has to go in ~/.claude/settings.json. The same goes for bypassPermissions. Project settings honour every other value, so setting plan there works fine, which makes the auto failure easy to misread.
Auto mode isn't a safety guarantee
Anthropic's own advice is to use it where you trust the general direction, and not as a replacement for review on sensitive operations. Two details back that up. Auto nudges Claude to keep working rather than stop for clarifying questions, so a wrong assumption can travel further before you see it. And the classifier doesn't review recognised rm or rmdir critical-path removals, such as rm -rf /, by default.
What does hold everywhere is a deny rule: those block in every mode, bypassPermissions included. Explicit ask rules also still force a prompt in auto. If there's something Claude must never do, write it down as a rule rather than trusting a mode, and look at Claude Code hooks for the checks you want to run on your own terms.
Where the other modes fit
Plan and auto are two of six config values, and the other four are easy to mix up:
- default: shown as Manual in the CLI,
claude --help, VS Code, JetBrains and desktop. Only reads run without asking. - acceptEdits: reads, file edits and common filesystem commands such as mkdir, touch, mv and cp.
- dontAsk: pre-approved tools only, and anything that would prompt gets denied. It suits locked-down CI, and it never appears in the Shift+Tab cycle, so you set it with
--permission-mode dontAsk. - bypassPermissions: everything runs. Keep it to isolated containers and VMs.
My verdict
I'd use plan mode for anything big, unfamiliar or awkward to undo, because reading a plan is quick and untangling a wrong turn isn't. I'd use auto for long tasks where the direction's already clear, because answering prompts all afternoon defeats the point of handing the work over.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
For most real work I'd do both: plan, fix the plan with Ctrl+G, then approve into auto. That gives you a human check on the thinking and the classifier on the doing. I'd skip auto as the only check on anything sensitive, and that's Anthropic's position too, not just mine. For the habits around all this, these Claude Code best practices are the next read.
Frequently asked questions
Can you use plan mode and auto mode together?
Yes, and it's the most useful way to run them. Start in plan mode, review the plan, then choose "Yes, and use auto mode" when you approve. Claude Code leaves plan mode and carries out the work in auto.
Can I make plan mode the default in Claude Code?
Yes. In the terminal, set defaultMode to plan in .claude/settings.json. The VS Code extension ignores project settings for this, so set claudeCode.initialPermissionMode to plan in your VS Code user settings. That setting doesn't accept auto.
Is auto mode on by default?
On Claude Code v2.1.283 or later, it's the built-in starting mode for interactive terminal and VS Code sessions on every plan and provider. On earlier versions that's only the case on Pro, Max, Ultra and Team. Under a HIPAA configuration, sessions start in Manual, though you can still switch to auto with Shift+Tab.
Can an admin turn auto mode off?
Yes. It's available by default on Team and Enterprise, and admins can turn it off by setting permissions.disableAutoMode to "disable" in managed settings.
Which models work with auto mode?
On the Anthropic API: Opus 4.6 or later, Sonnet 4.6 or later, Haiku 5.5 or a Fable model. On Bedrock, Google Cloud Agent Platform and Foundry: only Sonnet 5 or later, Opus 4.7 or later, Haiku 5.5 and Fable. Older models such as Sonnet 4.5, Opus 4.5, Haiku 4.5 and claude-3 aren't supported.
Does auto mode work in non-interactive runs?
Yes, if you ask for it: claude -p with --permission-mode auto starts in auto. With no mode set, claude -p and Agent SDK runs on Bedrock, Agent Platform or Foundry start in Manual.
