← Alle Playbooks
Playbook· setup

Plan Mode in Claude Code, the invisible seatbelt, when you need it and how to keep it on

Plan Mode is the most underrated permission in Claude Code. When it makes sense, how to make Shift+Tab a routine, and where it gets annoying.

Plan Mode is one of the four permission modes in Claude Code, and it is the only one that protects you from what you actually want. You ask for a change, Claude responds with a plan, no tool runs. Only when you sign off does it get going. Sounds boring. But it is the difference between "I check what it is about to do" and "why are 14 files changed now that I never touched".

I will explain here when I have Plan Mode on, when I leave it off, and how you get Shift+Tab into a reflex instead of hunting for it in the toolbar every time.

Step 1, understand the four modes

Claude Code has four permission modes you can cycle through with Shift+Tab. Default asks before every tool. acceptEdits lets edits through without asking. Plan makes no tool call but gives you a plan. bypassPermissions lets everything through without asking, including Bash.

The official docs at code.claude.com/docs/en/interactive-mode describe it like this: "Cycle through default, acceptEdits, plan, and any modes". There are no more modes except custom modes defined by a plugin. You can remember it as: left annoyingly cautious, right dangerously fast, Plan is the middle with reading glasses.

Step 2, get Shift+Tab into a reflex

The mode shows at the bottom of the toolbar as a small label. You recognize Plan Mode by "plan" or a pen icon depending on the version. Press Shift+Tab four times in a row, then you have cycled through it once completely. Do that actively right now so your fingers know it, otherwise you will forget it when it matters.

On some setups Shift+Tab is hijacked by the terminal (tmux, iTerm profiles). If you do not want to change anything: Alt+M is the official alternative. It is in the same docs page.

Step 3, the standard cases where Plan Mode has to be on

Refactoring across multiple files. Migration from one library to another. Schema changes to Prisma or a DB migration. Deleting or moving more than three files. When you do not know how many files are affected. When the project is not yours but a customer's.

Rule of thumb: anything you cannot undo in 30 seconds goes through Plan first. Git stash and git reset often are not enough because Claude also creates files that you then have to find manually.

Step 4, the cases where Plan Mode is annoying

You type one line, want to rename a variable, or you are building tests. Plan Mode generates a four-paragraph plan for a 3-line change and you lose interest. Here Default or acceptEdits is right.

My personal switch: as long as I am in a branch where I want to explore creatively, default. As soon as the change gets "serious" or I get up and grab coffee, one Shift+Tab to Plan, then Claude can keep thinking without me losing control.

Step 5, the plan is a basis for negotiation, not a contract

When Claude gives you a plan, do not skim it. Change the plan before you sign off. Say "we do not need step 3, do X instead" or "in step 4 do not touch the config, it is already right". Claude regenerates the plan, you sign off.

That is the actual lever of Plan Mode. You get a proposal, reshape it, and only then does code flow. Whoever just waves the plan through is using Plan Mode like a slow Default Mode.

Step 6, Plan Mode in sub-agents

Sub-agents run in their own session and respect their own permission. If your sub-agent does not set a mode in its agent definition, it does not automatically inherit your current Plan Mode. That means: you are in Plan, you start a sub-agent, it reaches in with Default and makes edits.

The fix: in the sub-agent definition keep allowed_tools tight explicitly. Read, Grep, Glob for a research agent. Edit only if deliberately wanted. Plan Mode does not protect you from your own sub-agents, that is a separate defense.

Step 7, Plan Mode with MCP tools

MCP tools also run through the permission system. In Plan Mode Claude would describe "I am about to call nex_entity_create with this data". You see the arguments before they take effect. With MCP servers that write to your DB (Memory, CRM, external APIs with credits) that is worth gold.

Rule of thumb: read-only MCP tools (search, list, get) are fine in Default. Write MCP tools (create, update, delete, send) go through Plan first, at least the first time per server.

Step 8, auto-plan on start

You can start Claude Code with an initial permission. In .claude/settings.json you set defaultMode or the equivalent (the name varies by version, read your settings.md). With that every new session opens directly in Plan Mode and you are forced to actively switch out.

Advantage: no accidental edit wave right after session start when you do not yet know where you are. Disadvantage: with creative hacking it costs an extra second. For customer projects and production repos: on. For your hobby repo: off.

Step 9, Plan Mode plus hooks

Hooks also fire in Plan Mode, but only SessionStart and comparable ones. PreToolUse does not fire because no tool runs. That means: your "block all dangerous Bash commands" hook is irrelevant in Plan Mode, because nothing happens anyway.

As soon as you sign off the plan and tools roll, the hooks kick in normally. Plan Mode and hooks complement each other, then: Plan Mode for "do I even want this", hooks for "if yes, then only safely".

Step 10, the anti-pattern, Plan Mode as a pseudo-rollback

Plan Mode is not undo. If you sign off a plan and it goes wrong, you have no second Plan Mode window left where you can click reset. The tools are through.

That is why: Plan Mode complements branch-per-ask and git-rewind from lessons L1-09 and L1-10. Plan Mode checks whether the idea is good. Branches and rewinds make the change recoverable. Whoever uses one without the other has a safety net with big holes.

What comes next

If you take permission modes seriously, look at the recipe phase-1-foundation/1.4-settings-permissions, that explains how to set defaultMode permanently. For the branch safety net read lesson L1-09 (Branches and reviews) and recipe 3.6 (Branch per ask). Both together with Plan Mode is the operator hygiene you need as soon as Claude works in foreign repos.

Source

  • Permission modes and Shift+Tab cycle: https://code.claude.com/docs/en/interactive-mode
  • MCP debug and permission fields in the hook input: https://code.claude.com/docs/en/mcp
Plan Mode in Claude Code, the invisible seatbelt, when you need it and how to keep it on — StudioMeyer Academy