Games·terminal·MIT
intermission
Multiplayer Doom deathmatch in a pane while Claude works, handed back when it needs you.

intermission drops you into a Doom deathmatch in a pane beside the transcript while Claude works, and hands you back as soon as Claude finishes or asks for permission. You play on a shared server against everyone else who is waiting on Claude, with monsters left in so the map is never empty. It never calls the model, so playing costs no tokens.
What it does
- Drops you in. Once Claude has been working for two seconds, the pane opens with the game focused.
- Hands you back. When Claude finishes, the pane counts down three seconds, closes, and a toast sums up your kills and deaths. If you interrupt the turn, it closes at once. If a queued prompt starts straight away, you keep playing.
- Gets out of the way. A permission prompt or a question from Claude closes the pane immediately, and you drop back in after you answer.
- Keeps score. While you play, the spinner line shows your kills and deaths.
- Respects a close. Shut the pane yourself and it stays shut until Claude’s next turn. If the terminal is too narrow for the pane to open by itself, a button above the prompt offers the game instead: press 1.
Click the game to play. The click also locks the mouse for turning, and Esc or ⌘ releases it. WASD or the arrows move, left click fires, holding right click runs forward, space opens doors, and 1 to 7 pick weapons.
Install
Needs Claude Code 2.1.287 or later, macOS 15 or later on Apple silicon or Intel, and the Ghostty or kitty terminal, which can draw the game’s pixels.
claude plugin marketplace add jarrodwatts/intermission
claude plugin install intermission@intermission
Start claude and run /intermission to turn it on. A welcome pane explains what will happen while the game downloads in the background. /intermission off turns it off and stops the game.
How it works
The download. The first /intermission fetches a macOS build of Odamex, an open-source Doom engine, with Freedoom’s free maps and graphics. It comes with curl from the releases of the intermission repository on GitHub and is unpacked into the plugin’s own folder. The README puts it at about 20 MB; the message in the pane says about 40 MB. The game runs on Freedoom’s data, not id Software’s commercial Doom files.
The game. Odamex runs without a window. Each frame goes into shared memory and the terminal paints it into the pane, while your keys and clicks reach the engine through a small input file in /tmp. The engine keeps its own config file in /tmp too, so an Odamex setup of your own is left alone.
The server. For the deathmatch the engine connects over UDP to 157.245.140.115, a stock Odamex server the author builds and runs with the repo’s deploy.sh. You join under a random name such as QueuedMarine42, kept in the plugin store along with whether intermission is on. The author states that nothing about your session, project or Claude’s work is sent, and the only thing about you that the code hands the engine is that name. Between rounds it stays connected as a silent spectator and disconnects after five minutes away. If the server does not answer within ten seconds, for example because a corporate VPN blocks UDP, the rest of the session is an offline game against monsters.
What it reads. To catch the moments Claude needs you, it hooks tool.check and tool.call. From each permission check it reads only the decision, and pulls you out when the answer is ask. From each tool call it reads only the tool name, and pulls you out for AskUserQuestion. The code reads no command text, file paths or prompts. In auto mode an ask can end up with the classifier instead of you; intermission pulls you out anyway.
Limitations
- macOS only for now. On any other system the download stops with an error.
- The game’s pixels need Ghostty or kitty. On any other surface, such as the Desktop app’s Code tab, the pane only shows a note saying so.
- Terminals report key presses but not releases, so a key counts as held until its auto-repeat stops. A single tap keeps you moving for about half a second.
- The multiplayer server is the author’s own. The plugin ships no way to point it at another one.
For Doom on your own, claude-doom runs the original engine with Freedoom for one player, and cc-arcade draws a small Doom-style shooter in text above the prompt.
More mods
The whole directory →Bugdex
Failing tests become wild bugs. Fixes earn XP, regression tests catch them.
cc-arcade
Nine games and a pet above the prompt, playable while Claude works. Zero tokens.
cc-dino
The offline T-rex above the prompt: jump cacti while Claude works, with a leaderboard.
cc-pokedex
Creatures spawn from your prompts. Catch them and raise a partner as Claude works.



