Part of our AI Comparisons
Models·9 min read
By BitsMinds Hands-on test

Claude Fable 5.1 vs Opus 5 vs Sonnet 5: One Point Apart

We gave four Claude models — Fable 5.1, Opus 5, Fable 5 and Sonnet 5 — the same five build briefs at maximum reasoning effort, one attempt each, with no browser to check their work. All twenty builds run live inside the article. Fable 5.1 won four of the five rounds and finished only a single point clear, because the round it lost was the one where its code never ran at all.

Claude Fable 5.1 vs Opus 5 vs Sonnet 5: One Point Apart
Share:
BitsMinds LabHow this test was run4 models · 5 briefs · one attempt per model per brief · Maximum reasoning effort for every modelShow details
Models
Claude Fable 5.1 · Claude Opus 5 · Claude Fable 5 · Claude Sonnet 5
Attempts
One attempt per model per brief. No retries, no follow-up notes, no cleanup.
Reasoning effort
Maximum reasoning effort for every model.
Tools allowed
No browser: none of the models could open its own output to check it.
Timing
Wall-clock time from prompt to finished file, measured for every round.
Scoring
4 points for a round win down to 1 for last; round two shared between Opus 5 and Fable 5. Final: Fable 5.1 wins with 17 points, Opus 5 takes 16, Fable 5 takes 13, Sonnet 5 takes 6.
Judging
Scored by BitsMinds from a local side-by-side comparison page of the untouched outputs. No blind scoring, no automated grading.
Published
September 5, 2026

Result

ModelProviderScore
Claude Fable 5.1Anthropic17 pts
Claude Opus 5Anthropic16 pts
Claude Fable 5Anthropic13 pts
Claude Sonnet 5Anthropic6 pts

Fable 5.1 wins with 17 points, one ahead of Opus 5, after winning four of five rounds and losing the fifth completely.

The briefs — as described in the article; the exact prompt files were not published

  1. Round 1: Seaside fairground (SVG)

    A fairground at dusk as one self-contained SVG. A Ferris wheel with at least ten gondolas turning continuously, a carousel with at least six horses rising and falling out of phase, twinkling bulbs, chasing rim lights, a reflection in the water, a seamless loop. Each gondola must stay upright throughout the rotation.

    Result: Fable 5.1, then Opus 5, Fable 5, Sonnet 5.

  2. Round 2: Falling-sand sandbox (single HTML file)

    Sand, water, stone, wood, fire, smoke and an eraser on a grid at least 200 cells wide at 60fps. Water must level out, sand must sink through it, fire must eat wood and die.

    Result: Fable 5.1 on performance; Opus 5 and Fable 5 shared second; Sonnet 5 last.

  3. Round 3: Self-solving Rubik's cube (WebGL)

    A 3x3x3 cube in WebGL, scrambling itself with about twenty animated turns and then solving back. Every one of the six faces must actually be a single colour — make sure your rotation logic really returns the cube to solved.

    Result: Opus 5 first. Fable 5.1's cube never ran — a const declared fourteen lines too late.

  4. Round 4: Motorway interchange (SVG)

    A top-down interchange as one SVG, two roads crossing on different levels, connecting ramps, at least twelve vehicles, and correct layering so cars vanish under the overpass.

    Result: Fable 5.1 — the only one of the four without a visible fault.

  5. Round 5: Rocket launch (web page)

    A self-contained web page that animates a rocket launching — countdown, ignition, liftoff and ascent — with a mission-control HUD. No library named, no 3D requested, and one aesthetic instruction: make it look good.

    Result: Fable 5.1 took the tiebreaker, and with it the run. Fable 5's entry was its original June build.

Read with care

  • Single run per model — a re-run could land differently.
  • Scored on the finished artefact only; cost to run was not weighed.

Part of BitsMinds Lab, our series of original hands-on tests.

