π€‘ Claude clowns your broken prompts with a sarcastic reaction GIF popup + a dry one-liner. π Multilingual. β€οΈ Never mean to the person.
Inside Claude Code:
/plugin marketplace add Siin0pe/claude-clapback
/plugin install clapback@clapback
/reload-plugins
Only prereq: uv. Everything else (Python deps, Tk, the GIF bank) is auto-handled.
| OS | One-liner |
|---|---|
| πͺ Windows | winget install astral-sh.uv |
| π macOS | brew install uv |
| π§ Linux | curl -LsSf https://astral.sh/uv/install.sh | sh + sudo apt install python3-tk xdotool |
When your prompt is broken in a funny way, Claude:
- πΌοΈ pops a small animated reaction GIF in the corner of your terminal for ~4s
- π¬ drops a single dry one-liner in chat, in your language
- π contradictions β
"make it async but blocking" - π€― impossible asks β
"deploy before I push" - βοΈ typos β
"please add a buttom" - π«οΈ peak vagueness β
"fix the thing" - π€£ self-roasts β
"broke it again lol" - π¬ explicit meme requests β
"fais-moi un gif","en mode singe","meme me"
- π° real distress (bug blocker, lost work, money)
- π§βπ honest beginner questions
- π₯ sensitive topics (health, money, relationships)
- π first ambiguous message of a conversation
confused Β· skeptical Β· disappointed Β· shocked Β· deadpan Β· how_dare Β· monkey_puppet Β· thinking Β· no Β· eyeroll Β· really Β· cringe Β· laughing Β· judgmental
~50 GIFs per category, shuffled per trigger.
| Env var | Default | What it does |
|---|---|---|
CLAPBACK_ANCHOR |
br |
br / bl / tr / tl / center |
CLAPBACK_DURATION_MS |
4000 |
Popup visibility duration (ms) |
CLAPBACK_INSET |
60 |
Px between popup and terminal edges |
Inside Claude Code:
@clapback diagnose
Reports Tk availability, xdotool (Linux), cache dir, bank counts β quickest way to find what's missing.
π To refresh the GIF bank:
python plugins/clapback/mcp/rebuild_bank.pyClaude Code strictly version-gates: bump version in both plugin.json and marketplace.json, then:
/plugin marketplace update clapback
/plugin update clapback@clapback
/reload-plugins
MIT.

