A while back I wrote about skipping permissions in Claude Code and landed on acceptEdits as the sane middle ground between the out-of-the-box default, where Claude asks before every single thing it does, and turning permissions off entirely with the scary --dangerously-skip-permissions flag. These days I’ve moved one step further along that spectrum, to auto mode, and honestly it’s what I run almost all the time now. Fewer prompts than acceptEdits, plus something the skip flag never had: eyes on what Claude is actually doing. It matters more now than it would have a year ago, too - Claude can run on its own for much longer stretches than it used to, and the longer the run, the more each permission prompt costs you, because the whole thing sits stalled until you come back to click yes.
HOW AUTO MODE WORKS
Auto mode lets Claude work without stopping to ask you to approve routine stuff, the same friction acceptEdits was solving, except it goes further and stops asking about terminal commands too. The difference from just skipping permissions entirely is that every action Claude takes gets run past a safety check first - a separate classifier - and only the risky stuff gets blocked.
WHAT’S A CLASSIFIER A second AI model running in the background whose only job is to look at what Claude is about to do and decide if it’s safe. It sees your request and the action, blocks anything that looks dangerous or aimed outside your project, and waves through the routine stuff.
So instead of you being the checkpoint on every command, the classifier is, and that’s where the time actually comes back, as most prompts are things like starting the dev server or installing a package - stuff you’ve approved a hundred times without really reading it. Anthropic’s own numbers back this up: people approve 93% of permission prompts anyway. The thing that eats your afternoon isn’t any single prompt so much as the waiting - either you’re sitting there just to click approve, or you stepped away and the run stalled on a question two minutes after you left. Auto mode takes that off your plate: it stops asking permission for routine work and nudges Claude to keep moving instead of pausing to check in, so you can kick off a longer task and actually walk away.
WHAT AUTO MODE BLOCKS (AND WHAT IT LETS THROUGH)
This is the part that makes auto mode different from the skip flag. By default the classifier blocks the stuff you’d actually want it to block, like force-pushing, pushing straight to main, deploying to production, running curl | bash (downloading code off the internet and immediately running it), deleting a pile of files that existed before the session started, or sending your secrets off to some external server.
Everything else just happens, no prompt. Editing the files in your project, installing a package your project already uses, pushing work to the branch you’re on, reading your .env file (where your API keys live) because it needs one of them to do the job you asked for - none of that interrupts you, because none of it breaks something you can’t undo, and it rarely blocks the harmless stuff by mistake either (0.4% of the time, in Anthropic’s testing).
SETTING BOUNDARIES IN PLAIN ENGLISH
One nice touch is you can set boundaries in plain English mid-conversation. If you say “don’t push anything until I look at it,” the classifier holds Claude to that, even on a push it would normally allow, and the boundary stays in force until you lift it. That said, the boundary lives in the conversation itself, so if a long chat gets compacted down it can get lost along with the message that set it - for something you absolutely never want to happen, a hooks rule is sturdier.
HOW TO TURN ON AUTO MODE (AND MAKE IT YOUR DEFAULT)
You switch to it with the keyboard rather than asking Claude in chat - press Shift+Tab to cycle through the modes and auto mode shows up at the end of the cycle, with a one-time opt-in prompt explaining what it is the first time you land on it (you’ll need Claude Code 2.1.83 or newer and a recent model, meaning Opus 4.6+ or Sonnet 4.6).
That switch only lasts for the session you’re in though - open a new one and you’re back to whatever your default is. If you want auto mode every time without thinking about it, add this to ~/.claude/settings.json:
{
"permissions": {
"defaultMode": "auto"
}
}
One quirk worth knowing: this only works in your personal settings file, which applies across all your projects. Putting it in a project’s .claude/settings.json won’t do anything - auto mode is a you-level decision, not a per-project one.
WHERE AUTO MODE FITS IN YOUR WORKFLOW
It isn’t totally free - the classifier costs a few tokens on every check, it’ll pause itself and go back to asking you if it blocks too many actions in a row (usually a sign it hit some service it doesn’t recognize), and it’s a safety net rather than a guarantee, so for something genuinely sensitive I’d still watch the run or set a hooks rule instead of walking away.
These days, though, auto mode is what I run on most things, especially long stretches of vibe coding where the prompts would otherwise pile up. acceptEdits is what I switch to when I want to collaborate more closely and weigh in on each step rather than let Claude run ahead, and the skip flag stays retired.