Skip to content

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.

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.

MethodHow
Cycle permission modesShift+Tab (Normal → Accept Edits → Plan)
Start in plan modeclaude --permission-mode plan
Ask directly”make a plan before implementing”
  1. You describe the task; Claude explores the codebase
  2. Claude presents a structured plan
  3. You approve (Claude implements, session auto-named from the plan), edit the plan, or reject with feedback
  4. On approval, mode switches back so Claude can edit files
  • 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

/model opusplan uses Opus for plan mode reasoning, then switches to Sonnet for execution — max intelligence for the decisions, lower cost for the typing.

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

Ask Claude to think harder on genuinely hard problems — include the word “think” in your prompt, escalating:

think about this bug
think hard about the race condition here
ultrathink: design the migration strategy for zero downtime

More thinking = slower + more tokens, so reserve it for design decisions, gnarly bugs, and tradeoff analysis — not routine edits.

/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.

The opposite lever: /fast toggles fast mode (Opus with faster output) for quick iterations on well-understood tasks. Toggle off for hard problems.

1. Shift+Tab twice → plan mode
2. "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 steps

The plan cost a few thousand tokens and prevented a production incident.

  • Trick: “Plan before you touch.”
  • Thinking ladder: think < think hard < ultrathink.
  • opusplan = “Opus brains plan, Sonnet hands type.”
  • 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