Skip to main content

Claude Opus 5 Lands, and It Outperforms Fable 5 Where It Counts

Silicon chip die macro with precision circuit traces lit in warm amber light against a dark background

Anthropic shipped Claude Opus 5 on July 24. Four days later I'm still sitting with the benchmark numbers, because they tell a story I didn't expect: on the metrics that actually matter for builder work, Opus 5 outperforms Fable 5 at exactly half the token price.

That's not "close enough." That's a genuine inversion.

What the Numbers Actually Say

Fable 5 has been Anthropic's flagship since June. It costs $10 per million input tokens, $50 per million output tokens. Opus 5 costs $5/$25 per million tokens, which is identical to Opus 4.8. Same price point, better performance on the key evals.

On Frontier-Bench v0.1, the agentic coding benchmark I weight most heavily right now, Opus 5 scores 43.3%. Fable 5 scores 33.7%. On SWE-bench Pro it posts 79.2%. On ARC-AGI-3, which tests novel problem-solving rather than memorized patterns, Opus 5 scores 30.2%. The next-best model scored 7.8%. Fable 5 wasn't even tested on it.

Artificial Analysis pegged the weighted average cost-per-task at $2.03 for Opus 5 versus $2.75 for Fable 5. Cheaper per token AND cheaper per task AND better on the hardest agentic and reasoning evals. That's a genuinely strange situation.

The Effort Mode Change You Need to Know

In the 4.x era, Anthropic told you to start at xhigh effort for agentic work and dial down if cost was a concern. Opus 5 flips that guidance. You start at high and only reach up if you need it.

This matters in practice. At low effort, Opus 5 delivers well over half its peak score using roughly a third of the output tokens. If you're running a high-volume agentic loop where most steps are fairly routine, low or medium effort will be significantly cheaper and still produce useful work. There's also a fast mode that runs about 2.5x faster at $10/$50 per million tokens, which makes sense when latency is the constraint rather than cost.

Precision-machined rotary control dial on a dark matte panel surface

The practical implication: for the "thinking budget" pattern I've been using in my agents (where each tool call gets a budget of thinking tokens scaled to how hard the step is), Opus 5 maps cleanly to low/medium/high based on step complexity. You're not manually tuning thinking_budget integers anymore. You pick a tier.

When Would You Still Use Fable 5?

Honestly, the case is thinner than it was three weeks ago. The main argument I can construct is that your team has specific prompts or workflows already tuned to Fable 5's output style, and the cost of re-testing is real. Anthropic isn't retiring Fable 5, so nothing breaks.

There's also a practical privacy difference: Fable 5 requires a 30-day prompt retention agreement for general API access. Opus 5 has no data retention requirement. For any enterprise use case with PII in the prompt, that's a cleaner posture by default.

If Fable 5 still wins on a specific narrow benchmark that's critical to your use case, that's a valid call. But "we use Fable because it's the best" is harder to defend now that the benchmarks show otherwise on the tasks most builders actually run.

How I'm Rethinking My Routing

I currently route between Sonnet 5 for fast classification and extraction tasks, Fable 5 for deep reasoning and multi-step planning, and Sonnet 5 with extended thinking as a middle tier. I'm collapsing that to Sonnet 5 and Opus 5, with effort level doing the work that model selection used to do.

Sonnet 5 for tasks that don't need reasoning across a large context or complex planning. Opus 5 at low or medium effort for high-volume tasks that benefit from some thinking. Opus 5 at high effort for anything where quality matters more than throughput, including the orchestration and planning steps in multi-agent workflows.

I haven't run this in production yet. I've done enough spot checks to feel confident in the direction. The real calibration will come from watching actual task success rates, not benchmark extrapolation. One thing I'm watching closely: whether effort level interacts cleanly with the types of tool calls my agents make. Early impression is that medium handles most real agentic steps better than the benchmark numbers alone would suggest.

The Inference Economy Is Moving Faster Than Most Teams Realize

Anthropic's fourth Claude 5 release in under two months has pushed the frontier cheaper in a way that compounds. Sonnet 5 was already near-Fable-4.8 quality at a fraction of the price. Opus 5 now sits within a single point of Fable 5 on Artificial Analysis's intelligence index, at half the token cost, and ahead on the hardest evals.

If you're defaulting to the most expensive model in your stack out of habit rather than demonstrated need, now is a good time to run the audit. The math has shifted significantly, and it'll shift again. Build your routing layer to be model-agnostic and parameterized rather than hardcoded to a specific model name. That's the only real hedge in a landscape that's moving this fast.

Comments

Popular posts from this blog

AngularJs call one method of controller in another controller .

I have seen many question about calling one method of one controller in another controller or extending scope of one controller in another controller.so here are the ways. if you want to call one controller into another or extending scope of controllers there are four methods available $rootScope.$emit() and $rootScope.$broadcast() If Second controller is child ,you can use Parent child communication . Use Services Kind of hack - with the help of angular.element() 1. $rootScope.$emit() and $rootScope.$broadcast() Controller and its scope can get destroyed, but the $rootScope remains across the application, that's why we are taking $rootScope because $rootScope is parent of all scopes . If you are performing communication from parent to child and even child wants to communicate with its siblings, you can use $broadcast If you are performing communication from child to parent ,no siblings invovled then you can use $rootScope.$emit HTML <body ng-app = ...

250,000 AI Agent Instances Exposed on the Internet — Is Yours One of Them?

If You're Running OpenClaw, You May Want to Read This A public watchboard has surfaced listing over 250,000 OpenClaw instances that are directly reachable from the internet. Some of these instances have leaked credentials. Many are running on infrastructure already flagged for known CVEs and threat actor activity. This isn't theoretical. It's happening right now. You can check the exposure list yourself at openclaw.allegro.earth . Why This Is a Big Deal OpenClaw is a powerful AI agent framework. That power comes with serious responsibility. A typical OpenClaw deployment runs with: Personal API keys — OpenAI, Anthropic, Google, cloud provider credentials Broad system permissions — file access, shell execution, network requests Autonomous execution capabilities — the agent can act without human approval Complex codebases — large attack surfaces that haven't been fully audited When one of these instances is publicly reachable without authentication...

Closures in javascript and how do they work ?

JavaScript Closures for Dummies  Closures Are Not Magic This page explains closures so that a programmer can understand them — using working JavaScript code. It is not for gurus or functional programmers. Closures are  not hard  to understand once the core concept is grokked. However, they are impossible to understand by reading any academic papers or academically oriented information about them! This article is intended for programmers with some programming experience in a mainstream language, and who can read the following JavaScript function: function sayHello ( name ) { var text = 'Hello ' + name ; var sayAlert = function () { alert ( text ); } sayAlert (); } An Example of a Closure Two one sentence summaries: a closure is the local variables for a function — kept alive  after  the function has returned, or a closure is a stack-frame which is  not deallocated  when the function returns (as if a 'stack-fr...