Auto Mode
In auto mode, a second model (the classifier) reviews actions instead of you. It blocks what looks risky and lets routine work run without prompts.
It is useful when you trust the direction of the task but do not want to approve every ordinary command.
You may already be in it
Section titled “You may already be in it”On Pro, Max, and Team plans, auto mode is the built-in starting permission mode for interactive sessions. This requires v2.1.228 or later on macOS, Linux, and WSL, and v2.1.233 or later on native Windows. On earlier versions the default is Manual.
Sessions on an Enterprise plan or a Claude Console API key start in Manual. So does every claude -p run, on every plan, so pass the mode yourself:
claude --permission-mode auto -p "fix all lint errors"When to use it
Section titled “When to use it”- Fixing lint or formatting issues.
- Running repetitive local checks.
- Applying low-risk mechanical changes.
- Long-running work where frequent approvals would stall progress.
When not to use it
Section titled “When not to use it”- Production infrastructure changes.
- Secret handling.
- Database migrations.
- Broad filesystem operations.
- Work where every action deserves review.
How it interacts with your rules
Section titled “How it interacts with your rules”Auto mode is not a replacement for permissions. Deny rules still block, and ask rules still force a prompt. Keep explicit denies for secrets and destructive paths.
Broad allow rules that grant arbitrary code execution are dropped while auto mode is on. Narrow ones such as Bash(npm test) stay in effect.
When the classifier keeps blocking
Section titled “When the classifier keeps blocking”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 you.
A -p run has no prompt to fall back to. The blocked action does not run and Claude keeps working. For scheduled or unattended jobs, add --permission-prompts none (v2.1.259 or later) so Claude is told nobody can approve and does not retry:
claude -p "Update the dependency pins and run the tests" \ --permission-mode auto --permission-prompts none