Claude Code Permissions and Modes

Claude Code has six permission modes (Manual, Accept edits, Plan, Auto, Don't ask and Bypass permissions), cycled with Shift+Tab; since v2.1.283 interactive sessions start in auto mode, and --dangerously-skip-permissions turns every check off and belongs only in a container or VM.

Claude Code decides what Claude may do without asking through permission rules (allow, ask and deny lists in settings) and a permission mode: default (shown as Manual), acceptEdits, plan, auto, dontAsk or bypassPermissions; press Shift+Tab to cycle modes, and since version 2.1.283 interactive terminal and VS Code sessions start in auto mode (Choose a permission mode, read Nov 6, 2026). --dangerously-skip-permissions is the same as bypass mode: it removes prompts and safety checks, and Anthropic recommends it only inside an isolated container or virtual machine.

Quick facts

Default start mode Auto (interactive terminal and VS Code, v2.1.283+); claude -p and the Agent SDK start in Manual
Cycle modes Shift+Tab: Manual, Accept edits, Plan, then Bypass and Auto when enabled
Rules permissions.allow, ask, deny in settings; /permissions lists them
Deny rules Hold in every mode, including bypass
Auto mode classifier Claude Sonnet 5 by default
Auto mode pauses After 3 blocks in a row or 20 in total
Bash sandbox Off by default; /sandbox; macOS, Linux and WSL2 only

Sources for the table: Choose a permission mode, Configure permissions and Configure the sandboxed Bash tool, Anthropic, read Nov 6, 2026.

The six permission modes

Mode What runs without asking Typical use
Manual (default) Reads inside the working folders and a built-in set of read-only commands Watching every step
Accept edits (acceptEdits) Also file edits and simple file commands (mkdir, touch, mv, cp) Reviewing diffs afterward
Plan (plan) Reads and exploring commands; no edits to source Agreeing on a plan first
Auto (auto) Everything, checked by a background classifier Everyday work (the default)
Don't ask (dontAsk) Only pre-approved tools; anything that would prompt is denied Locked-down CI
Bypass (bypassPermissions) Everything not covered by deny or ask rules Disposable containers and VMs only

Source: Choose a permission mode, read Nov 6, 2026. Some actions are never approved automatically in any mode: explicit ask rules, the AskUserQuestion tool, and removals of critical paths such as rm -rf / or rm -rf ~.

How do you switch modes?

In the terminal, Shift+Tab moves from Manual to Accept edits to Plan; Bypass and Auto join the end of the cycle when they are available. To start in a mode, use claude --permission-mode plan (or any other mode name), or set permissions.defaultMode in settings. In VS Code the mode picker reads Manual, Edit automatically, Plan, Auto and Bypass permissions; the desktop app has a selector under the prompt box. Cloud sessions at claude.ai/code offer Accept edits, Plan and Auto, but no bypass mode (Choose a permission mode, read Nov 6, 2026).

Plan mode

In plan mode Claude reads files and runs commands to explore, then writes a plan without touching your source. Enter it with Shift+Tab, /plan or claude --permission-mode plan. When the plan is ready you choose "Yes, and use auto mode", "Yes, manually approve edits" or "No, keep planning", and Ctrl+G opens the plan to edit it yourself (Choose a permission mode, read Nov 6, 2026). The opusplan model setting uses Opus in plan mode and Sonnet to carry the plan out.

Auto mode

In auto mode a separate classifier model reviews each action before it runs and blocks anything that goes beyond your request, reaches unfamiliar infrastructure, or looks driven by hostile text Claude read. Blocked by default: curl | bash style download-and-run, sending sensitive data out, production deploys and migrations, mass cloud deletion, granting access rights, force pushes, git reset --hard, terraform destroy, DNS changes and merging unapproved pull requests (Choose a permission mode, read Nov 6, 2026). After 3 blocks in a row or 20 in total it pauses and goes back to asking; blocked actions are listed under Recently blocked in /permissions.

Auto mode arrived as a research preview in late March 2026, reached Pro in May, became the default for new sessions on Pro, Max and Team from Aug 14, 2026, and the built-in start mode on every plan with v2.1.283 on Sep 25, 2026 (What's new, read Nov 6, 2026). It needs Opus 4.6 or later, Sonnet 4.6 or later, Haiku 5.5 or a Fable model, and Team and Enterprise admins can disable it. Anthropic's own caution is plain: auto mode "reduces permission prompts but does not guarantee safety", because the classifier is a model making judgment calls. Rules that must never bend belong in deny rules or hooks, which apply before the classifier sees anything (Best practices for Claude Code, read Nov 6, 2026). If the classifier keeps stopping routine work, /auto-mode-setup drafts autoMode.environment entries describing your trusted infrastructure. Developers add those entries in their user settings, ~/.claude/settings.json, and admins in managed settings, which every developer inherits and cannot remove.

What does --dangerously-skip-permissions do?

claude --dangerously-skip-permissions starts in bypassPermissions mode, which disables permission prompts and safety checks: Claude runs any command or edit not caught by a deny or ask rule. Anthropic recommends it only in a container, a VM or a sandbox runtime, and as a non-root user. Claude Code refuses it when running as root or under sudo on Linux and macOS, shows a warning dialog on first use, and cannot switch into bypass mid-session unless the session started with it enabled; --allow-dangerously-skip-permissions adds it to the Shift+Tab cycle without turning it on (Choose a permission mode, read Nov 6, 2026).

The risk is not only Claude's mistakes. A web page, issue or file Claude reads can carry instructions planted by someone else, and with no checks there is nothing between such text and your shell, your keys and your network. For unattended runs, dontAsk with an explicit allowlist, or auto mode, are the documented alternatives.

Permission rules

Rules are lists in settings: allow runs without asking, ask always asks, deny always refuses, and deny beats everything. Patterns include Bash(npm run *), Read(./.env), WebFetch(domain:example.com) and, since mid-June 2026, tool parameters such as Agent(model:opus) (Configure permissions, read Nov 6, 2026). Anthropic's example keeps secrets out of reach:

{
  "permissions": {
    "allow": ["Bash(pnpm tsc --noEmit)"],
    "ask": ["Bash(git push *)"],
    "deny": ["Read(./.env)", "Read(./.env.local)", "Read(./secrets/**)"]
  }
}

A Read deny rule also catches cat .env, but not a script that opens the file, and a WebFetch deny does nothing about curl unless the sandbox is on (Best practices for Claude Code, read Nov 6, 2026). "Yes, and don't ask again" saves a rule to .claude/settings.local.json; /permissions shows every rule and its file; /fewer-permission-prompts scans past sessions and allowlists common read-only commands.

The Bash sandbox

The sandbox is an operating-system boundary around the shell commands Claude runs: by default they may write only to the working folder and a temp folder, and reach the network only through a proxy whose allowed domains start empty. It uses Seatbelt on macOS and bubblewrap on Linux and WSL2; on native Windows commands run unsandboxed. It is off until you run /sandbox or set sandbox.enabled, and file tools, hooks and local MCP servers run outside it (Configure the sandboxed Bash tool, read Nov 6, 2026). For full isolation Anthropic points to running Claude Code itself in a container or VM.

Frequently asked questions

What is plan mode in Claude Code? Plan mode lets Claude read and explore but not edit your files, ending with a written plan you approve, edit or reject. Enter it with Shift+Tab, /plan or claude --permission-mode plan.

What is Claude Code auto mode? Auto mode lets Claude act without prompts while a separate classifier model checks each action and blocks risky ones such as force pushes or production deploys. It is the default start mode since v2.1.283, but Anthropic says it does not guarantee safety.

Is --dangerously-skip-permissions safe? Only in an isolated, disposable environment. It turns off prompts and safety checks, so Anthropic recommends it inside a container or VM as a non-root user, and Claude Code refuses it under root or sudo.

How do I stop Claude Code from asking permission every time? Use auto mode, add allow rules for commands you trust, or run /fewer-permission-prompts to allowlist common read-only commands. Choosing "Yes, and don't ask again" also saves a rule for that repository.

Do deny rules work in bypass mode? Yes. Claude Code applies deny rules in every mode, including bypassPermissions, so a deny on Read(./.env) holds even with --dangerously-skip-permissions.

Sources

Moments

How Claude Code Works

Claude

  1. Claude Code decides what Claude may do without asking through permission rules (allow, ask and deny lists in settings)…

Your first Claude Code prompt

Claude

  1. In plan mode Claude reads files and runs commands to explore, then writes a plan without touching your source. Enter…

How auto mode works with Claude Code

Claude

  1. In auto mode a separate classifier model reviews each action before it runs and blocks anything that goes beyond your…
  2. Auto mode arrived as a research preview in late March 2026, reached Pro in May, became the default for new sessions on…
  3. The risk is not only Claude's mistakes. A web page, issue or file Claude reads can carry instructions planted by…

Claude Code best practices | Code w/ Claude

Anthropic

  1. Rules are lists in settings: allow runs without asking, ask always asks, deny always refuses, and deny beats…

See also

About this page

Last updated Nov 6, 2026 by the Vi.ki team. Page text CC BY-SA 4.0.

Edit History

Hotkeys

/
Jump to the search box
? or Ctrl + /
Open this list
Esc
Close this list, the photo viewer, or the account menu

Video

Space or K
Play or pause
← →
Back or forward 5 seconds
J L
Back or forward 10 seconds
0 to 9
Go to 0% to 90% of the video
, .
Previous or next frame, while paused
M
Mute or unmute
C
Captions on or off
F
Full screen on or off
A D
Previous or next moment

Photo viewer

← → or A D
Previous or next photo
↑ ↓ or W S
Previous or next photo
Home End
First or last photo
I
Show or hide the photo's info
Z
Clickless on or off: a pointer over a thumbnail shows it
N
Compare with the last photo: back to the one shown before this, and N again comes back
Q
Move the thumbnails to the next edge: top, bottom, left and round
, or Ctrl + ,
Open or close the viewer's settings
V
Clickless pan: a zoomed photo follows the pointer, rather than being dragged
Shift
Browse on or off
B
Show or hide the button bar
T
Show or hide the thumbnails
1
100% zoom on or off
0
Rate the photo as no opinion; again takes the answer back
+ -
Rate the photo a step higher or lower
F
Full screen: the photo alone. F again puts everything back.
Back to top