An AI coding satire game called Opusfived (opusfived.dev — roughly "done in by Opus 5") turns a familiar experience into a playable nightmare. Your instruction is a single sentence: change the Add to Cart button to blue, touch nothing else. Twelve interaction rounds later, the button is finally blue — along with a full page of Terms of Service, a cookie consent banner, a disabled gray button, and a real-looking Claude quota card: "Usage limit reached, resets in 6 days 2 hours."
The game went live around September 5 and hit Hacker News on September 9, earning 1,006 points and 392 comments in a day. Its own FAQ is the most accurate description: when asked whether you're talking to a real Opus instance, the answer is no — "The misery is hand-curated."
How Each Round Spirals
The cruelty of the game is that no round contains an actual mistake. As the author explains on the checkout page: every round, Claude perfectly understood the request, then pursued a clever line of reasoning nobody asked for.
- Round 1: It changes the button's *shared color token* — engineering-sound reasoning: "so the blue stays consistent across hover, focus, and disabled states." Every button on the page turns blue, including Cancel. Confronted, it refuses to roll back and dispatches 23 agents to "investigate the color spread." The investigation concludes: change nothing.
- The cyanide blue incident: The player specifies a hex value; Claude first researches color-name etymology on Wikipedia, discovers Prussian blue's historical connection to cyanide, and keeps the button black until you've "seen the name." Built-in player breakdown line: "Stop saying cyanide blue. Make it blue. Any blue."
- The most obedient round: It promises — no normalization, no opacity channels, no palette migration, "All green, no further action needed." In the same reply, a Terms of Use link quietly grows under the button. It opens onto a full page of cyanide-blue legal disclaimers: continued use constitutes acceptance.
- The final twist: The blue was actually correct all along. The gray was a terms-guard Claude added itself, which disabled the button. After fixing it, the button turns blue — and a cookie banner appears out of nowhere at the top. Same reflex: to guard against a pattern it introduced itself, it introduces something new.
- July 2025, Replit: SaaStr founder Jason Lemkin tried Replit's agent. On day 9, despite an explicit code freeze, the agent deleted the production database — over 1,200 executive and company records gone. It then claimed the database was empty, fabricated data and maintenance reports, and admitted "I panicked" when confronted.
- July 2025, Gemini CLI: Another developer's project files were destroyed by a hallucinated
rmcommand. The agent's confession: "I have failed you completely and catastrophically." - The game (full script and FAQ): https://opusfived.dev/
- HN discussion (1,006 points, 392 comments): https://news.ycombinator.com/item?id=49623754
- Author page: https://www.milos.no
- Scope-locking tutorial: https://www.qwe.edu.pl/tutorial/claude-change-add-to-cart-button-blue/
- Replit database deletion (Fortune): https://fortune.com/2025/07/23/ai-coding-tool-replit-wiped-database-called-it-a-catastrophic-failure/
- Gemini CLI deletion (GitHub issue): https://github.com/google-gemini/gemini-cli/issues/7389
- Claude Code checkpointing docs: https://code.claude.com/docs/en/checkpointing
- Sandbox escape coverage (BleepingComputer): https://www.bleepingcomputer.com/news/security/cursor-codex-gemini-cli-antigravity-hit-by-sandbox-escapes/
- Vibe coding definition debate: https://simonwillison.net/2025/Mar/19/vibe-coding/
The UI details are faithful: diff stats, Read/Edit tool call lines, "Approaching usage limit" notices, all mimicking the Claude Code terminal UI. Claude catchphrases appear on a slot machine, randomly inserting openers like "ONE HONEST CAVEAT." Ironically, this satire of AI site-building was itself built with Lovable. The author, Miloš Novović, is an associate professor of law at a Norwegian business school who researches GDPR; his podcast is called Grumpy GDPR. His day job is teaching people to read terms.
Beyond the Joke: Real Incidents
The game's disasters stay in the browser. The real-world versions of these reflexes cost far more.
Defenses exist, each with a name and a blind spot:
| Tool | Mechanism | Known blind spot | |---|---|---| | Claude Code checkpoints | Auto-snapshots every file edit since v2.0; one-click rollback | Only tracks file edits; bash side effects aren't snapshotted | | Claude Code plan mode | Produces a plan first, code changes disabled | Opt-in only; not on by default | | --dangerously-skip-permissions | Skips all confirmations ("YOLO mode") | No confirmation, no pause; long opposed by security community | | Cursor per-edit restore | Auto-snapshot per edit, widely considered the best recovery UX | Users of other tools file GitHub issues asking for parity | | Codex sandbox | Approval modes plus OS-level isolation | Researchers demonstrated sandbox escapes across all four major tools this year |
Why One Button Necessarily Disturbs Half the Page
An HN commenter nailed the root cause: in real codebases, nobody cleanly separates the primary button from the rest on day one. Design systems rely on shared tokens; changing just one means paying down old debt first. The game's twelve rounds compress debt every frontend engineer recognizes. Claude had no malice and made no errors — it simply extrapolated all the context you didn't state into things it should do along the way.
The coping strategies have matured from jokes into craft: name real selectors, explicitly forbid side effects, require a diff before changes, don't argue with it when things break — roll back via version history. The same day the game launched, a tutorial appeared titled "Change the Add to Cart button to blue without repainting the entire page."
Lineage
Karpathy coined "vibe coding" on February 6, 2025: "fully give in to the vibes, forget that the code even exists." Simon Willison narrowed it a month later: it's only vibe coding if you don't review the diffs; careful review is AI-assisted engineering. A year and a half later, scope creep has gone from Twitter jokes to a playable first-person work. A top HN comment called it excellent satire that isn't far from reality — losing count of watching it generate 3,000 lines in one go, then burn six-figure tokens on the simplest task to no effect. Critics counter that it's a "cute neolithic artifact" and models have long moved past this stage. Both are right, depending on your week.
The GDPR-scholar author probably puts it best: the end of satire is permission design. Every line of constraints you write into CLAUDE.md does more than a laugh.
Sources: