§02.02

How to Use Plan Mode in Claude Code (and When)

Plan mode makes Claude Code research and propose before editing. Enter it with Shift+Tab or /plan, review the plan, then approve — or keep planning.

published 10 Jun 2026 updated 06 Sept 2026 checked against docs 06 Sept 2026 3 min in First steps Markdown

On this page5 sections
  1. 1. Enter plan mode
  2. 2. Let it explore
  3. 3. Approve — or don’t
  4. 4. Make it the default where it matters
  5. Verify it worked

Plan mode tells Claude to research and propose changes without making them. It reads files and runs read-only shell commands to explore, then writes a plan — and edits stay blocked until you approve it. For anything touching more than a couple of files it is the highest-value habit there is: correcting a plan is free, correcting a bad refactor is not.

1. Enter plan mode

/plan

What it does: enters plan mode for a single prompt — the fastest route mid-session.

Press Shift+Tab to cycle into it for the rest of the session (the status bar shows ⏸ plan mode on), and press it again to leave without approving anything. To start there:

claude --permission-mode plan

What it does: launches the session in plan mode, before it can touch a file.

2. Let it explore

Give it the goal, not the steps. Plan mode is where “read the code first” actually happens, because it can’t skip ahead to editing.

We need rate limiting on the login route. Read how sessions and middleware work
in this repo, then plan it. Don't write code yet.

What it does: sets a goal with a boundary, so the plan reflects your codebase rather than a tutorial.

3. Approve — or don’t

When the plan arrives you get options, including No, keep planning, which stays in plan mode and lets you say what to change. That option is the whole point: use it. Approving exits plan mode and switches the session to the permission mode that approve option describes, so Claude starts editing immediately. To plan again, cycle back with Shift+Tab or prefix your next prompt with /plan.

4. Make it the default where it matters

{ "permissions": { "defaultMode": "plan" } }

What it does: starts every terminal session in this project in plan mode. Put it in .claude/settings.json. The VS Code extension ignores project settings for the starting mode — set claudeCode.initialPermissionMode there instead.

Verify it worked

Ask it to edit a file while the plan is unapproved. It should decline. If it edits anyway, the session has bypass permissions available, which disables plan mode’s blocks — see permissions.

Use it for refactors, new features and unfamiliar code; skip it for one-line fixes. Plan mode pairs with working across a whole repo safely and a good CLAUDE.md, which gives the plan better inputs.

Source: Choose a permission mode.

← All First steps plates · Search all guides

↑↓ move↵ openalt+↵ copy first command

Keyboard

⌘/ctrl+K or /
Search all guides
alt+↵
In search: copy the guide's first command
j / k
Move through a list of guides
c
On a guide: copy its first command
t
Toggle light / dark
?
This list