F4.4 F4

Four Permission Modes: From Full Control to Full Automation

Permission modes control one thing: which operations require your confirmation before Claude executes them. They don’t change what tools are available, what model is used, or what Claude can analyze. They control the gate between “Claude wants to do X” and “X actually happens.”

The four modes

default — every tool call needs your confirmation. Maximum control, maximum friction. You see every Read, every Edit, every Bash command before it runs. Good for learning Claude Code’s behavior or working on sensitive code.

acceptEdits — file modifications (Write, Edit) are auto-approved. Bash commands still need confirmation. This is the middle ground: Claude can freely edit code, but shell commands (which can have broader system effects) still go through you.

full — everything auto-approved. File edits, Bash commands, all tool calls execute without asking. Maximum speed, minimum oversight. Best for trusted tasks where you want Claude to work autonomously.

plan — read-only. Claude can explore (Read, Grep, Glob) but cannot modify anything. No writes, no edits, no shell commands that change state. This isn’t “small safe changes are OK” — it’s strictly zero modifications.

The trade-off

Default vs full is safety vs speed. Default gives you oversight over every operation at the cost of manual confirmation friction. Full gives you maximum automation at the cost of reduced ability to catch mistakes before they happen. Neither is inherently better — it depends on the task.

All modes have access to the same tools. Default mode doesn’t hide Write and Edit — it just asks before using them. All modes use the same model. Permission modes are about execution control, not capability.

Plan mode is strict

A common misconception: plan mode allows “small, safe” modifications like comments or typo fixes. It doesn’t. Plan mode blocks all modifications regardless of size or perceived safety. If you’re in plan mode and Claude tries to write anything, it’s blocked. This strictness is the point — when exploring a codebase, you want a guarantee of no side effects.

CI/CD mode selection

In CI pipelines, the choice is typically between plan and full:

  • Code review stage → plan mode. Analysis only, no accidental modifications.
  • Auto-fix stage → full mode. Claude needs to write changes, and there’s no human to click “approve.”

Don’t use default mode in CI — confirmation prompts will hang the pipeline forever with no one to respond. Don’t use plan mode for stages that need to make changes — it structurally prevents them.


One-liner: Default (confirm all), acceptEdits (auto-approve file changes), full (auto-approve everything), plan (read-only) — all modes access the same tools and model, differing only in what requires confirmation.