Anthropic Made Sonnet 5's $2/$10 Permanent. A Footnote on the Same Page Eats Most of the Discount.
Claude Sonnet 5 launched at $2 per million input tokens and $10 per million output, described as introductory pricing through August 31, with a scheduled rise to $3/$15 on September 1. That increase was cancelled. Anthropic's pricing page now states plainly that $2/$10 is the standard price and the September increase will not occur.
Good news, and I said as much a couple of days ago when I argued against rearchitecting around a 30-day promo. A promo that becomes permanent is the outcome you hope for.
Then I kept reading the page.
The footnote
Two paragraphs below the pricing table, in the notes:
Claude 4.7 and later models and Claude Mythos Preview use a newer tokenizer that contributes to their improved performance on a wide range of tasks. This tokenizer produces approximately 30% more tokens for the same text. The exact increase depends on the content and workload shape. Claude Sonnet 4.6 and earlier models use the previous tokenizer.
Sonnet 5 is later than 4.7, so it is on the new tokenizer. Sonnet 4.6 is on the old one.
A pricing page prices tokens. Your workload is not measured in tokens, it is measured in text. Those two units have always been loosely coupled, and I have never thought hard about it because the coupling was stable across a vendor's model line. It is not stable here.
The arithmetic
Take one fixed piece of input text. Call the old tokenizer's count N.
Sonnet 4.6 at $3 per million input tokens costs you 3N units.
Sonnet 5 at $2 per million costs you 2 × 1.3N, which is 2.6N.
That is roughly a 13% saving on input, not the 33% the table implies. Output works out about the same: $15 × M against $10 × 1.3M is 15M against 13M, another 13%.
Cache reads scale identically, since they are priced as a multiple of base input. Sonnet 5's cache hits list at $0.20 per million against Sonnet 4.6's $0.30, and applying the same adjustment leaves you around 13% again. The discount is real. It is just a third of what the headline number looks like.
I want to stress the word "approximately" in Anthropic's sentence, and the qualifier that follows it. Thirty percent is a stated average with an explicit caveat that the exact increase depends on content and workload shape. Code, prose, non-English text, and structured JSON will not move by the same factor. If your workload is mostly one of those, your real number could be materially better or worse than 13%.
Why I do not think this is a trick
I am about to defend the company I just caught out, so let me be clear about what I am and am not claiming.
Anthropic disclosed this. It is on the pricing page, in the notes, in plain language, with an honest hedge attached. That is more than most vendors do with a change that affects billing. Nobody hid anything.
The stated reason is also plausible on its face: the tokenizer contributes to improved performance across a range of tasks. That is not a marketing dodge, it is a real tradeoff in tokenizer design. A vocabulary that splits text more finely can represent more distinctions, and the cost is more tokens per unit of text. If the model is genuinely better because of it, you are paying for something.
And the comparison that matters to most people is not Sonnet 5 against Sonnet 4.6. It is Sonnet 5 against whatever you are running today, on the quality you actually need. A 13% saving alongside a better model is a good deal. It is just a different deal from a 33% saving.
There is also a version of this where the tokenizer change makes Sonnet 5 look worse than it deserves. Token counts drive context window consumption as well as price, but Claude 4.6 and later ship the full 1M context at standard pricing, so a 30% token inflation does not squeeze you the way it would against a 200k ceiling. The place it does show up is per-request latency and any internal limits you set in tokens rather than characters.
What I would actually do
Stop reading pricing tables as if they compare like with like, and measure.
The measurement is not hard. Take a representative sample of your real prompts, a hundred of them, not a synthetic one. Run them through the token counting endpoint on both models. You now have your own multiplier instead of Anthropic's approximate one, and it is the only number that describes your bill. On the Claude API you can estimate a request's token count in advance rather than inferring it from an invoice.
Then do the same arithmetic I did above with your multiplier substituted in. If it comes out at 1.1, Sonnet 5 is a genuine 27% cut for you and you should move. If it comes out at 1.5, you are paying the same as Sonnet 4.6 and the decision is purely about model quality.
Two other habits worth forming from this:
Any internal limit you express in tokens is now model-dependent. If you truncate context at a token count, cap output with max_tokens, or bill your own customers per token, those constants were calibrated against a tokenizer that changed. Re-derive them rather than carrying them across.
Check the notes under the table, every time. Not just this vendor. The pricing table is the marketing surface and the notes are where the engineering lives. This is the second post I have written this month whose entire finding was in a paragraph below the fold of a vendor page, and I do not think that is coincidence.
The honest counter-argument
The strongest case against everything above: I am optimizing a rounding error.
If you are spending $40 a month on inference, the difference between a 13% and a 33% saving is under ten dollars, and the hour you spend running a token-count comparison is worth more than that. The people for whom this arithmetic is worth doing are the ones with a bill big enough that a fifth of it is real money, and if that is you, you already have cost monitoring and you would have noticed the discrepancy on your first invoice anyway.
I think that is largely right, and I would still write the post, because the transferable part is not the 13%. It is that a per-unit price only means something if the unit is fixed, and a vendor can change the unit while cutting the price and be entirely honest about both. That will happen again, with a different vendor, in a context where the numbers are not this friendly.
Author
Lukas
@lukcombinator