Claude Code · Beginner/Lesson 02 of 05~4 min

Permission modes and plan mode

A permission mode decides what Claude may do without asking. Learn the four, switch mid-session, and build the one habit that keeps agent work cheap to trust: plan before edit.

The Third Way engineering team||Verified against Claude Code v2.1.285 (stable), October 2026

01The goal

Pick the right permission mode for a task, switch modes mid-session with Shift+Tab, and approve a plan in plan mode before Claude touches a single file.

02The idea

A permission mode decides which actions Claude can take without asking you first. You switch with Shift+Tab (Alt+M if Shift+Tab does nothing for you), and the status bar under the prompt always shows the mode in force. Four matter:

↳The four modes
Status bar showsModeClaude does without asking
⏸ manual mode onManualReads only
⏵⏵ accept edits onAccept editsReads, edits files, runs common file commands
⏸ plan mode onPlanReads (plus safety-checked commands), then writes a plan — cannot edit until you approve
⏵⏵ auto mode onAutoEverything, with background safety checks
Switch with Shift+Tab; the status bar is the source of truth for which mode is in force.

Manual for sensitive work and unfamiliar code, where you review every action. Auto for long tasks where approving each step is the bottleneck. Accept edits sits between: edits flow, everything else asks.

Plan mode is the habit to build first, and the one we would keep if we could keep only one. Claude explores, thinks, and hands you the whole change as a plan before anything moves. It is the cheapest review surface there is: reading a plan costs seconds, unwinding a wrong implementation costs the afternoon. Our delivery board takes the same stance one level up — nothing an implementer produces counts until a separate review approves it — and plan mode is the session-sized version of that gate.

Permission answers can be sticky. When Claude asks to run something and you answer "Yes, and don’t ask again", you have just edited your own guardrails. In this course, answer plain Yes or No — the modes are the guardrails, and they should stay yours.

03The walkthrough

  1. 01Start claude in your repo; a new session usually starts in auto mode. Look at the status bar and confirm what you are riding in.
  2. 02Shift+Tab through the cycle and watch the status bar change. From auto, one press gives manual, the next accept edits, the next plan.
  3. 03In plan mode, ask for a small change, such as: "Make the config parser reject an empty file with a clear error message, and add a test for it," adjusted to fit your repository.
  4. 04Claude reads files and may run commands to explore, but edits nothing. If it needs a decision first, it asks a multiple-choice question — pick an option or type your own. Then it presents the plan with three choices: "Yes, and use auto mode", "Yes, manually approve edits", and a text field the docs call "No, keep planning" (the prompt shows it as Tell Claude what to change). The first is highlighted — the highlight is a default, not a recommendation.
  5. 05Send the plan back once, even if it already looks right, to build the reflex. Down-arrow to the text field, type one correction — "Keep the change to the parser and its test file. Don’t add new files." — and press Enter. Claude revises and shows the menu again.
  6. 06Approve with "Yes, manually approve edits". The session leaves plan mode into manual: Claude now asks before each edit and before most commands. Read each request. Plain Yes when it does what the plan needs; No, and say what to do instead, when it does more than the plan needs.
  7. 07When Claude finishes, run git status: every changed path should be one the plan named. A path that changed without the plan naming it is the finding of this exercise — note it.
↳What the plan approval looks like
⏸ plan mode on
 
Claude presents the plan, then:
 
❯ 1. Yes, and use auto mode ← highlighted first
2. Yes, manually approve edits ← the one this course uses
3. Tell Claude what to change ← send it back with a correction
Three ways out of a plan: hand over the wheel, keep the wheel, or send the plan back.

04Your turn

The same run with a change of your own, plus the discipline: while the final plan is on screen, save git status --porcelain to a file (before.txt) in a second terminal. Approve, work through the prompts, then save it again (after.txt). Compare: everything in the after-list should be a path the plan named. Then set the change aside (git stash push --include-untracked) or keep it — your repo, your call. Stop before committing; the next lesson owns the commit.

Watch out for the highlighted first choice in the plan menu: it hands the rest to auto mode. And a "Yes, and don’t ask again" answer mid-session outlives the moment — keep the modes as the guardrails.

↳Check yourself
Q1

Which mode reads and plans but cannot edit your files until you approve?

  1. AAccept edits
  2. BPlan
  3. CAuto
→Check your answer
Answer: B

Plan mode explores and writes a plan; nothing changes until you choose an approval option.

Q2

How do you switch permission modes mid-session?

  1. A/permissions
  2. BRestarting with a flag
  3. CShift+Tab (Alt+M as fallback)
→Check your answer
Answer: C

Shift+Tab cycles the modes; the status bar always shows the one in force. Alt+M works where Shift+Tab does not.

Q3

In the plan-approval menu, which choice is highlighted first?

  1. AYes, and use auto mode
  2. BYes, manually approve edits
  3. CTell Claude what to change
→Check your answer
Answer: A

The auto-mode path is highlighted — a default, not a recommendation. Move off it deliberately.

The Third Way engineering team
Delivery engineering
Work with us