First steps

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

3 min read

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.

Open the full interactive version (with copy buttons) ↗

← All guides