MadAppGang/magus-alpha/tree/main/plugins/claudoom
claudoom
A Claude Code mod that plays Doom-engine WADs in a Claude Code pane using function hooks, doom-cli, and a private tmux server to capture and repaint frames as a terminal Raster.
About this mod
claudoom is a Claude Code plugin whose behaviour lives in a function-hooks module (hooks/register.tsx). It runs doom-cli in a private tmux server, reads each frame with tmux capture-pane, and repaints it into a terminal Raster scaled to fit the pane. Function hooks are early access and off by default; start with CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude --plugin-dir plugins/claudoom. Commands include /claudoom install (builds doom-cli and downloads Freedoom), /claudoom install shareware (shows shareware terms; add accept to download), /claudoom (plays shareware episode if installed, else Freedoom), /claudoom freedoom2, /claudoom <file.wad>, /claudoom stop, and /claudoom uninstall. Keys: WASD or arrows move, F fire, E use, Enter or R select, Q menu, 1-7 weapons; Esc returns keys to the prompt, ctrl+x tab retakes them. Requires tmux, make, curl, tar, unzip and shasum. Downloads go to ~/.claude/claudoom over HTTPS only, verified against pinned digests: doom-cli (GPLv2, built from a pinned upstream commit), Freedoom 0.13.0 (3-clause BSD), and optional DOOM1.WAD shareware (id Software shareware licence, opt-in). DOOM is a ZeniMax trademark; not affiliated with id Software, ZeniMax or Anthropic.
Installation
Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.
claude plugin marketplace add MadAppGang/magus-alpha claude plugin install claudoom
Original text / README
claudoom
Plays Doom-engine WADs in a Claude Code pane. It is a Claude Code mod: a
plugin whose behaviour lives in a function-hooks module (hooks/register.tsx).
It runs doom-cli in a private tmux
server, reads each frame with tmux capture-pane, and repaints it into a
terminal Raster, scaled to fit the pane.
Function hooks are early access and off by default. Start Claude Code with the flag and the plugin folder:
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude --plugin-dir plugins/claudoom
Commands
| Command | Does |
|---|---|
| /claudoom install | Builds doom-cli and downloads Freedoom |
| /claudoom install shareware | Shows the shareware licence terms; add accept to download |
| /claudoom | Plays the shareware episode if installed, else Freedoom; again closes it |
| /claudoom freedoom2 | Plays Freedoom Phase 2 |
| /claudoom <file.wad> | Plays a WAD you own |
| /claudoom stop | Stops the game |
| /claudoom uninstall | Stops the game and removes what the install wrote; files you added yourself stay |
While the pane holds the keys: WASD or ↑↓ move, F fire, E use, Enter or R
select, Q menu, 1–7 weapons. Esc hands the keys back to the prompt; ctrl+x tab
takes them again. It needs tmux, make, curl, tar, unzip and shasum.
It never runs git, so a git config that rewrites GitHub URLs to SSH cannot
break the install.
What is downloaded, and under which licence
Nothing below ships with this plugin. /claudoom install fetches it onto your
machine, into ~/.claude/claudoom, over HTTPS only (a redirect to plain http is
refused), and verifies each download against a pinned digest before anything is
built, kept or run.
The engine's digest covers the extracted source tree, not the tarball, so a
forge re-compressing the same commit does not break the install while a changed
file still does. The command that recomputes it is in hooks/doom.ts, beside
the digest.
| Component | Licence | Source |
|---|---|---|
| doom-cli, a doomgeneric port | GPLv2 | fetched from upstream at a pinned commit, verified against a pinned source-tree digest, then built locally; the mod talks to it only through tmux |
| Freedoom 0.13.0 | 3-clause BSD, notice kept as freedoom-COPYING.txt | the official GitHub release, checked against its signed SHA-256 |
| DOOM1.WAD, the shareware episode (opt-in) | id Software's shareware licence: not free software, no commercial use | id's own doom19s.zip from /idgames, archive and WAD both checked |
The shareware licence (LICENSE.DOC, shipped with id's v1.8 shareware) allows
electronic distribution royalty free and "only in compressed format", and
forbids modifying the WAD (§1), commercial use (§2) and charging anyone for it
without id's prior written consent (§4). That is why the shareware download is
opt-in, shows those terms first, and fetches id's compressed archive rather
than a bare WAD.
DOOM is a trademark of the ZeniMax group of companies. Claude is a trademark of Anthropic. This plugin is not affiliated with or endorsed by id Software, ZeniMax or Anthropic. This is not legal advice.


