The price cut was never a discount
7m read time

The price cut was never a discount

OpenAI and Anthropic cut their prices by up to 80% in four months, and the obvious read is a land grab paid for with investor money. Anthropic's S-1 says otherwise: serving was already running at an 85% margin before the cuts, and a lower price per task is how the bill grows.

Near the end of his piece on why OpenAI and Anthropic cut their prices by up to 80%, Max Woolf wrote a line that got its answer within a day: "I will be very curious to see the Anthropic IPO prospectus and the inference profit margins once it becomes public soon."

Today Anthropic filed its S-1, and the margin is not in the income statement. During 2025 the company changed its presentation so that cost of revenue and gross profit "are no longer presented as separate line items in the consolidated statements of operations." The numbers are still in there. You just have to go to Note 8 for them.

Bars of Anthropic's gross margin rising from -95% to 85%, then four price steps down from June to September

The margin they stopped printing ​

Note 8 still lists cost of revenue, which the filing says is substantially all "compute and infrastructure costs associated with customer-serving workloads." Put it next to revenue and you get the margin on serving Claude. The division is mine, the inputs are theirs:

PeriodRevenueCost of revenueGross margin
2024$386M$752M-95%
H1 2025$1,163M$1,019M12%
2025$4,585M$2,773M40%
H1 2026$16,286M$2,380M85%

Within eighteen months, serving went from losing money on every dollar to keeping 85 cents of it.

Now line that up with Woolf's timeline. Sonnet 5 launched June 30 at a temporary price that became permanent. Opus 5 arrived July 24. Fable 5.1 cut the cache read price by 75% on September 1. Opus 5.5 followed on September 22 at $4 / $20 / $0.20. Every one of those cuts lands on the last day of the half-year that already ran at 85%, or after it.

That is not what a subsidised price looks like.

The land-grab reading still has something to stand on. The company as a whole is roughly break-even, at minus 4% operating margin in the first half of 2026, because research and development cost $9.7 billion, four times the cost of serving its paying customers. Competition is real too: the S-1 itself warns that open-weight models "could exert pricing pressure on our offerings." None of that needs a request priced below what it costs to serve, and Anthropic's are priced well above it.

What a lower price per task is for ​

The filing says it outright: "Lower costs per task drive greater usage, which in turn drives broader diffusion of Claude. Our compute efficiency allows us to deliver these reductions while preserving our margins."

Then it shows the evidence: Opus 4.5 launched in November 2025 with "a lower price and cost per task than its predecessor Opus 4.1," and quarter-over-quarter revenue growth went from 48% to 132%. Opus 5.5 "reduced customers' cost per task by approximately 40% compared to Opus 5." Net revenue retention sits at roughly 900%. The price per task falls, the number of tasks rises faster, and the bill goes up.

It even names who drives the bill. Claude Enterprise users without Claude Code spent less than $75 a month on average in the third quarter. The top 5% of those with Claude Code spent roughly twenty times that.

In June, writing about Copilot's switch to metered billing, I said token prices were subsidised to buy your habit. For Anthropic's serving costs, the filing says I was wrong. The habit was being bought at a margin, and by the filing's own account the cuts since have preserved it.

Where an agent's money actually goes ​

The headlines quote the output price. For a coding agent that is almost a footnote. Woolf puts cache reads at "the vast majority (96% - 99%) of the total token expenditure" when you code with an agent, "as the cache is what contains the entire previous conversation each turn."

My own transcripts are more lopsided still. In October, cache reads outnumbered output tokens by roughly 800 to one. Every turn re-reads the whole session: the system prompt, the CLAUDE.md, every file the agent opened, every tool result it kept.

So the cut that matters is the cache read. Opus 5.5 took 20% off input and output, and 60% off cache reads, from $0.50 to $0.20 per million tokens. Fable 5.1 cut only the cache read, and Woolf still counts it as 70-75% cheaper to use. Re-reading context is what running an agent costs, and that price fell hardest.

It also removes the pressure that kept sessions short. A bloated session used to cost money. Now it mostly costs latency and the model's attention, and neither shows up on an invoice.

My own meter never moved ​

