floofbot
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Pass
- Code scan — Scanned 1 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Plush, animated companions that sit above the Claude Code prompt: a Claude Code plugin marketplace.
floofbot
A plush little companion that lives above your Claude Code prompt.
It thinks when Claude thinks, types when Claude writes, runs when tools run — and cheers when the work is done.
Install — one line, inside Claude Code
/plugin install floofbot-clay-blob --marketplace johnydec/floofbot
Claude Code then asks where to install it — pick Install for you (user scope) and press Enter.
(Project scope would add the bot to the repository for everyone who works on it.)
floofbot.site — pick a body and a colour, get your line
~9 MB · plush in cmux, Ghostty, kitty and WezTerm, pixel art in every other terminal · built on Claude Code’s early-access plugin hooks, tested on 2.1.302
Eight moods, driven by what Claude is doing
| Claude Code event | Mood |
|---|---|
| you send a prompt | thinking |
| Claude streams a reply, or edits a file | typing |
Bash, agents and long tools run |
working |
| a permission dialog needs you | waiting |
| a tool fails | error |
| a turn with tools finishes | celebrating |
| nothing happens for a few minutes | sleeping |
Any terminal: pixel mode
Terminals that can’t draw pictures (Terminal.app, iTerm2, VS Code’s terminal, tmux…) get a hand-drawn pixel floofbot instead, in your preset’s colour and with all eight moods. Nothing to set up: the plugin picks the right one on its own.
Prefer the pixels in Ghostty too, or the other way round? Start Claude Code with FLOOFBOT_STYLE=pixel (or FLOOFBOT_STYLE=picture).
Pick yours
Swap floofbot-clay-blob for any of the 28 presets:
| classic | round | tall | blob | |
|---|---|---|---|---|
| clay | floofbot-clay-classic |
floofbot-clay-round |
floofbot-clay-tall |
floofbot-clay-blob |
| sky | floofbot-sky-classic |
floofbot-sky-round |
floofbot-sky-tall |
floofbot-sky-blob |
| mint | floofbot-mint-classic |
floofbot-mint-round |
floofbot-mint-tall |
floofbot-mint-blob |
| lilac | floofbot-lilac-classic |
floofbot-lilac-round |
floofbot-lilac-tall |
floofbot-lilac-blob |
| rose | floofbot-rose-classic |
floofbot-rose-round |
floofbot-rose-tall |
floofbot-rose-blob |
| graphite | floofbot-graphite-classic |
floofbot-graphite-round |
floofbot-graphite-tall |
floofbot-graphite-blob |
| cream | floofbot-cream-classic |
floofbot-cream-round |
floofbot-cream-tall |
floofbot-cream-blob |
Switching later? Just install the new one: the newest preset draws, and the one you had steps back and tells you how to remove it (/plugin uninstall <old one>).
Stay up to date
Claude Code turns auto-update off by default for marketplaces outside Anthropic's own, so turn it on once:
- Run
/pluginand go to the Marketplaces tab. - Select floofbot, then Enable auto-update.
From then on, Claude Code picks up new floofbot versions on its own after a session starts. Run /reload-plugins to switch the running session over, or just start a new one.
Prefer updating by hand?
/plugin marketplace update floofbot
or, from your shell: claude plugin update floofbot-clay-blob@floofbot (your preset's name).
Cute outside, safe inside
A plugin runs inside your coding agent, so this one is built to be the most boring code you install.
- Pinned downloads — each preset is a zip on the
packs-v0.3.1release, pinned by SHA-256 inmarketplace.json. Claude Code verifies it on every download and refuses a mismatch. - Watches, never touches — every hook passes the event on unchanged. It can’t block, rewrite or approve anything.
- No network, no processes — it reads its own frames and draws them above the prompt. Its only write is one tiny file per preset in
~/.claude/fluffbots/, touched when a session starts, when you send a prompt and when a turn ends — never on a timer — so two installed presets can agree which one draws. - Tiny surface — the only engine APIs it uses are
$.fs.read/$.fs.list(its own frames and the presets’ files),$.fs.write(its own file),$.env(to find~/.claude, and to tell whether your terminal can draw pictures),$.store(when it was installed),$.session.id,$.clock,$.uiand$.state.
Check a preset yourself:
curl -sL https://github.com/johnydec/floofbot/releases/download/packs-v0.3.1/floofbot-clay-blob.zip | shasum -a 256
FAQ
Where does it work?In Claude Code in any terminal. Where the terminal can draw pictures (the Kitty graphics protocol: cmux, Ghostty, kitty, WezTerm) you get the plush bot; everywhere else (Terminal.app, iTerm2, VS Code’s built-in terminal, tmux…) it draws itself in pixel art, with the same eight moods. The Claude desktop app and the VS Code extension’s chat panel don’t show it. I installed it but don’t see the bot
Check that you’re in Claude Code in a terminal (not the desktop app), that Claude Code is up to date (
claude update — the bot is built on its new plugin hooks, tested on 2.1.302), and that the window has room: 5 free rows above the prompt, and about 30 columns for the pixel bot.
Does it slow Claude Code down?No. Frames are pre-rendered PNGs (176 px, 256 colours) that the terminal reads straight from disk, at ~30 fps only while Claude is working. At rest the bot plays its loop once and then holds still, so an idle window costs next to nothing. Claude’s own work never waits on the bot, and it uses no tokens. Why no “waiting” at work?
Where an organization manages Claude Code, permission-dialog events only reach plugins the organization lists. Everything else still works. I don’t get updates
Auto-update is off until you turn it on (see Stay up to date). Without it, run
/plugin marketplace update floofbot. An update shows up in the running session only after /reload-plugins or in a new session.
How do I remove it?/plugin uninstall floofbot-clay-blob (your preset’s name).
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found