Anthropic's own lineup creates this decision, and it's the most common model question Claude users actually face. Both models share a 1M-token context window, the same modalities (text, images, PDFs), reasoning, and tool calling. What differs is price, output ceiling, and how they handle the hardest work.
What does the price difference add up to?
Sonnet 4.6: $3/Mtok in, $15/Mtok out. Opus 4.7: $5 in, $25 out. On a workload of 1M input and 200K output tokens per day, Sonnet costs about $180/month and Opus about $300/month. Run everything on Opus and you're paying a 67% premium across your whole traffic for headroom most calls never use.
That's the case for defaulting to Sonnet. The case for Opus is what happens on the calls where Sonnet isn't enough.
What does Opus actually do better?
Judgment on hard problems. The concrete version: long agentic sessions that stay on track instead of drifting, tricky refactors that come back right the first time, multi-file changes where the model has to hold a plan. When Sonnet needs two or three attempts, each retry costs tokens and, worse, your time reviewing failed output. A task that Opus completes once for $0.50 is cheaper than one Sonnet completes on the third try for $0.90.
Opus also doubles the output ceiling, 128K tokens per response against Sonnet's 64K. If you generate large single artifacts, that alone can force the choice.
How do teams split traffic in practice?
The pattern we keep seeing, and use ourselves: everything defaults to Sonnet 4.6. Then watch two signals per call site: retry rate and human-correction rate. Call sites that keep failing get promoted to Opus. In most codebases that ends up being a small fraction of traffic, deep refactoring, architecture-level changes, long agent runs, while the bulk stays on Sonnet at 60% of the cost.
The anti-pattern is running Opus for everything out of caution. You'll pay roughly $120 more per month per 1M-daily-input of traffic, mostly for tasks where the models are indistinguishable.
When is Sonnet simply enough?
Honestly: most of the time. Everyday feature work, code review, test writing, documentation, summarization, standard agent substeps. Sonnet 4.6 is itself a frontier-class model; it isn't the budget option, it's the default option. Reserve Opus for the work you'd assign to your most senior engineer, and let the retry data tell you where that line sits in your codebase.