In June we started handing frontier Claude models the same build brief and publishing whatever came back, untouched. This is the third run, and the biggest: Anthropic's Claude Fable 5.1, Opus 5, Fable 5 and Sonnet 5, five tasks each, one attempt apiece. No retries, no follow-up notes, no cleanup. All twenty builds run live in this article.

Two conditions held, as they have in every run of this series. Every model was set to maximum reasoning effort, so nothing below can be explained away by a model not being given room to think. And none of them could open a browser to check its own work — they wrote a file and stopped, exactly as a person pasting a prompt into a chat window would.

Fable 5.1 won it, 17 points to 16. It also won four of the five rounds. How a model wins four rounds out of five and still nearly loses is the story.

Round 1: A seaside fairground, in pure SVG

The brief: a fairground at dusk as one self-contained SVG. A Ferris wheel with at least ten gondolas turning continuously, a carousel with at least six horses rising and falling out of phase, twinkling bulbs, chasing rim lights, a reflection in the water, a seamless loop. The trap is one clause — each gondola must stay upright throughout the rotation — which takes a second animation running backwards against the first.

Animated seaside fairground built by Claude Fable 5.1
Fable 5.1, 35 minutes. The only entry that both positioned the gondolas correctly around the wheel and turned the carousel horses to face the direction of travel.
Animated seaside fairground built by Claude Opus 5
Opus 5, 24 minutes. The fullest picture of the four: crowds on the pier, a moored boat, a bat crossing the sky, a glitter path on the water.
Animated seaside fairground built by Claude Fable 5
Fable 5, 39 minutes. Elegant animation engineering, but the carousel canopy reads as a flat triangle of cardboard.
Animated seaside fairground built by Claude Sonnet 5
Sonnet 5, 69 minutes. The Ferris wheel is correct. The carousel has come apart: the canopy lurches around detached from the ride and the horses are bunched into one overlapping row with their poles ending in mid-air.

All four kept the gondolas level. Fable 5.1 went further than the brief asked in a way that only shows if you watch closely: its horses face the direction the carousel is turning. Sonnet 5 solved the hard clause and then abandoned the easy half of the scene.

Round 2: A falling-sand sandbox, one HTML file

Sand, water, stone, wood, fire, smoke and an eraser on a grid at least 200 cells wide at 60fps. Water must level out, sand must sink through it, fire must eat wood and die. All four are live and paintable — pick a material and drag. Try setting the wood alight, then pouring water on it.

Fable 5.1

Opus 5

Fable 5

Sonnet 5

There is no correctness gap here at all. Four working sandboxes, four sets of right answers: sand piles at a proper angle of repose, water finds its level, fire consumes wood and dies without fuel, and sand dropped into water sinks through it and settles underneath without breaking the surface. This round came down to feel, and Fable 5.1 took it on performance.

Round 3: A Rubik's cube that solves itself, and the round that decided the test

A 3x3x3 cube in WebGL, scrambling itself with about twenty animated turns and then solving back. The pass mark was stated outright in the brief: every one of the six faces must actually be a single colour — make sure your rotation logic really returns the cube to solved.

Opus 5

Fable 5

Sonnet 5

Fable 5.1

That last frame is not a loading delay. Fable 5.1's cube never runs at all, and the reason is four lines of ordering:

277|   cubies.push(cubie);
278|   snap(cubie);          <- calls the function here
279| }
        ... fourteen lines later ...
