Back to Blog

Opus 5.5 and GPT-6 Sol Compete on Cost per Task, Not Just Scores

Anthropic and OpenAI launched Opus 5.5 and GPT-6 Sol on the same day, both pitched on cost per task, which makes cache hit rate the number to check before switching defaults.

Umut Korkmaz

Published: 4 min read

Anthropic released Claude Opus 5.5 on September 22, and OpenAI shipped GPT-6 Sol and GPT-6 Luna the same day. Both launches make the same pitch: similar or better results for much less money per task. For teams running coding agents for hours a day, that framing is more useful, and it changes what to measure before switching defaults.

What actually shipped

On the Anthropic side:

  • Opus 5.5 is the first model in the Claude 5.5 family. Sonnet 5.5 and Haiku 5.5 are due in the coming weeks.
  • Anthropic says it performs at the level of Claude Fable 5.1 on most work and, at default settings, costs 40% less than Opus 5 on typical workloads.
  • It costs $4 per million input tokens and $20 per million output tokens (Opus 5: $5 and $25). Cache reads drop from $0.50 to $0.20 and cache writes from $6.25 to $5. Output is more than 30% faster.
  • It is on all platforms, including AWS, Google Cloud and Azure; the Claude Platform model ID is claude-opus-5-5. The Claude Code 2.1.280 changelog makes it the default Opus model, with 1M context.

On the OpenAI side:

  • GPT-6 Sol and Luna sit below GPT-6 Astra. In the API they are gpt-6-sol and gpt-6-luna, and they are rolling out in ChatGPT Work and Codex for Plus, Pro, Business, Enterprise and Edu users.
  • API prices for Sol and Luna are 50% lower than their GPT-5.6 promotional pricing.
  • OpenAI reports GPT-6 Sol at 68.8% on DeepSWE v1.1 at max effort. It also says Sol makes about half as many mistakes as its predecessor on an internal factuality evaluation.

The cache read is the line item that matters

The key sentence in Anthropic's post sits in parentheses: cache reads "make up the majority of agentic and coding work costs." Every turn of a long run re-sends the system prompt, tool definitions, repo context and the conversation so far. The new tokens per turn are few; the re-read prefix is large.

An Opus 5.5 cache read costs 5% of a fresh input token ($0.20 against $4). On Opus 5 it was 10%. OpenAI gave caching a whole section of its post:

  • higher cache hit rates by default
  • a 90% discount on cached input reads
  • a caching dashboard and a diagnostics tool
  • explicit breakpoints, so you choose where the cached prefix ends
  • changing reasoning effort or turning tools on and off no longer breaks the cache

The discount only applies when the cache hits. The same Claude Code release fixes a bug where switching models from a host app while Claude was working caused a cache miss on the next prompt. It also fixes resumed fork subagents rebuilding their tool list, which broke their caching. If a mature harness ships bugs like these, in-house agent loops likely have them too. Hit rate is the first number I'd check, ahead of list price.

Read both benchmark tables with care

Anthropic's Terminal-Bench 4.0 table shows Opus 5.5 at 66.4%, against 52.3% for Opus 5 and 57.9% for GPT-6 Astra. The notes under the table say Opus 5.5 ran at xhigh effort, the Astra figure is OpenAI's own report, and the standard error for Opus 5.5 is ±2.6 points. Anthropic itself says that at this level, benchmark margins have become a less reliable guide to real-world differences.

OpenAI's DeepSWE comparison is against Claude Fable 5, because Fable 5.1 scores weren't available. Its factuality evaluation uses conversations where users had already flagged a factual error, which OpenAI says is not representative of typical usage.

Also note: Opus 5.5's safeguards reroute most cybersecurity tasks to Opus 4.8, though routine bug fixing in your own code is still allowed. It is also no longer available with thinking switched off. If your pipeline does security work or disables thinking to save tokens, test that path.

What I'd check before changing a default

  • Pin model IDs. Claude Code 2.1.280 made Opus 5.5 the default Opus model, so anyone who picks "Opus" there moves to it as soon as they update. Make that change on purpose, not by accident.
  • Re-run your own evals on real tasks from your own repos. Measure pass rate, tokens, cost per task and wall-clock time. Anthropic says Opus 5.5 at default effort beats Opus 5 at max effort on Terminal-Bench 4.0 for about a fifth of the cost, so test that on your tasks.
  • Log cache hit rate per session and find what breaks the prefix: switching models mid-session, tool lists that change between turns, timestamps in system prompts.
  • Check history rewriting. Preserved thinking, Anthropic's anti-distillation safeguard, stops API users from editing Claude's prior context. It applies to Opus 5.5 and Fable 5.1 on API accounts created on or after August 31, 2026, so harnesses that rewrite history need testing.

My take

The race has moved from who tops the leaderboard to who finishes a long agentic run for the least money without cutting corners. I route work across models by cost every day. My plan is to run Opus 5.5 and GPT-6 Sol through the same Quorate gates on the same diffs. Then I'll compare cost per accepted change, not cost per token, before either one becomes a default reviewer or a long-migration model.

Sources

Primary references used for this post.

  1. anthropic.com/news/claude-opus-5-5 (opens in a new tab)
  2. openai.com/index/introducing-gpt-6-sol-and-luna (opens in a new tab)
  3. github.com/anthropics/claude-code/blob/main/CHANGELOG.md (opens in a new tab)

About the author

Umut Korkmaz

Lead Software Engineer

I'm a senior software engineer in Istanbul. Here I write about the tools and releases I've shipped to production myself, and what they taught me along the way.

Picked by shared topics.