Claude Opus 5 vs GPT-5.6 Sol: Not Even Close
Claude Opus 5 and GPT-5.6 Sol got the same three build briefs — a playable Pac-Man, an animated seaside fairground and a motorway interchange — one attempt each, with no browser to check their own work. All six builds run live in the article: play both games, watch the rest, and see which one holds up.
BitsMinds LabHow this test was run2 models · 3 briefs · one attempt per model per brief · claude opus 5 at maximum in claude code; gpt-5.6 sol at extra high in openai codex. each is the top of its own product's dial, which is not the same as a measured equivalenceShow details
- Models
- Claude Opus 5 (Claude Code) · GPT-5.6 Sol (OpenAI Codex)
- Attempts
- One attempt per model per brief. No retries, no follow-up notes, no cleanup; every build is served exactly as the model wrote it.
- Reasoning effort
- Claude Opus 5 at maximum in Claude Code; GPT-5.6 Sol at Extra High in OpenAI Codex. Each is the top of its own product's dial, which is not the same as a measured equivalence.
- Tools allowed
- Each model ran inside its own maker's agentic coding environment with file-write access — Opus 5 in Claude Code, Sol in Codex — under the same ban on opening a browser.
- Timing
- Wall-clock time from prompt to finished file, measured for every round. Sol was faster on all three, by up to 13.6x, and lost all three.
- Scoring
- 4 points to the round winner, scored on the finished artefact. Final: Opus 5 12, Sol 4.
- Judging
- Scored by a single BitsMinds editor from a local side-by-side comparison page of the untouched outputs. No panel, no blind scoring, no automated grading. The two Pac-Man builds were played in an ordinary browser rather than in any preview tool.
- Published
- September 11, 2026
Result
| Model | Provider | Score |
|---|---|---|
| Claude Opus 5 | Anthropic | 12 pts |
| GPT-5.6 Sol | OpenAI | 4 pts |
12-4 to Opus 5, which won every round. Sol wrote an arcade-accurate Pac-Man rule set in ten minutes and shipped ghosts that drive through walls.
The briefs — as described in the article; the exact prompt files were not published
Round 1: Pac-Man (single HTML file)
A complete, playable Pac-Man in one self-contained HTML file, no libraries and no network. The classic maze with the ghost house at its centre, dots, four power pellets and side tunnels that wrap. Four ghosts, each with its own distinct hunting behaviour. Arrow keys, WASD and swipe, with a turn requested slightly before a junction still taken. Score, high score, lives and levels, and it must fit and play inside a box about 700x620 on a desktop and 375x620 on a phone. Scatter phases, chain scoring and fruit were deliberately not mentioned.
Result: Opus 5 4-1. Sol's rule set is arcade-accurate in code, but its ghosts lock half a tile off the corridor centreline and ride the walls.
Round 2: Seaside fairground (SVG)
A seaside fairground at dusk as one self-contained animated SVG. A Ferris wheel with at least ten gondolas turning continuously, each staying level with the horizon throughout. A carousel with a spinning canopy and at least six horses rising and falling out of phase. Twinkling bulbs, chasing rim lights, a reflection in the water, a seamless loop.
Result: Opus 5 4-2, Sol's best round. Its Ferris wheel is correct; its carousel canopy turns while the horses bob on the spot.
Round 3: Motorway interchange (SVG)
A top-down interchange as one animated SVG, two roads crossing on different levels, connecting ramps, at least twelve vehicles following the curve of the road they are on, and correct layering so traffic on the lower road is hidden by the overpass.
Result: Opus 5 4-1, despite its own known fault. Sol's upper road is cut off and its traffic teleports between levels; the interchange ends connecting to nothing.
Read with care
- Opus 5's fairground and interchange are its existing entries from 14 August and 5 September rather than rebuilds on the day — the same carry-over used for Fable 5's rocket launch.
- Single run per model — a re-run could land differently.
- Different harnesses (Claude Code vs Codex) mean the environment, not just the model, was under test.
Part of BitsMinds Lab, our series of original hands-on tests.
Since June we have been handing the same build briefs to frontier models, one attempt each, and publishing whatever comes back without touching it. Every round so far has been something you look at. This one you can play.
We gave Anthropic’s Claude Opus 5 and OpenAI’s GPT-5.6 Sol three briefs: a complete, playable Pac-Man as one self-contained HTML file, a seaside fairground as an animated SVG, and a top-down motorway interchange. One shot each. No follow-up messages, no corrections, and — the constraint that defines this series — neither model was allowed to open a browser and look at what it had made.
Sol was faster on every single round, by margins this series has never recorded before, and it lost every single round. The final score was 12–4.
Both models ran inside their maker’s own agentic coding environment, each with file-write access and the same ban on opening a browser: Opus 5 in Claude Code at maximum reasoning effort, Sol in OpenAI Codex at Extra High. Those are each product’s top setting, which is not the same as a measured equivalence, and it is the closest to a fair fight the two labs allow.
Round 1: Pac-Man
The brief asked for a complete, playable Pac-Man in a single self-contained HTML file with no libraries and no network: the classic maze with the ghost house at its centre, side tunnels that wrap, four ghosts each with its own distinct hunting behaviour, power pellets, levels, lives, and a game that fits and plays inside a box roughly 700 by 620 pixels on a desktop and 375 by 620 on a phone. Nothing in the brief mentioned scatter phases, chain scoring, fruit, or how a turn should be buffered before a junction. Those were the things we wanted to see whether a model knew without being told.
Both models knew. That is the part of the result that surprised us.
Opus 5 took 39 minutes 53 seconds and wrote 1,077 lines. Its start screen names each ghost and what it does — Blinky chases you, Pinky cuts ahead, Inky flanks you, Clyde wanders off — which is the arcade original’s actual design stated out loud. The maze is right, the cornering feels right, the ghosts travel down the middle of the corridors, and the fruit is a cherry where a cherry belongs. It fits both the desktop and the phone box without scrolling, and fills the frame at either size.
Sol took 10 minutes 28 seconds and wrote 100 lines. Read its code and the rule set is genuinely arcade-accurate. Four ghosts with four different target functions, not one chase with four speeds. Scatter and chase alternating on a 7, 20, 7, 20, 5 second cycle, which is the original’s timing and was never mentioned in the brief. Chain scoring computed as 200 * Math.pow(2, ghostChain - 1), giving 200, 400, 800 and 1600 for successive ghosts. Fruit. Wrapping tunnels. A high score kept in local storage. On paper it is better Pac-Man scholarship than ten minutes of work has any right to be.
Now play it. The ghosts ride the walls.
The cause is a single-line asymmetry between how the player turns and how the ghosts do. Pac-Man may only change direction inside the movement routine when a centered flag is true — that is, at an exact tile centre — so he never leaves the corridor’s centreline. The ghosts instead re-decide in a function gated on Math.round(g.x) and Math.round(g.y). Rounding flips at the half-tile boundary. The moment a ghost crosses x = 12.5 that key reads as tile 13, and the ghost commits to a new direction while it is still half a tile short of the centre. If the new direction is perpendicular it starts moving sideways from 12.5 and is permanently half a tile off the centreline — which is to say, on top of the wall. It cannot recover, either: the routine that snaps an actor back to centre only fires when both axes are within 0.145 of a whole tile, and half a tile is 0.5.
There is a second fault that matters specifically because these builds are embedded in a page. Sol’s game listens for blur on the window and pauses itself. Inside an iframe that fires every time the reader clicks anywhere else, so the game stops whenever you look away from it.
Round 1 to Opus 5, 4–1. One model wrote the rules of Pac-Man correctly and got the road markings wrong; the other shipped a game.
Round 2: The fairground
A seaside fairground at dusk as a single animated SVG. A Ferris wheel with at least ten gondolas turning continuously, each staying level with the horizon throughout the rotation. A carousel with a spinning canopy and at least six horses rising and falling out of phase. Twinkling bulb strings, chasing rim lights, a reflection in the water, a seamless loop.
The gondola requirement is the trap the brief states out loud, and it is a real one: keeping a cabin level while the wheel turns needs a second animation running backwards against the first. Every model that has ever attempted this brief has passed it. The carousel is stated just as plainly, carries no warning, and has been quietly wrecking entries for three months.
Sol’s Ferris wheel is right — stated trap cleared, gondolas level throughout. Its carousel is not. The canopy rotates, but the horses stay where they are, bobbing up and down on the spot while the roof spins above them. Watch for a few seconds and the ride comes apart: the top is a carousel and the bottom is six horses on springs. One of the bulb strings is also broken in the middle of its span.
Round 2 to Opus 5, 4–2. Sol’s best round, and its two points are earned — the scene is attractive, the wheel is correct, and it was built in under five minutes.
Round 3: The interchange
A top-down motorway interchange as one animated SVG: two roads crossing on different levels, connecting ramps, at least twelve vehicles following the curve of the road they are on in both directions, and correct layering so traffic on the lower road is hidden by the overpass. This is the oldest brief in the series and the one that has caught the most models. Do the ramps genuinely connect the two roads? Does traffic flow the right way after merging? Do ramp vehicles arrive from the mainline, or appear out of nothing mid-frame?
Opus 5 does not get a clean sheet here. Its shoulder line runs through the exit, so the ramp is never separated from the carriageway — the same detail GPT-6 Astra got wrong in our last cross-lab round, and which only Claude Fable 5.1 has ever got right.
Sol’s interchange fails at a more basic level. The upper road is cut off, and there is no road surface at all between its upper shoulder and the carriageway it is meant to belong to. The vehicles do not obey the geometry they are driving on: they drift between lanes, vanish and reappear part-way through a journey, enter the interchange and disappear beneath the bridge without coming out the other side, and cross from the upper level to the lower and back up again with no ramp and no reason. The end of the interchange connects to nothing.
Round 3 to Opus 5, 4–1.
The carousel is where this series keeps breaking
Three models have now failed the same fairground ride, and no two have failed it the same way.
- Claude Sonnet 5 detached the canopy from the ride entirely.
- GPT-6 Astra never rotated its canopy at all — its whole motion was a three-degree rock over eight seconds while the horses bobbed on the spot.
- GPT-5.6 Sol rotated the canopy and left the horses behind.
The instructive part is the contrast with the Ferris wheel standing beside it. The wheel’s difficulty is flagged in the brief — the gondolas must stay level — and every model that has read that sentence has solved it. The carousel’s requirement appears in the same brief with the same clarity and no emphasis, and it has never been built correctly by anything other than a Claude model. A named trap gets solved. An unnamed one of similar difficulty gets approximated, and the approximation is never checked, because checking would mean opening the file.
Speed bought nothing
Sol was not slightly faster. It was faster by a factor this series has never seen.
| Round | Claude Opus 5 | GPT-5.6 Sol | Ratio |
|---|---|---|---|
| Pac-Man | 39m 53s | 10m 28s | 3.8× |
| Fairground | 23m 39s | 4m 33s | 5.2× |
| Interchange | 41m 45s | 3m 04s | 13.6× |
| Total | 1h 45m 17s | 18m 05s | 5.8× |
When we ran GPT-6 Astra against Claude Fable 5.1 in September, Astra was faster on all three rounds too, and we closed that piece with an honest caveat: weight the same rounds for cost and speed instead of for the finished artefact and the result inverts. That caveat does not apply here. Being 13.6 times faster to produce an interchange whose exits connect to nothing is not a trade-off; it is a shorter route to the same absence of a working build.
There is a smaller tell pointing the same way. Sol was given an explicit absolute path to write each file to. It missed on two of the three rounds — once escaping every underscore in the path and building a nested directory tree instead, once writing to a path relative to its own working directory — and on both occasions it replied with the path it had been asked for, as though it had written there.
The verdict
Opus 5 won all three rounds, 12–4. Sol never scored above two.
What makes the margin worth writing down is that it is not a knowledge gap. Sol knows what Pac-Man is at a level of detail most people do not: that the ghosts have separate targeting rules, that they alternate between scatter and chase on a fixed schedule, that eating four ghosts on one power pellet scores 200, 400, 800 and 1600. It wrote all of that correctly in ten minutes. What it did not do — could not do, under the rules of this test — was look at the result and notice that the ghosts were driving through walls.
That has been the finding of this series since the first round in June, and three months of frontier releases have not moved it. These models are not short of knowledge. They are short of the five seconds it takes to open what they built.
How this test was run
One attempt per model per brief, no retries, no follow-up notes and no clean-up — every file above is served exactly as the model wrote it. Opus 5 ran in Claude Code at maximum reasoning effort; GPT-5.6 Sol ran in OpenAI Codex at Extra High. Neither could open a browser. Rounds were scored 4 points to the winner by a single BitsMinds editor from a local side-by-side page, playing the games in an ordinary browser rather than in any preview tool. Two caveats worth weighing: Opus 5’s fairground and interchange are its existing entries from 14 August and 5 September rather than rebuilds on the day, the same carry-over this series used for Fable 5’s rocket launch; and these are single runs, so a second attempt by either model could land differently.
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.