Voltar aos guias
Models·4 de setembro de 2026·9 min de leitura

Claude Opus vs Sonnet vs Haiku — cost per finished task, not cost per token

A tier that costs 5x per token but finishes in one attempt instead of three is not 5x the cost. Here is the arithmetic.

Last reviewed on .

The tier comparison everyone publishes is a table of token prices. The decision does not turn on token prices. It turns on cost per finished task — and a tier that costs five times as much per token but gets there in one attempt instead of three is not five times as expensive.

So this page gives you the arithmetic rather than a verdict, computed from live catalog rates with every input visible. The number it produces is not a price. It is an attempt count: how much worse a cheaper tier has to be before it stops being cheaper.

The rates

TierKunavo, per 1M in / outAnthropic listPer agentic step
Claude Haiku 4.5$0.40 / $2.00$1.00 / $5.00$0.012
Claude Sonnet 4.6$1.20 / $6.00$3.00 / $15.00$0.037
Claude Opus 5$2.00 / $10.00$5.00 / $25.00$0.062

Rates are read from the catalog at render time and printed next to Anthropic's own list price, so both halves are checkable. Nothing on this page is a hand-typed number.

The arithmetic that actually decides it

# Cost per finished task, not cost per million tokens.
#
#   task_cost = step_cost x steps x attempts
#
# A step here is 25,000 input + 1,200 output tokens —
# one agentic round trip, sized the same way every cost page on
# this site sizes it.
#
#   Claude Haiku 4.5       $0.012 / step
#   Claude Sonnet 4.6      $0.037 / step
#   Claude Opus 5          $0.062 / step
#
# So the break-even is an ATTEMPT COUNT, not a price:
#
#   Claude Haiku 4.5 stops being cheaper than Claude Sonnet 4.6
#   once it needs 3.0x the attempts.
#
#   Claude Sonnet 4.6 stops being cheaper than Claude Opus 5
#   once it needs 1.7x the attempts.
#
# That is the whole decision. Everything else is judgement about
# how many attempts YOUR tasks take on each tier.

Read the two break-evens as questions about your own work, not as recommendations. If the cheaper tier gets your tasks right first time, it wins by a wide margin. If it needs a second and third pass — and worse, if a wrong answer costs you a review cycle rather than just a retry — it stops winning quickly.

Two things this model deliberately leaves out, because pretending otherwise would be dishonest. It does not price your time: a retry costs a step, and reading a wrong answer costs a person. And it does not include a measured quality difference between the tiers on your tasks, because that is workload-specific and we have not benchmarked yours. Both push in the same direction — toward the stronger tier — so treat the arithmetic as the floor of the case for Sonnet or Opus, not the whole of it.

Why the split beats the choice

Framing this as “which one model” is the mistake. Real workloads are mixed: the same coding session contains architecture decisions and commit messages, and paying Opus rates for a commit message is as wasteful as asking Haiku to design a schema.

# The setting most people never change, and the one that pays.
# Claude Code fires background sub-tasks on its own; this decides
# which model gets them.

export ANTHROPIC_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

# Same idea in any client with a per-role model field: strong model
# for the work, cheapest model for the housekeeping.

In Claude Code the background sub-tasks are frequent, automatic and invisible — which makes the Haiku mapping the highest-leverage line in the config and the one almost nobody sets. The same idea applies in any client with per-role model fields; CC Switch exposes it as an explicit Sonnet / Opus / Haiku mapping, and Continue as one entry per role.

Running the experiment

The attempt count is the only unknown, and it is cheap to measure because the tiers share a request format: run the same ten tasks on two tiers, count how many needed a second pass, and multiply. On Kunavo they also share one key and one base URL, so the experiment is an environment variable rather than a second account.

Put your own token counts into the Claude token cost calculator — including the cached fraction, which on agentic workloads is most of the input and shifts every number here. The full rate table is on the Claude API pricing page, and the subscription-versus-token question is on Claude Pro and Max limits.

FAQ

What is the difference between Claude Opus, Sonnet and Haiku?

They are three capability tiers of the same model family, priced accordingly. Haiku is the small, fast and cheapest tier; Sonnet is the balanced default; Opus is the largest and most capable. At Kunavo rates per 1M tokens, Claude Haiku 4.5 is $0.40 / $2.00, Claude Sonnet 4.6 is $1.20 / $6.00, and Claude Opus 5 is $2.00 / $10.00. The tiers are interchangeable at the API level — the same request works against any of them, so switching is a model id, not a migration.

Is Claude Opus worth the extra cost over Sonnet?

Only where the task fails on Sonnet. The useful way to frame it is as an attempt count rather than a price ratio: at the step size used on this page, Claude Opus 5 costs about 1.7x a Claude Sonnet 4.6 step, so Opus is cheaper in total whenever Sonnet needs more than that many attempts to get the same task right. For routine edits and well-specified changes Sonnet usually needs one attempt and Opus is simply more expensive; for ambiguous, architecture-level work the attempt count on the cheaper tier climbs fast and the ratio flips.

Is Claude Haiku good enough instead of Sonnet?

For bounded, mechanical work — classification, extraction, summarising a diff, writing a commit message — Haiku frequently is, and the price gap is large enough that it should be the default for those. The break-even is the same shape: Claude Haiku 4.5 stops being the cheaper choice once it needs about 3.0x the attempts of Claude Sonnet 4.6. Where it tends to lose is on tasks that need holding several constraints at once, because a retry there is not just a retry — it is a human reading a wrong answer.

Which Claude model is cheapest for coding?

Per token, Haiku. Per finished feature, usually a split: a strong tier doing the edits and Haiku doing the background sub-tasks the client fires on its own. Claude Code already routes those sub-tasks to whatever is mapped to the Haiku tier, so setting that mapping is a one-line change that reduces every future session, while switching your main model is a quality decision you will notice.

How do I compare Claude model costs for my own workload?

Multiply, do not compare rates. Take your real input and output token counts per request from the usage object your API responses already return, multiply by the tiers' rates, then multiply by how many attempts each tier actually needs on your tasks. The last factor is the one that decides it and the one no pricing table contains. The Claude token cost calculator on this site does the first two and has a cached-tokens field, which matters because on agentic workloads most of the input repeats.

Can I switch between Claude tiers without changing my code?

Yes — the tiers share one request format, so the change is a model id string. On Kunavo they also share one key and one base URL, so moving a workload from Sonnet to Haiku is an environment variable rather than a second account, second billing relationship and second set of credentials. That is what makes the attempt-count experiment on this page cheap enough to actually run.