292| const _m4 = ..., _vx = new THREE.Vector3(), ...
293| function snap(c) {
295|   _vx.fromArray(c.basis[0]);   <- which reads _vx

The call on line 278 resolves, because a function declaration is hoisted to the top of its scope. But snap reads _vx, and const is not hoisted — it sits in what the language spec calls the temporal dead zone until the line that declares it executes. So the first cubie built throws Cannot access '_vx' before initialization, the module dies, and the page waits forever on its own loading message.

The fix is moving one line. And note what this does not tell us: the cube's rotation logic was never reached, so we cannot say whether it works. Nobody has ever seen it run. A model thinking as hard as it can, on a task whose brief explicitly asked it to make sure the thing worked, shipped a file that fails on the first statement that matters — because it could not open a browser, and it never re-read its own declaration order.

Round 4: The interchange, revived

This brief is from our first build-off in June, where it caught two different models on two different faults: Opus 4.8 drew beautiful loop ramps that connected to nothing, and Fable 5 merged cars into oncoming traffic. A top-down interchange as one SVG, two roads crossing on different levels, connecting ramps, at least twelve vehicles, and correct layering so cars vanish under the overpass.

Animated highway interchange built by Claude Fable 5.1
Fable 5.1, 26 minutes. The only one of the four without a visible fault.
Animated highway interchange built by Claude Opus 5
Opus 5, 42 minutes and 141 KB — over ten times the size of the others, with a skewed flyover, hard shoulders and forty vehicles. The exit geometry is right, but the white shoulder line runs straight through the exit, so the ramp is never separated from the highway it leaves.
Animated highway interchange built by Claude Fable 5
Fable 5, 26 minutes. Two lanes are drawn and the traffic leaving the interchange drives down the middle of them, riding the dashed divider.
Animated highway interchange built by Claude Sonnet 5
Sonnet 5, 39 minutes. Watch a car leave the interchange: it never arrives from the main road at all.

Sonnet 5's is the interesting failure, because it took three separate checks to find. Its ramp path endpoints touch both roads, so the geometry says the ramps connect. Its drawing order puts the ramp vehicles beneath the bridge deck, so the exit traffic is hidden at the wrong moment. But watching the animation shows the real fault: all four of its ramp vehicles are created inside the frame, at the road's edge, out of nothing. Every other model routes ramp traffic along a path that starts off-screen and runs down the mainline before curving away, which is what sells the connection. Sonnet's loops touch both roads while no vehicle ever travels between them — Opus 4.8's June failure in a new costume.

Round 5: The tiebreaker

Four rounds in, Fable 5.1 and Opus 5 were level. So we revived the other brief from June, and it is the only one in the series that does not say how to build: a self-contained web page that animates a rocket launching — countdown, ignition, liftoff and ascent — with a mission-control HUD. No library named, no 3D requested, and one aesthetic instruction: make it look good.

In June, both models reached for Three.js and WebGL from a CDN without being asked. This time none of them did. Opus 5 and Fable 5.1 each hand-built the whole thing on 2D canvas; Sonnet 5 used no canvas at all, only DOM and SVG.

Fable 5.1 — 49 minutes

Opus 5 — 31 minutes

Fable 5 — 36 minutes

Sonnet 5 — 39 minutes

Fable 5's launch here is its original June build, from the first time this brief was run.

The two leaders did something nobody asked for and that is easy to miss: both compute the speed of sound from altitude rather than dividing by a fixed 340 m/s. Fable 5.1 at 4.54 km reports Mach 0.73 where the standard atmosphere gives 0.729. Opus 5 at 7.22 km reports Mach 1.03 where the true figure is 1.028. Both implemented the atmospheric lapse rate to make a number in the corner of a HUD correct. Sonnet 5, meanwhile, compresses the entire flight into 32 seconds, reaching 181 km and 23,927 km/h at 1.9g and calling MAX-Q at 80 km — numbers that cannot all be true at once, on a rocket whose exhaust plume is visibly detached from the vehicle.

Between the two leaders it came down to a neat symmetry. Opus 5 fluffs the start — half the rocket is buried in the ground at ignition, and there is no way to restart it — but it ends correctly, with a proper engine cutoff. Fable 5.1 has the best-looking launch of the four, controls, and even sound, and its burn never ends; the camera also judders in the final phase of the ascent. Fable 5.1 took the round, and with it the test.

The clock

BuildFable 5.1Opus 5Fable 5Sonnet 5
Fairground35m24m39m69m
Sandbox31m13m20m38m
Rubik's cube25m16m16m42m
Interchange26m42m26m39m
Rocket launch49m31m36m39m
Wall-clock time from prompt to finished file, one run each.

The headline of the August run was that the largest model was also the fastest on every round. That did not survive contact with a fourth model. Opus 5 is still quick, but Fable 5.1 beat it on two of five, and the only consistent pattern left is at the bottom: Sonnet 5 was the slowest model on three of the five rounds and never the fastest on any.

The verdict: 17–16

FairgroundSandboxCubeInterchangeLaunchTotal
Fable 5.14414417
Opus 53343316
Fable 52333213
Sonnet 5112116
Four points for a round win, one for last. Round two was shared between Opus 5 and Fable 5.

Fable 5.1 won four of the five rounds and finished only a single point clear, because the one round it lost, it lost completely. Opus 5 won exactly one round, never placed below second, and never once shipped something broken.

The best builder and the most reliable builder finished one point apart, and the difference was a const declared fourteen lines too late.

That needs reading carefully. Fable 5.1 is not a worse engineer than Opus 5 — on four separate briefs it produced the better artefact, and on two of them it fixed faults that had beaten earlier models. What it lacks is the last step. Opus 5's cube counts its own stickers and reports the result; Fable 5.1's cube never got far enough to have an opinion. When you cannot run what you write, the model that re-reads its own file wins ties it did not deserve to win.

Sonnet 5's six points need context too. Its physics were correct, its cube solved, its Ferris wheel obeyed the one clause built to catch models out, and on the rocket it was the only model that reviewed its own code during the build and caught two real bugs. It is not incapable. It is consistently third-best and occasionally careless, and across five rounds that compounds into a scoreline that looks worse than the work.

This series has now run three times. In June the lesson was that whoever checks their own work wins. In August it was that the frontier model treats a correct answer as the middle of the job. Both still hold. What this run adds is narrower and more useful: at the top, the models are no longer separated by whether they can build the thing. They are separated by what happens in the ten seconds after they think they have finished.

Every file above is the untouched output of a single run. Scroll back up, watch the fourth cube fail to load, and decide for yourself whether one point is the right gap.

More on Claude

Evergreen coverage we keep current — start here.

Want AI news before everyone else?

The morning's most important AI stories, straight to your inbox. No fluff.

Related Articles

Inception Mercury 3 Editorial illustration: a thick teal tile with the Inception logo inlaid in cream, with a stream of small squares that are scattered and faint on the left and line up as they reach the tile, a metaphor for a diffusion model refining a whole block of text at once. Beside it the words Inception, Mercury 3 and 1,068 tokens per second, Inception's own speed figure. INCEPTION Mercury 3 1,068 TOKENS / SEC BITSMINDS.COM MERCURY 3
Models

Mercury 3: Inception’s Diffusion LLM Takes On Haiku 5.5

Nvidia Nemotron 3.5 Super VL and Bolt Editorial illustration: an open laptop with the Nvidia logo inlaid in green on its lid, in front of a rack server unit, beside the words Nemotron 3.5, Super VL and Bolt. The hardware is a generic editorial metaphor for models that run from the data center to a PC, not a depiction of a specific Nvidia product. NVIDIA Nemotron 3.5 SUPER VL · BOLT BITSMINDS.COM
Models

Nemotron 3.5: Nvidia’s Open Agent Models Reach the Laptop

Microsoft MAI-Base-2 Editorial illustration: a ceramic block inlaid with the Microsoft logo, standing for a pre-trained base model before post-training, beside the words MAI-Base-2, 2.8T, 80B active and 50T tokens. The block is an editorial metaphor, not a Microsoft product. — MICROSOFT AI · PRE-TRAINING MAI-Base-2 2.8T 80B ACTIVE 50T TOKENS BITSMINDS.COM
Models

MAI-Base-2: Microsoft Finishes a 2.8T-Parameter Model