Plan Mode & Extended Thinking
Two levers for getting better results on hard tasks: make Claude plan before touching code, and give it more thinking budget.
Plan Mode
Section titled “Plan Mode”A read-only analysis mode: Claude can read files, search, and reason — but cannot edit or run state-changing commands until you approve a plan.
Enter / exit
Section titled “Enter / exit”| Method | How |
|---|---|
| Cycle permission modes | Shift+Tab (Normal → Accept Edits → Plan) |
| Start in plan mode | claude --permission-mode plan |
| Ask directly | ”make a plan before implementing” |
The flow
Section titled “The flow”- You describe the task; Claude explores the codebase
- Claude presents a structured plan
- You approve (Claude implements, session auto-named from the plan), edit the plan, or reject with feedback
- On approval, mode switches back so Claude can edit files
When to use it
Section titled “When to use it”- Multi-file refactors, architectural changes
- Unfamiliar codebases — read the plan to learn the terrain
- Anything where a wrong start is expensive
- Reviewing an approach with teammates before burning tokens on implementation
opusplan
Section titled “opusplan”/model opusplan uses Opus for plan mode reasoning, then switches to Sonnet for execution — max intelligence for the decisions, lower cost for the typing.
Ultraplan (cloud planning)
Section titled “Ultraplan (cloud planning)”For big features: ultraplan runs deep multi-agent planning in the cloud and returns a thorough implementation plan you execute locally. Available on the web/desktop surfaces — see docs: https://code.claude.com/docs/en/ultraplan
Extended Thinking
Section titled “Extended Thinking”Ask Claude to think harder on genuinely hard problems — include the word “think” in your prompt, escalating:
think about this bugthink hard about the race condition hereultrathink: design the migration strategy for zero downtimeMore thinking = slower + more tokens, so reserve it for design decisions, gnarly bugs, and tradeoff analysis — not routine edits.
Effort level
Section titled “Effort level”/effort (or --effort) adjusts how much reasoning the model applies session-wide (low / medium / high). Lower effort = faster, fewer tokens, more direct answers. Subagents and teammates inherit the session’s effort.
Fast Mode
Section titled “Fast Mode”The opposite lever: /fast toggles fast mode (Opus with faster output) for quick iterations on well-understood tasks. Toggle off for hard problems.
Real Case: Zero-Downtime Schema Migration
Section titled “Real Case: Zero-Downtime Schema Migration”1. Shift+Tab twice → plan mode2. "ultrathink: we need to split the users table into users + profiles with zero downtime. Plan the full migration."3. Claude explores models, migrations, query sites → presents 6-step plan (dual-write phase, backfill, cutover, cleanup)4. You spot a missing index in step 3 → "edit plan: add index before backfill"5. Approve → Claude implements step by step, running tests between stepsThe plan cost a few thousand tokens and prevented a production incident.
🧠 Quick Recall
Section titled “🧠 Quick Recall”- Trick: “Plan before you touch.”
- Thinking ladder: think < think hard < ultrathink.
- opusplan = “Opus brains plan, Sonnet hands type.”
👨🏫 Teach It
Section titled “👨🏫 Teach It”- Show: Shift+Tab into plan mode, plan a refactor, edit the plan, approve.
- They’ll trip on: staying in plan mode and wondering why nothing gets edited.
Learning path: ⬅ 09-context-window-management.md · Index · ➡ 11-real-world-workflows.md
Written by Fenil Patel