Skip to content

GPT-6 and Opus 5.5 halve their prices: what should actually make you move is November

Published on 23 September 2026

Balanza antigua sobre una mesa: en un platillo fichas apiladas, en el otro un cronómetro parado, con la silueta de una persona de espaldas frente a una pizarra con líneas descendentes.

Anthropic released Claude Opus 5.5 and, an hour later, OpenAI shipped GPT-6 Sol and GPT-6 Luna. Same day. Simon Willison covered it on his blog, with his usual tests. Here is the summary, and then what I would do about it from today.

What happened

Both launches come with a price cut, and not a small one. This is how the market looks today, in dollars per million tokens:

ModelInputCacheOutput
GPT-6 Luna0.100.010.50
GPT-5.6 Luna0.200.021.20
Grok 4.720.506
GPT-6 Sol20.2010
GPT-5.6 Terra20.2012
Claude Opus 5.540.2020
GPT-5.6 Sol40.4020
Claude Fable 5.1100.2550
GPT-6 Astra10150

Three details that aren't in the headline but are in the small print:

  • The GPT-5.6 family has a 25% increase scheduled for November. So GPT-6 isn't half the normal price of the previous generation: it's half its promotional price.
  • GPT-5.6 Terra no longer makes sense. Same input as GPT-6 Sol — two dollars per million — and dearer output: twelve against ten.
  • Opus 5.5 gets a cut too. The whole Opus line, from 4.5 to 5, shared a price: five dollars per million in, twenty-five out. The 5.5 lands at four and twenty, a 20% reduction. And cache reads fall by 60%.

Anthropic says Sonnet 5.5 and Haiku 5.5 are coming soon. Haiku has its work cut out: the 4.5 sits at one dollar in and five out, ten times what GPT-6 Luna costs.

And one data point worth more than all of the above: Opus 5.5 at the "max" reasoning level returned nothing on the pelican-on-a-bicycle test. It kept thinking until it exhausted the 128,000 output token limit that Claude models have. Two attempts, two failures, nearly twenty minutes each and two dollars fifty-six per attempt straight in the bin.

Why it matters

You have a date, not a discount

A price cut on its own forces nobody to do anything. A price rise does. If you have production running on GPT-5.6, in November you pay 25% more for the same thing. That turns migration into something with a calendar: not "when we can", but "before November or we swallow the extra cost".

What I'd do this week, in this order: pull the real spend per model for the last thirty days, project that same volume against the new rates and against the November rise, and order the migration by money, not by enthusiasm. It usually turns out that 80% of the saving sits in two or three heavily repeated calls — classify, summarise, extract fields — and the rest isn't worth touching.

The cache is still where the money is

I wrote this when Anthropic cut Fable 5.1's cache pricing, and it repeats: in a long agentic conversation, 90% or more of input tokens are billed at cache rates. Opus cache reads dropping 60% weighs more on your invoice than the two dollars off the headline input price. If your agent rebuilds the prompt on every turn and breaks the cache, you're paying the expensive price of a cheap tariff. Checking that takes an afternoon and shows up in the month.

Cheap changes which features are viable

At ten cents per million in and fifty out, things you dropped on cost grounds come back onto the table: classifying every incoming email, summarising every ticket, labelling the whole history. Before you get excited, do the sums with your real volume and your average prompt length. It's the only figure that matters and no benchmark will hand it to you.

The "max" failure is the most useful lesson of the day

A model that starts reasoning and blows through its own output limit without returning anything isn't a funny anecdote: it's a failure mode your code has to handle. If it happens on a silly SVG, it can happen on an intermediate step of your agent at three in the morning. Three concrete measures:

  1. Cap the reasoning effort per task. The top level isn't "better", it's "dearer and slower". Use it where you've measured it.
  2. Treat the empty response as a first-class failure, with a retry at a lower effort level. Not as a generic error that ends up in a log nobody reads.
  3. Log tokens and cost per call, not just per month. A failed call is still billed. If you can't see it per call, you can't see it.

What doesn't change

A model ten times cheaper isn't ten times less risky. You still need your own evaluation set with your own data. Swapping models without a test bench of your own is tossing a coin with your client's money.

The pelican isn't your use case. Willison's comparisons are honest precisely because he says himself that they're mostly useful for comparing one model family at different reasoning levels. Day-one impressions are exactly that: day one.

The 128,000 output token limit is still there, and rate limits, latency and availability haven't changed just because the tariff went down.

And prices go up. The scheduled GPT-5.6 rise proves it without needing any theory: today's tariff is a snapshot, not a contract. If your product's margin depends on a supplier not touching its price list, you don't have a margin, you have luck. Abstract the model call just enough to swap it without rewriting half the system — just enough, not a three-storey indirection layer — and measure before you move.

Willison has already made GPT-6 Sol and Opus 5.5 his defaults in his tooling, and moved his Datasette agent demo to GPT-6 Luna. That's a reasonable signal to start testing. Not to migrate production on a Friday.

Any questions, tell me and we'll look at it.

Best, Vicente.

Source: Simon Willison

Did reading this raise a question?

Ask us. We answer even if you never become a client.