claude-games-arcade
v1.2.0
Published
Retro pixel games for your terminal — play while Claude Code chews on a prompt. Requires python3 (macOS/Linux).
Maintainers
Readme
Claude Arcade
Retro pixel games for your terminal — something to play in a split pane while Claude Code chews on a prompt. Python 3 stdlib only; nothing to install.
Twelve games ship in the arcade: Invaders, Dino, Race, Bounce, Flappy (flap through gaps), Blocks (falling-block stacker), Commando (run-and-gun side-scroller), Brawler (one-on-one fighter), Tennis (rally the AI to 11), Hopper (endless-runner platformer — stomp walkers, grab coins), Klimber (climb the zigzag girders, dodge rolling barrels), and Snake.
Play
Via npm (needs python3 on your PATH, which macOS and Linux have):
npx claude-games-arcade # one-off
npm install -g claude-games-arcade && claude-arcadeOr from a clone of this repo:
./play # arcade menu (or your default game, if set)
./play invaders # or: dino, race, bounce, flappy, blocks, commando,
# brawler, tennis, hopper, klimber, snake
./play list # print games + best scores
./play default dino # set a default game; `none` clears, no arg shows
./play menu # force the menu even with a default setOptional, to play a clone from anywhere:
echo 'export PATH="$PATH:'"$PWD"'"' >> ~/.zshrcControls
| Key | Action | |-----|--------| | arrows / WASD | move (down = duck in Dino) | | Space / Up | shoot / jump | | p | pause | | q | quit to menu | | r | restart after game over |
Blocks: Up rotates, Down soft-drops, Space hard-drops. Commando: Space shoots, Down crouches under fire. Brawler: Space punches, Down blocks. Flappy: Space/Up flaps. Tennis: Up/Down moves your paddle. Hopper: Space/Up jumps — land on walkers to stomp them. Klimber: arrows climb ladders and walk platforms, Space jumps over barrels. Snake: arrows steer.
Difficulty ramps the longer you survive — the longer Claude's task runs,
the harder your run gets. High scores persist in scores.json.
"Claude is done" banner
Register the Stop hook so games flash * CLAUDE IS DONE * when Claude
Code finishes a turn. In Claude Code run /hooks, choose Stop, and add
a command hook pointing at:
<this repo>/hooks/claude-done.shOr add it to ~/.claude/settings.json yourself:
{
"hooks": {
"Stop": [
{"hooks": [{"type": "command",
"command": "/FULL/PATH/TO/claude-games/hooks/claude-done.sh"}]}
]
}
}Games poll ~/.claude-games-signal once a second; the banner flashes for
about 5 seconds and your run keeps going.
Development
python3 -m pytestMIT (c) 2026 Romit Soley
