Chapter 1: Ground Zero
Permission Modes
Permission Modes
Claude Code can read files, write code, and run shell commands. But how much autonomy should you give it? That's where permission modes come in.
The three modes
Claude Code has three permission levels:
- Ask every time (default) — Claude asks before every file write and command execution. Safest for learning.
- Auto-accept edits — Claude can read and write files freely, but still asks before running commands.
- Full auto — Claude does everything without asking. Best for experienced users who trust their setup.
Start with the default "ask every time" mode. As you get comfortable, you can increase autonomy. You can always say no to any action.
Under the hood, Claude Code works by calling tools — reading a file, writing a file, and running a command are each a tool invocation that Claude decides to make. When Claude Code asks for your permission, it's showing you which tool it wants to use and what it will do. This is the same "tool use" mechanism that powers all Claude integrations, from chatbots to data pipelines. Permission modes control how much you want to oversee these tool calls.
When to use each mode
| Mode | Best for |
|---|---|
| Ask every time | Learning, unfamiliar codebases, sensitive code |
| Auto-accept edits | Active development when you trust the direction |
| Full auto | Routine tasks, scaffolding, bulk operations |
Even in full auto mode, Claude Code won't do anything destructive without warning. It's designed to be safe by default.
Changing modes
When Claude Code wants to write a file or run a command, it shows you a prompt asking for permission. You'll see the proposed change and can:
- Press Enter or y -- approve this action
- Press n -- reject it
- Type feedback -- tell Claude Code to do something different
For auto mode, start Claude Code with the --auto flag:
This lets Claude Code read and write files without asking each time. It still pauses for potentially dangerous operations.
The trust spectrum
Think of it this way:
- New project, learning? → Ask every time. Watch what Claude does. Learn the patterns.
- Your project, building fast? → Auto-accept edits. Review the diffs, skip the confirmations.
- Routine task, trusted setup? → Full auto. Let Claude work while you review the results.