While you wait·terminal · desktop·MIT
dopa-mode
Fireworks for keystrokes, tool calls, commits and green tests, plus context meters.

dopa-mode turns what you and Claude do into braille fireworks above the Claude Code prompt: every character you type, every tool call, every commit, push and passing test. Below the sky sit meters for the context and plan limit you have left. It never calls a model, so it costs zero tokens. The author styles it DOPA MODE, short for dopamine.
What it does
The shells are modeled on Japanese fireworks (peony, chrysanthemum, gold willow, crossette), and the big moments spell a word in sparks. Only one word hangs in the sky at a time, with clear space around it so it reads.
- Your typing. Each character is a HIT that fires a small shell somewhere new in the sky. 10HIT, 25HIT, 50HIT, 100HIT and every hundred after go up as words. A paste shows its length (PASTE 308), and Enter sends up GO!, bigger for a longer prompt.
- Claude’s work. Each tool call fires a shell colored by the turn’s count. 5HIT to 30HIT spell out, and 50HIT sets off a starmine. When the turn ends, the sky shows how many files Claude edited, or DONE. A subagent still working after the turn keeps firing small shells.
- Milestones. COMMIT, PUSH, PR #42 and MERGED. 3/5 as Claude ticks off its task list. PASS when tests go from red to green, +4 TESTS when the suite grows, -12 ERRORS (down to 0 ERRORS) when a rerun of the exact same type check or linter finds fewer errors, and WIN when every pull request check passes.
- Your answers. YES, NO or OK when you answer a permission prompt or a question, all drawn alike so no answer looks favored.
- Sound. Pachinko-style: a chime as each word forms, a cascade of balls when XP pays out, an 8-bit bleep for every keystroke and tool call. macOS only.
/dopa fireworks spells DOPA any time. The repository’s preview image shows that show:

Under the sky, two rows of meters:
- HP is the context left, the same figure the status line shows. It turns yellow, then red. A WARNING toast comes at 85% used and DANGER at 95%, and a Compact now button appears while HP is low.
- STAMINA is what remains of the tighter of your 5-hour and weekly plan limits, with the time until it refills. Subscription plans only.
- GOLD is the session cost at API prices, as
/costtotals it, so on a subscription it is not your bill. LOOT counts the files edited with Edit, Write or NotebookEdit; shell edits are not counted. - TESTS and CI show the last test run and the pull request checks, and YOUR TURN pops up when Claude stops for your permission.
The spinner line turns rainbow and names what Claude is touching (EDIT signup.ts, BASH npm test), with the HIT count and the elapsed time.
Finished turns, commits and pull requests pay XP, with ranks from 10 KYU through 9 DAN to MEIJIN. There are 15 trophies (/dopa trophies), a daily command card drawn from your installed commands (/dopa daily, with /dopa dex listing the ones you have not tried), focus and break timers (/dopa focus, 25 minutes by default; /dopa break, 5) and /dopa recap, a session summary of files, tools, tokens and limits that /dopa recap copy puts on the clipboard.
Test summaries are read from Jest, Vitest, Mocha, pytest, unittest, Maven, Gradle, cargo, go test, RSpec, PHPUnit, .NET, Deno and Bun; error counts from tsc, eslint, ruff, mypy, pyright, cargo and javac.
Install
Needs Claude Code 2.1.287 or later. Sound plays only on macOS, and /dopa boss needs the gh CLI.
claude plugin marketplace add charimsma/dopa-mode
claude plugin install dopa-mode@dopa-mode
Type /dopa fireworks for a first show and /dopa help for every command.
Turning it down
Each switch is saved and survives restarts.
/dopa fireworks offcloses the sky and keeps the meters./dopa typing offstops the typing reactions: HITs, keystroke shells and GO!./dopa sfx off, or/dopa mute, silences it./dopa spinner offrestores the stock spinner,/dopa meters offhides the meter rows, and/dopa alerts offstops the warnings and YOUR TURN./dopa offpauses everything until/dopa on./dopa reset confirmstarts over from LV 1 and erases your trophies.
How it works
Every hook hands Claude Code’s events on unchanged: no prompt, tool result or transcript entry is edited, and Claude sees what it would see without the mod.
- Prompt box.
prompt.editandprompt.submitpass it your draft, but it uses only the length, to count HITs and size GO!. The text is not stored, logged or sent. - Tool calls.
tool.callreads each call’s input to label the spinner: a file name, the first line of a shell command, a search pattern or a web host. For Bash and PowerShell calls it also reads the command and what it printed, looking for test summaries, error counts,git commit,git push,gh pr create,gh pr mergeandgh pr checks. Commands sent to the background or interrupted are skipped. - Permission prompts.
classic.PermissionRequestis noted only to match your answer to YES or NO when the call comes back. The hook decides nothing. - Meters come from Claude Code’s own usage figures, the ones
session.measurereports. - One process.
/dopa bossrunsgh pr checks --json name,bucketonce, with a 20-second timeout. Nothing else starts a process, makes a network request or calls a model. Compact now compacts only when you press it. - Storage. Claude Code’s plugin store on your machine holds your level, XP, streaks, commit, push and pull request counts, settings, trophies, and the names of the slash commands you have run, for the dex and the daily card. The per-session figures behind
/dopa recapstay in memory.
Limitations
- Sound plays through Claude Code’s audio, which works only on macOS. Linux and Windows terminals stay silent.
- On Windows, the author recommends Windows Terminal with a PowerShell or Git Bash tab; PowerShell commands are read like Bash ones.
- In VS Code, start
claudein the integrated terminal: the Claude Code extension’s own panel shows no fireworks. - In the Desktop app’s Code tab, the author lists the meters, alerts, timers and fireworks, drawn there as SVG. The rainbow spinner is terminal-only; Desktop adds the HIT count to the stock one.
Similar Claude Mods
CodeCraft
Hearts for context, food for usage limits, armor for git, XP for verified work.
pixelband
Pixel art above the prompt that reacts to Claude: seven scenes, or your own image or GIF.
mindful-claude
Guided breathing above the prompt while Claude works. Four techniques, zero tokens.
Storytime
A 260K-parameter transformer inside the mod writes a story about what Claude is doing.
Popular Claude Mods
The whole directory →cache-keeper
Prompt-cache timer, keep-warm pings, cold-send guard, a board of chats and a handoff.
effortless
Picks the effort for every prompt and shows how long the prompt cache stays warm.
Habblaud
A pixel-art office where each Claude Code agent shows, live, what it is doing.
cache-tax
Keeps the prompt cache warm during breaks and stops a cold send once with its price.





