Games·terminal·MIT
claude-games
Four games above the prompt that react to Claude's tests and commits. Zero tokens.

claude-games puts four arcade games above the Claude Code prompt, and each one reacts to the work Claude does on your request. A test that passes clears the obstacle in front of you, one that fails adds a new one, and a commit gives you a shield, a life or a bomb, depending on the game. When Claude’s turn finishes, the game pauses and its status line says so. The plugin answers every key itself, so playing costs zero tokens.

What it does
/racer: three lanes of oncoming traffic. Switch lanes with the arrow keys orw/s. Speed climbs while you survive, and the road never blocks every lane at once./breakout: paddle, ball and bricks. Clearing a level adds a row and speeds the ball up, and from level 3 the top row takes two hits. Three lives./dino: jump the cacti, duck the birds. Obstacles never spawn closer than one hop apart, so every gap can be cleared./shooter: a side-scrolling shooter with three enemy types, a new level every 250 points and three lives.
Claude’s work lands in whichever game is open. An edit adds a point or a little distance. A passing test removes the nearest obstacle, breaks a brick or gives the shooter a triple shot for five seconds. A failing test adds an obstacle, armors a brick or sends in two more enemies. A commit gives a shield, an extra life or a bomb that clears the screen.
Every game pauses with p and restarts with r. One game is open at a time. Best scores survive restarts, and a new best shows a toast.
Install
Needs Claude Code 2.1.269 or later with function hooks enabled, an interactive terminal that reports the mouse, and a terminal font with box-drawing and block characters.
claude plugin marketplace add mohi-devhub/claude-games
claude plugin install claude-games@claude-games
Start claude, send a prompt, and run /dino (or /racer, /breakout, /shooter). Click the board to give it the keyboard. Esc gives the keyboard back to the prompt, and /dino stop or the close button closes the game.
How it works
The commands run immediately, even while Claude is working. The open board draws in the band above the prompt on its own frame clock, ten times a second. The racer takes eight rows; the other three size themselves to the height the band gives them, so a taller terminal means a bigger board.
To turn Claude’s work into game events, the plugin hooks every tool call in the sessions where it is loaded. It sees the name of each tool, the text of each Bash command and whether the call failed. It matches that text against a list of test runners (npm test, pytest, go test, cargo test, jest, vitest and others) and against git commit, and counts a successful Edit, Write or NotebookEdit as an edit. Only tool calls Claude makes count; commands you run yourself do not. It stores and logs none of that: not the command text, not file paths, not your prompts. It makes no network calls. The only thing it saves is each game’s best score, in Claude Code’s plugin store on your machine.
The plugin is built on cc-arcade by Seza Akgün and reuses its plugin structure, board helpers and tool-call classifier under the MIT license.
Limitations
- Nothing draws in
claude -p, the desktop app or mobile. - A board only gets the keyboard after a click, and Esc always goes back to the prompt.
- Boards redraw ten times a second, so the action is choppier than on a console.
- Best scores stay on this machine. Nothing is shared between machines.
- The games are clones of their genres. The author states they are not affiliated with Atari, Google or anyone else.
More mods
The whole directory →cc-arcade
Nine games and a pet above the prompt, playable while Claude works. Zero tokens.
claude plugin install cc-arcade@cc-arcadecc-pokedex
Creatures spawn from your prompts. Catch them and raise a partner as Claude works.
claude plugin install cc-pokedex@cc-pokedexcc-range
A pixel-art shooting gallery above the prompt, playable while Claude works. Zero tokens.
claude --plugin-dir ./cc-rangeagent-flow
Every subagent of the session in a live tree beside the transcript. Zero tokens.
claude plugin install agent-flow@claude-agent-flow

