The 4 Modes in Claude Code
One shortcut, four gears — from “ask me everything” to “go and build it.” Which to use, when, and the bits people get wrong.
Most people use Claude Code in one mode the whole time — the default one, where it stops to ask permission for every single thing. There are four, and you flip between them by pressing Shift + Tab. Each one changes how much Claude asks versus how much it just gets on and does. Here's what each is for.
The Four Modes
Default
Ask before editsIt asks before it does anything — every edit, every command. Nothing happens without your say-so.
Use it: When you're new to it, or working on something sensitive you want to watch closely. It's the mode every session starts in.
The trade
Safest, but slowest. If you're approving the same kind of thing over and over, that's your sign to move up a gear.
Accept edits
Edit automaticallyIt stops asking before file edits — and a handful of safe file commands like making folders or moving files — and just makes the changes.
Use it: When you're iterating on code and happy to review everything after in one go (in the git diff, say) rather than approving each change inline.
The honest bit
It does NOT say yes to everything. It still stops and asks before it installs a package, pushes to GitHub, or goes on the internet — and it won't touch protected files (.git, .claude) without asking.
Plan mode
Plan modeRead-only. It can't edit, create, or run anything that changes your files — it reads, explores, and hands you a plan first. Approve the plan and it switches into a working mode and starts.
Use it: When you really want to plan out a bigger build, change or feature before it touches a thing.
Good to know
It doesn't lock you into the first plan — re-plan as many times as you like before approving. Shift+Tab again to leave plan mode without making any changes.
Auto
Auto modeIt does almost everything itself — but a separate safety AI reviews each action before it runs and blocks the genuinely dangerous stuff (piping the internet into your shell, force pushes, production deploys, mass deletions, hard resets).
Use it: Long, multi-step jobs you trust the direction on. This is where most of the time goes — the models are good enough now that if you spec it well up front, it delivers almost exactly what you asked for.
The honest bit
It's not no-guardrails — but it's not magic either. Needs a recent Claude Code and model. Don't point it at anything you genuinely can't undo. If the safety AI blocks the same move a few times, it pauses and hands back to you.
How to Tell Which Mode You're In
In VS Code: the mode indicator sits at the bottom of the prompt box — a little icon tells you where you are. Click it to switch.
In the terminal: the status line at the bottom shows the chevrons and the mode name (⏵ default, ⏵⏵ accept edits on, ⏵ plan mode, ⏵⏵ auto mode on).
What People Get Wrong
✗ The myth
Accept edits means it says yes to everything.
The truth
No — installs, git pushes and network requests still stop and ask. It only auto-approves edits and a few safe file commands.
✗ The myth
Auto mode is the same as having no guardrails.
The truth
No — a separate safety AI still reviews every action and blocks the risky ones. The no-guardrails mode is a different thing entirely (below).
✗ The myth
Plan mode commits you to the first plan it writes.
The truth
No — you can refine and re-plan as many times as you want before you approve anything.
The one you can't cycle to
Bypass permissions
There's a fifth setting that turns every safety check off — no prompts, no classifier, nothing. You can't reach it with Shift + Tab; you have to launch with a deliberate flag (--dangerously-skip-permissions). Only safe inside an isolated container or VM. On your normal machine, leave it well alone.
Four modes, one shortcut.
Plan a bigger build in plan mode, then live in auto for the long jobs — and put the time in up front telling it exactly what you want. Once you know which mode you're in, you stop fighting it.