# Permission modes and Shift+Tab

Course: Claude Code: Pro Level — https://zero2vibecode.com/learn/claude-code-pro
Canonical URL: https://zero2vibecode.com/learn/claude-code-pro/1-1-permission-modes
Verified against: Claude Code v2.1.292 (2026-10-15)
Last updated: 2026-10-15

The permission mode decides what Claude does without asking. Manual, Accept edits, Plan and Auto cycle with Shift+Tab, and the status line always shows which one is on.

Every time Claude wants to change a file or run a command, something decides: do it without asking, or ask you. That something is the permission mode.

## Four modes

They cycle with **`Shift+Tab`**. The status line under the input always shows which mode is in effect:

| Status line | Mode | Without asking, Claude… |
|---|---|---|
| `⏸ manual mode on` | Manual | only reads |
| `⏵⏵ accept edits on` | Accept edits | reads, edits files, runs ordinary file commands |
| `⏸ plan mode on` | Plan | reads and writes a plan; touches files only after you approve |
| `⏵⏵ auto mode on` | Auto | does everything, while background safety checks cut off anything dangerous |

## How to choose

**Manual** — for sensitive work and unfamiliar code. You approve every action yourself. Slow, but under control.

**Accept edits** — when the task is clear and you are happy to accept file edits, but you want to see which commands Claude runs.

**Plan** — the habit worth building first. Claude explores the code, writes the whole plan and stops. You read the plan, adjust or approve it — and only then do changes begin. It is the cheapest way to catch a wrong approach before it becomes a hundred lines of code. Plan mode is covered in detail in [Claude Code from Zero](https://zero2vibecode.com/learn/claude-code/1-4-plan-mode).

**Auto** — for long tasks where approving each step is tiring. Claude works on its own, and background safety checks watch for dangerous actions.

## Modes for scripts

Two more modes are chosen not with keys but with a flag at launch — they come in handy in the Autopilot level:

- **`dontAsk`** — denies everything that would have needed a question in a normal session. For places where nobody is there to answer.
- **`bypassPermissions`** — skips permission checks. Only for isolated containers with nothing important in reach.

**Careful.** 
A mode stays on until you change it. Switched to Auto for routine work? Remember to go back to Manual or Plan before taking on anything sensitive. A glance at the status line before an important request takes one second.
