Choosing a Model: Opus, Sonnet, Haiku
Claude Code can run on different Claude models. They are not simply "good, better, best": each trades depth of reasoning against speed and cost, and the right pick depends on the task in front of you.
The rule
Opus for hard thinking, Sonnet for daily work, Haiku for quick jobs.
- Opus is the most capable family. It shines at tricky debugging, design decisions and planning large changes. It is slower and the most expensive per token, and on a subscription it uses up your allowance fastest.
- Sonnet is a strong, fast coder and a sensible choice for most everyday work: features, bug fixes, tests.
- Haiku is the fastest and cheapest. It suits simple, well-defined jobs: small edits, short summaries, quick questions. It is also a natural fit for light helper work, such as a subagent that only searches.
Model versions change often; these family roles are the durable part. Your default depends on your plan and account and changes over time, so check /status or /model to see which model you are on.
Switching is quick: use /model inside a session, or choose when you start.
claude --model sonnet
claude --model opusSome setups also offer a hybrid setting that plans with a stronger model and carries out the plan with a faster one. /model shows the options your version offers.
The shortcut
Start in the middle, move up when stuck, move down when it is routine. Default to Sonnet. If the same problem survives two honest attempts, or the task needs a design decision, move up to Opus. If the work is mechanical, move down to Haiku.
Rename a variable in three files
Mechanical and easy to check. Haiku, or Sonnet, does it quickly and cheaply.
The trap runs both ways. Always using the biggest model burns budget on work a lighter model handles fine. Always using the smallest one fails on hard problems and costs you retries. The cheapest model is the one that gets it right first time.
Drills
Answer fast — trust the rule.
Which model family fits a mechanical rename across three files?
Sonnet has tried twice to fix the month-end double charge and failed. What next?
How do you start a session on a chosen model from the shell?
Why is "always use the biggest model" a poor habit?
Remember
- Opus for hard thinking, Sonnet for daily work, Haiku for quick jobs.
- Shortcut: start in the middle, move up when stuck, move down when it is routine.
- Trap: one model for everything, which is either too costly or too weak.
