Skip to content

Plan Mode and Auto Plan

Plan mode forces Claude to think before acting. Auto plan triggers automatically for complex tasks. Core operating modes for everything that follows.

You hand Claude Code a task. It reads a few files, starts editing, realizes it missed something, reads more files, edits again, backtracks. Three minutes later you have code that solves the wrong problem.

The fix is almost embarrassingly simple. Make Claude think before it acts.

What Plan Mode Actually Is

Plan Mode is a permission mode. When active, Claude Code can read files, analyze code, and answer questions, but it cannot modify anything or run commands. "Look but don't touch."

Toggle it with Shift+Tab. Each press cycles through three modes:

  • Normal Mode - Claude reads, writes, and executes (with permission prompts)
  • Plan Mode - Claude reads and thinks only. No changes allowed.
  • Auto-Accept Mode - Claude does everything without asking

You can also type /plan in the prompt to jump straight into Plan Mode. In VS Code, click the permission mode indicator in the prompt box.

The /plan command is great when you're mid-conversation and realize you need Claude to stop and think. No restart needed. Just type /plan and ask your question.

There's also --permission-mode plan as a CLI flag. Starts the entire session in Plan Mode, which is useful when you want to explore a codebase without any risk of accidental changes.

The Four-Phase Workflow

This workflow changed how I use Claude Code entirely. Four phases: explore, plan, implement, commit.

Phase 1: Explore

Enter Plan Mode (Shift+Tab). Ask Claude Code to read and understand the relevant code.

# Your prompt in Plan Mode:
read /src/auth and understand how we handle sessions and login.

Claude reads the files, traces the logic, explains what it finds. Nothing changes on disk. You now have shared context about the current state.

Phase 2: Plan

Still in Plan Mode. Ask for a detailed implementation plan.

# Your prompt:
I want to add Google OAuth. What files need to change? Create a plan.

Claude produces a step-by-step plan. The important part: press Ctrl+G to open that plan in your text editor. You can edit it directly. Add steps, remove steps, add constraints. In VS Code, this opens as a full markdown document where you can add inline comments.

This is where you catch the bad ideas before any code gets written. Maybe Claude wants to refactor the session store but you know that would break the mobile app. Edit the plan. Remove that step. Add a note saying "keep the existing session format."

Phase 3: Implement

Switch back to Normal Mode (Shift+Tab again). Tell Claude to follow the plan.

# Your prompt:
implement the OAuth flow from your plan. write tests, run test suite.

Claude now has a roadmap. It works through each step, writes the code, runs the tests. Because you reviewed the plan, the implementation actually matches what you want.

Phase 4: Commit

Ask Claude to commit with a descriptive message and create a PR if needed.

Try it

Pick a feature you've been putting off. Something that touches at least three files. Open Claude Code and try the four-phase workflow:

  1. Shift+Tab to enter Plan Mode
  2. Ask Claude to read the relevant code
  3. Ask for a plan. Press Ctrl+G to review it in your editor
  4. Shift+Tab back to Normal Mode
  5. Say "implement the plan"

Compare that to just saying "add feature X" without planning. For anything beyond trivial changes, the difference is night and day.

When to Plan and When to Skip

Planning has overhead. It uses tokens and takes time. Not every task needs it.

Skip the plan when the scope is obvious. Fixing a typo, adding a log line, renaming a variable. If you could describe the entire diff in one sentence, just let Claude go.

Use the plan when you're uncertain about the approach, the change touches multiple files, you're working in unfamiliar code, or the task involves architectural decisions. Also use it when you've already tried the "just do it" approach and Claude produced something wrong.

Quick litmus test: if you'd sketch out the approach on a whiteboard before coding it yourself, use Plan Mode.

Plan Mode is also surprisingly good for onboarding to a new codebase. You can ask Claude Code to read entire directories, explain the architecture, map out dependencies. All without touching a single file. Basically a guided code tour that you control.

The Short Version

  • Plan Mode is a permission mode. Toggle with Shift+Tab or /plan. Claude can read and analyze but cannot modify files or run commands.
  • The four-phase workflow (explore, plan, implement, commit) prevents Claude from solving the wrong problem.
  • Ctrl+G opens the plan in your editor. This is the most underrated feature. Catch bad assumptions before any code gets written.
  • Skip planning for small, obvious changes. If you can describe the diff in one sentence, just let Claude do it.
  • Start sessions in read-only mode with --permission-mode plan for codebase exploration.

Mastering Claude Code

Lesson 15 of 70