Claude Code Plan Mode: How to Use It Effectively
Plan mode is Claude Code's "think before you act" mode. When enabled, Claude can read and research but can't write, edit, or execute commands. It's how you get Claude to design an approach before it starts coding.
How to enter plan mode
- Keyboard shortcut: Press
Shift+Tabto toggle plan mode on/off - Command: Type
/planin the chat - From a prompt: Just ask — "plan how you'd implement this before writing any code"
When plan mode is active, you'll see an indicator in the UI. Claude still has access to read tools (reading files, searching code, browsing the web) but write tools (Edit, Write, Bash) are disabled.
When to use plan mode
Before complex refactors
If you're about to refactor a system that touches many files, plan mode prevents Claude from eagerly jumping in and making changes before understanding the full scope.
"Enter plan mode. I want to migrate our REST API routes from Express to Hono. Plan the migration — which files need to change, what's the order of operations, and what are the risks?"
When you're not sure what you want
If you have a vague goal but aren't sure about the approach, plan mode gives you a conversation partner who can explore options without committing to one.
"We need to add real-time updates to our dashboard. Plan out the options — WebSockets vs SSE vs polling — considering our current Next.js setup."
When the stakes are high
Database migrations, authentication changes, deployment pipelines — anything where a wrong move is expensive to undo.
"Plan the migration from our custom auth to Clerk. What's the data migration path? What breaks during the transition?"
Plan mode vs just asking
You might wonder: can't you just say "don't make any changes yet, just plan"? You can, but plan mode is better because:
- It's enforced. Claude literally cannot call write tools. No chance of it getting excited and making edits mid-plan.
- It signals intent. Claude adjusts its behavior — it explores more thoroughly, considers more alternatives, and structures its output as a plan rather than a stream of actions.
- It's easy to exit. Press
Shift+Tabwhen you're happy with the plan, and Claude switches to execution mode with the plan as context.
The plan-then-execute workflow
The most effective pattern with plan mode:
- Enter plan mode (
Shift+Tab) - Describe what you want at a high level
- Let Claude research — it'll read files, search code, ask clarifying questions
- Review the plan — push back on anything you disagree with
- Exit plan mode (
Shift+Tab) — Claude now executes the plan it just designed
This workflow is especially powerful because the plan stays in context. Claude doesn't forget what it decided — it transitions directly from planning to execution.
What Claude can do in plan mode
- Read any file in your project
- Search code with grep/glob
- Browse the web for documentation
- Use subagents to explore the codebase
- Ask you clarifying questions
- Produce structured plans with file lists, ordering, and risk assessment
What Claude can't do in plan mode
- Write or edit files
- Run shell commands
- Create or delete files
- Execute tests
- Make git commits
Tips
Don't skip plan mode for large tasks. It's tempting to just let Claude start coding, but a 2-minute planning phase can save 20 minutes of undoing wrong-direction work and significantly reduce your token usage.
Challenge the plan. Plan mode is a conversation. If Claude proposes an approach you don't like, say so. "I don't want to add a new dependency for this" or "can we do this without modifying the database schema?" are the kinds of constraints that reshape the plan.
Use plan mode for learning too. If you're new to a codebase, plan mode is great for exploration: "Explain how the payment flow works, starting from when the user clicks 'Buy'." Claude will read through the code and walk you through it without changing anything.
Plan mode + CLAUDE.md = consistent architecture. Your CLAUDE.md defines the rules, plan mode ensures Claude thinks them through before acting. Together, they prevent the "eager but misguided" edits that can happen when Claude dives straight into code.