I work on Claude Max 20x through my job, and I have Pro on the side. Both are a fixed amount per month, and neither invoice has a line for tokens. If the cuts reach me at all, they arrive as headroom under a limit.

My usage moved anyway. I have used Claude since Opus 3, but the Claude Code transcripts on this machine start on September 21, the day before Opus 5.5 launched, and nothing about either subscription has changed since. From the first week to last week, my weekly output tokens more than doubled. The model got good enough that I handed it more.

The S-1 does not count me in its headline metric: net revenue retention excludes "subscribers to our Claude Pro and Max plans." What I get instead is a usage limit, and the risk factors are plain about who controls it: "We have also changed, and may in the future change, usage limits, rate limits, or model and product capabilities."

If you write the code yourself ​

Put the saving into the part that was always scarce. Generation got cheap a while ago, and judgement stayed expensive.

  • Spend the cut on verification. Tests before the change, the suite on every turn, a second review pass over the diff. Those are the turns people skipped to save tokens.
  • Measure tokens per merged change, from your own transcripts, next to the total. Token leaderboards already showed that either number alone lies.
  • Keep the cache prefix stable. Prompt caching matches on the prefix, so your instructions and tool list should not change mid-session. Every edit up there throws away the cheap part of every turn after it.
  • Price your workflow at API rates once. If it only works because a subscription limit allows it today, write that number down.

If you vibe code ​

The cut changes your economics the most. A retry costs less, so you retry more, and every retry re-reads a context that grew with each failed attempt. Prompt, run, paste the error, prompt again: that loop is what a cheaper turn feeds, and it is how you end up among the twenty-times customers.

On a subscription you will not see the bill. You will see the limit, and the S-1 spells out where it leads: subscribers "may utilize a higher subscription tier or purchase more intelligence directly." That road runs one way.

  • Start a fresh session instead of arguing with a polluted one. A short context is cheap to re-read, and the model sees the bug itself instead of five failed fixes.
  • Set a stop rule. After three failed attempts at the same bug, stop prompting and read the code. If you cannot follow it, that is the moment to learn the part you skipped.

Whichever you are, keep a second route warm, an open model or a second provider, so switching stays a config change. The S-1 lists that pressure as a risk to Anthropic, which makes it your leverage. And expect the next cut to raise your spend. That is what it is for.

Woolf's own verdict on the cuts: "as a user I'm certainly not complaining!" Neither is the seller.

(41 of 41)
1You don't have an AI problem. You have a process problem.2Why you should never ship code you don't understand3Stop copy-paste engineering4The lava layer: why AI code is slowly petrifying your codebase5The brilliant parrot problem: what AI actually does when it 'thinks'6The prompt is not the spec7The bureaucracy of bots: why we are checking the checker8The day Claude deleted my production database9The arms race for your trust: Mythos, Cyber and the security hype10Stop letting your agents write Markdown11Your agent's suffering is your technical debt speaking12You can't spot the bug if you didn't write the code13One in four: the security debt nobody's counting14Your 10x developer is gated by a 0.1x pipeline15Benchmarks said frontier. Developers said "dumb."16Caveman vs context-mode: small mouth, or smaller room?17Code churn is the lava you can still measure18The ceiling is made of concrete19The token-saver tax: walking back my Caveman advice20Even the malware is AI slop now21ThePrimeagen was right22Tokenmaxxing is what happens when you measure the wrong thing23They just asked the bot nicely: your support agent is the attack surface24Speed got cheap. Judgement didn't.25Your coding agent has no world model. You built it one.26The Ferrari has a limiter: a day with Claude Fable 527The off-switch was never yours28An open MCP server is worse than an open database29The most resilient job is eating its seed corn30The off-switch works both ways now31AI writes the tests. Mutation testing checks if they work.32How to get better at reading code: a practice routine33Learning to program in the age of AI: what I would learn first34Who is responsible for AI-generated code? You are, and 2026 wrote it down35When not to use AI for coding: the tasks I still do by hand36Hiring junior developers in 2026: the collapse is a hiring decision37Software estimation with AI: the typing was never the estimate38Slopsquatting: checking that the package exists is not a defence39Eight reports, one bar: judging an AI safety sprint40Nobody's agent went rogue41The price cut was never a discount