Every model's pricing page shows one number you are meant to compare: dollars per million tokens. Put two side by side and one looks cheaper. That comparison is broken - and if you build with an AI coding agent, it is broken in the most expensive direction. The price is per token, but a "token" is not a fixed amount of text: each model's tokenizer cuts the same file into a different number of pieces, and you pay per piece. Here is the number that lands on your invoice. The exact same TypeScript file is 681 tokens on GPT-5.x and 1,178 tokens on Claude's newest tokenizer - 1.73x more, and +31% over Claude's own previous tokenizer, before a cent of price difference. Your real workload as a builder is basically TypeScript, and TypeScript is exactly where the gap is widest. (English prose is a milder ~1.4x - more on why below.)
The number the pricing page hides
A model's bill is two numbers multiplied together:
cost = (tokens your content becomes) x (price per token)
The pricing page shows you the second number and treats the first as a constant. It is not a constant. It is a property of the model's tokenizer - the component that chops your text into the units the model actually charges for. Two models can advertise the exact same "$5.00 / 1M input tokens" and still hand you different bills for the same paragraph, because one turns that paragraph into more tokens than the other.
Nobody prints the tokens-per-content number, so nobody compares it. That is the whole illusion. To see the real price you have to measure the tokenizer, then multiply it back in.
Two floors the rate card hides
The rate card shows one price and hides two layers of cost beneath it. Both are measured below, both land on your invoice, and neither appears anywhere on a pricing page. Keep the two baselines straight, because they are different comparisons and the numbers only reconcile if you do.
Floor one - the same-sticker stealth hike. This is Anthropic's new tokenizer measured against its own previous one - a like-for-like, same-vendor comparison. Claude Opus 4.6 and Opus 4.8 carry the identical $5.00 / $25.00 rate card, but 4.8 ships the newer tokenizer, and it turns the same code into about 29-32% more tokens: +31% on TypeScript (898 to 1,178), +29% on Rust (1,019 to 1,312). "Same price, new model" quietly costs you roughly 30% more, and that increase is never printed as a line item.
Floor two - it is worst on the language you actually write. That ~30% is the average. Now measure the new Claude tokenizer against the leanest one on the market - GPT's o200k - on TypeScript, which is the bulk of what an AI coding agent produces. The gap is 73% (1,178 vs 681 = 1.73x). This is a cross-vendor comparison, and Anthropic never claimed token parity with GPT - so read it as the amplifier, not the accusation: it is what turns an abstract "$/Mtok" into the real damage on your specific workload. The rate card cannot show you either floor.
... continue reading