Guide · Claude Code

Claude Code Permission Modes: How to Turn Manual Mode Off, and What Auto, Plan, and Bypass Do

Last updated: AI-generated

How to switch manual mode off or back on in Claude Code, what Accept Edits, Plan, Auto, Don't Ask, and Bypass actually allow, and where to set the starting mode for good.

Short version: Manual mode is the mode where Claude Code asks before almost every action. You switch it in a running session with Shift+Tab, at startup with claude --permission-mode <mode>, and permanently with permissions.defaultMode in a settings file. “Turning it off” always means picking a different mode.

The modes at a glance

Claude Code has six permission modes. The mode sets what runs without a prompt. On top of that you layer permission rules (/permissions) that allow or deny individual tools.

ModeConfig valueRuns without askingBest for
Manualdefault (alias manual)Reads inside the working directory; everything else promptsReviewing every action yourself
Accept EditsacceptEditsReads, file edits, and file commands like mkdir, mv, cp, rm, sed inside the working directoryIterating on code, reading the diff afterwards
PlanplanReads and read-only commands onlyExploring a codebase before changing it
AutoautoEverything, with a second model (the classifier) reviewing each action in the backgroundLong tasks, fewer prompts
Don’t AskdontAskOnly pre-approved tools; everything else is deniedCI and scripts with a fixed allowlist
BypassbypassPermissionsEverything, no checksIsolated containers and VMs only

Since version 2.1.200 the old “Default” mode is labeled Manual everywhere: in the CLI, in claude --help, in VS Code, JetBrains, and the desktop app. The config value is still default.

Turning manual mode off

There are three ways, depending on how long the change should last.

In the running session

Press Shift+Tab. Claude Code cycles through the modes: defaultacceptEditsplan → back to default. The status bar shows the active mode, for example ⏸ manual mode on or ⏵⏵ accept edits on.

Two modes only appear in the cycle under certain conditions: auto, when auto mode is available to your session, and bypassPermissions, when you started the session with --allow-dangerously-skip-permissions or directly in bypass mode. Both slot in after plan. You never reach dontAsk via Shift+Tab, only via the startup flag.

Since version 2.1.247 there is a shortcut: on a Bash permission prompt in Manual or Accept Edits, Claude Code offers Yes, and switch to auto mode when auto mode is available.

In VS Code, click the mode indicator below the prompt box instead (labels: Manual, Edit automatically, Plan, Auto, Bypass permissions). The desktop app has a mode selector next to the send button; the choice is remembered per folder.

When starting a session

claude --permission-mode acceptEdits
claude --permission-mode plan
claude --permission-mode auto

Valid values: default, manual, acceptEdits, plan, auto, dontAsk, bypassPermissions. The flag also works with -p for non-interactive runs. claude --dangerously-skip-permissions is the same as --permission-mode bypassPermissions.

Permanently in settings

Set permissions.defaultMode in the settings file that matches the scope you want:

{
  "permissions": {
    "defaultMode": "acceptEdits"
  }
}
ScopeFile
Every session on this machine~/.claude/settings.json
Every session in one project.claude/settings.json in the project
Only you, only this project.claude/settings.local.json
Whole organizationManaged settings

One catch: auto and bypassPermissions do not take effect from project or local settings. For those two values you need user settings, managed settings, or the startup flag. The VS Code extension never reads project settings for the starting mode; there you set claudeCode.initialPermissionMode in your VS Code settings.

Turning manual mode back on

Same path in reverse. In the session, press Shift+Tab until the status bar reads ⏸ manual mode on. From auto, the first press already lands on default. At startup, claude --permission-mode default; permanently:

{
  "permissions": {
    "defaultMode": "default"
  }
}

Which mode a session starts in

Claude Code takes the first match from this list:

  1. The --permission-mode flag, or --dangerously-skip-permissions
  2. permissions.defaultMode from a settings file
  3. The built-in default

The built-in default depends on your plan. On Pro, Max, and Team, Claude Code starts in auto mode since version 2.1.228 (Windows: 2.1.233). Enterprise plans, Console API keys, claude -p, the Agent SDK, and Bedrock, Vertex, and Foundry start in Manual. If you are on Pro, Max, or Team and have set a different defaultMode, Claude Code asks once whether to switch to auto; decline and your setting stays.

If auto is selected but not available to the session (unsupported model, disabled via settings), the session starts in Manual instead.

Fewer prompts without leaving manual mode

If it’s not the mode that bothers you but the same questions over and over, three levers keep manual mode and still cut the prompts:

  • Allow rules. Via /permissions or permissions.allow in settings you pre-approve individual tools or command patterns, for example Bash(git log *) or Read. Rules apply in every mode.
  • “Yes, and don’t ask again” on the prompt. For Bash commands Claude Code stores the approval per project and command.
  • The Bash sandbox in auto-allow mode. Run /sandbox and pick auto-allow. Commands inside the sandbox then run without a prompt because they can’t reach the system. Available on macOS, Linux, and WSL2.

Auto, Don’t Ask, and Bypass: the limits

Auto mode replaces your review with a second model. It can block actions, and in some situations it falls back to Manual. Ask rules and hooks still show you their prompts.

Don’t Ask never prompts; it denies anything not explicitly allowed. Typical for CI:

claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"

Bypass skips every check, including writes to protected paths like .git and .claude. Anthropic recommends it only in isolated environments, meaning containers or VMs where Claude Code can’t cause damage.

A few things are never auto-approved in any mode: tools matched by an explicit ask rule, the AskUserQuestion tool, MCP tools marked requiresUserInteraction, and rm or rmdir targeting critical paths.

For admins: locking modes

In any settings file, ideally managed settings because they can’t be overridden:

{
  "permissions": {
    "disableBypassPermissionsMode": "disable",
    "disableAutoMode": "disable"
  }
}

This removes Bypass or Auto from the cycle and from the selectors. Setting disableBypassPermissionsMode in your own user settings locks you out of bypass mode yourself.

Changes

  • 2026-09-11: First version, checked against the docs as of September 11, 2026.

Sources