Before you start
You need Claude Code installed and a project folder open in a terminal, both from lesson 1. Anthropic's common workflows page recommends plan mode for changes you want to review before they touch disk, so pick a task that touches more than one file.
Run claude --version first. Anthropic's permission modes page says that with Claude Code v2.1.283 or later, new interactive terminal and VS Code sessions start in auto mode, in which a classifier model reviews actions instead of you. That starting point decides how many presses of Shift+Tab it takes to reach plan mode.
Ask for a plan before any edit
Plan mode is a permission mode. You switch it on with Shift+Tab in the session, with /plan at the prompt or with a launch flag. The block below shows the last two, and the steps cover all three.
# Start a session in plan mode
claude --permission-mode plan
# Inside a running session, plan one task
/plan fix the auth bug- Open a terminal in your project and run
claude. The status bar under the prompt names the active mode, such as⏵⏵ auto mode onor⏸ manual mode on. - Enter plan mode. Press
Shift+Tabuntil the status bar shows⏸ plan mode on, or type/planfollowed by a task. On Windows, Anthropic listsAlt+Mas the replacement whenShift+Tabdoes nothing. - Describe the task. Name the symptom, the folder to look in and what done looks like. Claude looks through your files, runs shell commands, then writes a plan. It does not edit your source.
- Read the plan. If a step is wrong, choose "No, keep planning" and tell Claude what to change. To edit the plan yourself, press
Ctrl+Gand it opens in your default text editor. - Approve the plan when it is right. Choose "Yes, manually approve edits" to review each edit, or "Yes, and use auto mode" to let Claude work on. Approving leaves plan mode, and Claude starts editing.
What happens between the plan and the first edit
Claude researches, and you decide. Anthropic's page says plan mode tells Claude to research and propose changes without making them, and that edits stay blocked until you approve the plan.
Shell commands during planning follow the session. When auto mode is available and the useAutoModeDuringPlan setting is on, which it is by default, the classifier reviews the commands instead of asking you. Without auto mode, any command outside the built-in read-only set prompts you for approval.
One session type does not block edits at all. In an interactive terminal session with bypass permissions available, Claude is still told to plan without editing, but an edit it attempts runs without a prompt. Plan mode keeps its blocks in claude -p runs and in the VS Code chat panel.
You enter plan mode
Shift+Tab,/planor the--permission-mode planflag.Claude researches
It opens the files it needs and runs shell commands. Edits stay blocked.
Claude presents the plan
It asks how to proceed. You can press
Ctrl+Gto edit the plan first.You choose
Approve with auto mode, approve and review each edit, or keep planning.
Approval ends plan mode
Claude switches to the mode your choice names and starts editing.
Plan mode among the six permission modes
The cycle, as the page documents it for the terminal: from auto, the first Shift+Tab switches to Manual, and the next ones run through accept edits and then plan. So plan mode is three presses from a session that started in auto. /plan skips the counting.
Not every mode is in that cycle. Auto appears when it is available, bypassPermissions appears only after you start with a flag or setting that enables it, and dontAsk never appears. You set dontAsk with --permission-mode dontAsk.
The other surfaces name plan mode too. In VS Code you click the mode indicator and pick Plan. The desktop app has a mode selector under the prompt box, and a Plan pick there applies to the current session only. On claude.ai/code the dropdown offers Accept edits, Plan and Auto.
| Mode | What runs without asking | Best for |
|---|---|---|
default, labeled Manual | Reads only | Reviewing every action yourself, sensitive work |
acceptEdits | Reads, file edits and common filesystem commands such as mkdir, touch, mv and cp | Iterating on code you are reviewing |
plan | Reads, plus classifier-approved commands when auto mode is available | Exploring a codebase before changing it |
auto | Everything, with background safety checks | Long tasks, reducing prompt fatigue |
dontAsk | File reads inside your working directories and pre-approved tools. Anything that would prompt is denied | Locked-down CI and scripts |
bypassPermissions | Everything | Isolated containers and VMs only |
How Claude Code's creator and his team use plan mode
Boris Cherny created Claude Code at Anthropic. In the setup thread he posted on X in January 2026, he says most of his sessions start in plan mode. When the goal is a pull request, he goes back and forth with Claude until he likes the plan, then lets it edit, and it usually lands the change in one pass. He wrote "shift+tab twice" for the way in. Sessions now start in auto mode, so today it is three presses, or /plan.
At the end of that month he shared the team's own tips. One engineer has a first Claude write the plan and a second Claude review it as a staff engineer. Another goes back to planning the moment a task goes sideways, instead of pushing on. Both are the "No, keep planning" choice from the steps above, used before any edit lands.
By May 2026 his number one tip was auto mode, because it ends permission prompts and lets him run several sessions side by side. That is the "Yes, and use auto mode" choice at the end of a plan. Take it once you trust the plan, and the manual choice while you still want to read each edit.
If my goal is to write a Pull Request, I will use Plan mode, and go back and forth with Claude until I like its plan.
Screenshots of X's own embeds of the posts, taken on 5 November 2026, with the time in UTC. X cuts the second post short with Show more. Select a screenshot to open the post on X.
Common mistakes
- Pressing
Shift+Tabonce and typing a task. From auto it lands on Manual, not plan. Read the status bar for⏸ plan mode on, or type/planinstead. - Approving on autopilot. The first approve option starts Claude in auto mode. Pick "Yes, manually approve edits" when you want to see each edit. Where auto mode is not available, the first option reads "Yes, auto-accept edits".
- Planning from a vague prompt. "fix the login bug" gives Claude little to plan from. Anthropic's rewrite of that prompt also asks for a failing test that reproduces the bug before the fix.
- Pinning plan mode where the extension does not look. A project's
.claude/settings.jsoncan setdefaultModetoplan, but the VS Code extension never reads project settings for the starting mode. UseclaudeCode.initialPermissionModein your VS Code user settings. - Trusting plan mode in a session started with bypass permissions. Its blocks are not enforced there, so use plain Manual mode if you need a real stop.
Try it yourself
- Start
claude --permission-mode planin a project and ask for a plan to add input validation to one form or function. Check that the status bar shows⏸ plan mode onand thatgit statusstill lists no changed files. - Press
Ctrl+G, change one step in your editor, save, and return to the session. - Choose "No, keep planning", say what to change, then approve with "Yes, manually approve edits" and read each edit.
- In a normal session, press
Shift+Tabrepeatedly and write down the status bar text for every mode you pass through.
Next: slash commands
You can now make Claude think before it touches your code. Lesson 3 covers the slash commands, including /plan, and how to write your own.
Plan mode has a helper behind it: Plan is one of the built-in subagents, as our subagents post explains. A good plan also depends on what Claude already knows about the project, which is what a CLAUDE.md file is for.
Check yourself
Which command starts a Claude Code session in plan mode from the terminal?
Show answer
B.
claude --permission-mode planThe--permission-mode planflag starts the session in plan mode, and/plandoes the same inside a running session.One step in the plan is wrong and you want to edit the plan yourself before Claude starts. What do you do?
Show answer
D. Press
Ctrl+Gto open the plan in your text editorCtrl+Gopens the plan in your default text editor, and you return to the session when you save.Your session started in auto mode and you press
Shift+Tabonce. Which mode are you in now?Show answer
A. Manual From auto, the first press lands on Manual, and plan mode is three presses away, so
/plansaves the counting.Claude shows its plan and you want to review every edit after you approve. Which choice do you pick?
Show answer
C. "Yes, manually approve edits" That choice approves the plan and keeps each edit in front of you, while the auto mode choice lets Claude work on without asking.
Frequently asked questions
How do I leave plan mode without approving a plan?
Keep pressing Shift+Tab. Each press moves to the next mode in the cycle, and the status bar names it. Choosing "No, keep planning" does the opposite and stays in plan mode. To plan again later, cycle back or start your next prompt with /plan.
What does the /plan command do?
Typed alone, /plan only switches you into plan mode. With a description, as in /plan fix the auth bug, Claude also starts on that task at once. The commands reference lists it with the rest.
Is plan mode the same as auto mode?
No. Plan mode researches and proposes, and auto mode runs actions while a separate classifier model reviews each one. They meet in two places: approving a plan can start the session in auto mode, and in plan mode that classifier reviews shell commands when auto mode is available.
How do I start every project session in plan mode?
Add { "permissions": { "defaultMode": "plan" } } to the project's .claude/settings.json. After that, each terminal session you open in that project begins in plan mode. VS Code has its own setting, which the common mistakes above name.
Can planning use a stronger model than editing?
Yes, with the opusplan alias. It uses Opus in plan mode and switches to Sonnet for execution. Pick it in /model, or start with claude --model opusplan. For a 1M context window in both phases, set opusplan[1m]. Setting that one with /model needs Claude Code v2.1.265 or later.
Why does Shift+Tab do nothing on Windows?
Anthropic's page ties it to the Node or Bun runtime. When the runtime does not enable VT input mode, Claude Code uses Alt+M instead of Shift+Tab to cycle the permission modes. Try Alt+M, then watch the status bar for the mode name.
Sources
- Claude Code docs: Choose a permission mode https://code.claude.com/docs/en/permission-modes
- Claude Code docs: Commands https://code.claude.com/docs/en/commands
- Claude Code docs: Interactive mode https://code.claude.com/docs/en/interactive-mode
- Claude Code docs: Common workflows https://code.claude.com/docs/en/common-workflows
- Claude Code docs: Model configuration https://code.claude.com/docs/en/model-config
- Claude Code docs: Best practices https://code.claude.com/docs/en/best-practices
- Boris Cherny on X: tip 6, plan mode, 2 January 2026 https://x.com/bcherny/status/2007179845336527000
- Boris Cherny on X: tips from the Claude Code team, 31 January 2026 https://x.com/bcherny/status/2017742745365057733
- Boris Cherny on X: use auto mode, 24 May 2026 https://x.com/bcherny/status/2058519809214607704


