Claude Code · Opus + Sonnet pattern

Plan mode = think.
Do mode = act.

Two different modes, two different AI models, one clean handover. Here's the whole story.

Section 1 — The two modes

What each mode is allowed to do

Claude Code has a safety switch. In Plan mode it can only look and think. In Do mode it can actually change things.

🧠

Plan Mode

Claude reads your code, asks questions, and writes a plan — but touches nothing.

  • Read files
  • Search codebase
  • Ask you questions
  • Write a plan file
  • Propose changes
  • Edit files
  • Run shell commands
  • Create or delete anything
  • Push code
  • Big / risky changes
  • Unfamiliar codebase
  • Before you commit
🔨

Do Mode (default)

Claude reads and acts. It edits files, runs tests, installs packages — with your approval.

  • Edit any file
  • Run shell commands
  • Install packages
  • Run tests
  • Push code
  • Destructive actions
  • Force-push
  • Delete branches
  • You trust the plan
  • Small / clear task
  • After plan is approved

Section 2 — The Opus → Sonnet handover

Two AI models, one job

Claude Code uses a smarter-but-slower model to plan, then a faster-but-cheaper model to execute. The plan file is the bridge.

OPUS slow · smart · expensive 🔍 Explores codebase ❓ Asks questions 📄 Writes plan.md ✋ Stops. Waits. 🚦 ExitPlanMode plan file + your "yes" = the handover SONNET fast · capable · cheap 📖 Reads plan.md ✏️ Edits files 🧪 Runs tests 🚀 Ships code PLAN MODE GATE DO MODE

Section 3 — The lifecycle

Step by step

Everything that happens from "start planning" to "code shipped."

1 2 3 4 🚦 6 7 Enter plan mode Explore Draft plan Ask questions Exit PlanMode Execute Verify Opus · read-only Sonnet · edits files

Section 4 — The handover explained

What the handover actually is

It sounds fancy. It's not. Here's the whole truth.


Section 5 — The analogy

Think of it like building a house

🏛️

Architect = Opus

Walks the land, asks what you need, draws up the blueprints. Doesn't touch a single brick. Smart, slow, charges a lot per hour.


Blueprint = plan.md

📐

Blueprint = the plan file

The one thing that crosses from planning to building. You (the client) approve it before anything gets built. No blueprint = no building.


= ExitPlanMode + your "yes"

🔨

Builder = Sonnet

Reads the blueprint, gets to work. Doesn't need to know why the architect made those choices — just needs clear instructions. Fast, efficient.


Edits files, runs tests, ships


Section 6 — Quick reference

Cheat sheet

🧠 Use Plan mode when…

  • The task is large or risky
  • You're new to the codebase
  • You want to review before anything changes
  • You'd regret a mistake
  • Multiple files will be touched

🔨 Use Do mode when…

  • The task is small and clear
  • You already have a plan
  • You trust the AI's judgment
  • You want it done fast
  • It's reversible (git is your safety net)

🚀 The golden path

  • Start in Plan mode
  • Let Opus explore
  • Read the plan, ask questions
  • Approve → ExitPlanMode
  • Sonnet executes, you verify