Skip to main content
Chapter 2 Context Engineering & Project Setup

Leveraging Plan Mode for Risk-Free Design

7 min read Lesson 17 / 60 Preview

Plan Mode — design without touching files

Plan Mode is the single feature that turns Claude Code into a safe collaborator on big changes.

What Plan Mode does

In Plan Mode, Claude cannot use any tool that mutates state. It can Read, Grep, Glob and think — but it cannot Edit, Write or run Bash that changes anything. The output is a plan you approve (or reject) in one keystroke.

Activating it

Press Shift+Tab until the mode indicator says "plan mode" (you'll cycle through default → plan → accept-edits → bypass).

Or launch directly:

claude --permission-mode plan

When to use it

  • Any non-trivial refactor
  • Architectural changes affecting multiple files
  • Anything where "make a mistake" is expensive
  • Onboarding to an unfamiliar codebase ("explain how X works")

A real example

plan> Refactor app/Services/PaymentService.php to extract Stripe-specific code into a StripeAdapter, behind a PaymentGateway interface.

Claude will:

  1. Read PaymentService and its callers
  2. Identify what's Stripe-specific vs generic
  3. Propose: new files to create, files to modify, methods to move
  4. Show the planned structure as a tree
  5. Ask: "Approve and execute? [y/n]"

You read it. If the plan is wrong, you correct it conversationally. If it's right, one keystroke executes.

The Opus → Sonnet handoff

Plan Mode shines with Opus (deeper reasoning) for the plan, then Sonnet (cheaper, fast) for execution:

/model opus
[Shift+Tab to plan mode]
> Refactor PaymentService to introduce a PaymentGateway interface...

(approve plan)

/model sonnet
[execute]

You pay Opus rates only for the planning step, Sonnet rates for the implementation.

Plan Mode pitfalls

  • Don't approve plans you didn't read. Plans look authoritative; they can still miss things.
  • Big plans degrade. A 30-step plan is harder for Claude to execute than three 10-step plans.
  • Plan Mode can't catch all design issues. It can't run your tests; it doesn't know what'll fail at runtime.

Try it

Pick a refactor you've been putting off in your project. Open Plan Mode (with Opus if available). Don't approve the first plan — push back twice, refine it, then execute with Sonnet.

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support