clawd-actor
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 15 GitHub stars
Code Warn
- network request — Outbound network request in hooks/register.tsx
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Claude Code mod: Clawd acts out what Claude is doing, above the prompt
clawd-actor
A Claude Code mod: while Claude works, Clawd walks onto a little stage above the prompt and
acts out what is going on — the spinner's -ing word (Sautéing, Pondering, Herding…) —
then puts on a show of 31 scenes, a new one every 15 seconds, with little Clawds along for the ride.

Four scenes at the real frame rate, about 15 s in all (a real turn changes scene every 15 s). Every frame is the mod's own output, rendered by tools/.
What it does
- Acts out the spinner word. 31 scenes, matched by word stem, so Flambéing cooks and
Dilly-dallying strolls. A word it does not know falls back to what the turn is doing
(typing for tool use, talking while responding, thinking otherwise). - Acts out the running tool when one is already running as a turn opens; it picks the
opening scene instead of the word:Bashtypes,Read/Grep/Globthink,Edit/Writesketch,Agentherds sheep,Web*checks the weather,TodoWrite/Skilljuggles, MCP tools cast spells, anything else is
hammered at the forge. - Changes scene every 15 seconds on long turns, whatever tools run, in an order shuffled per
session that picks up where the last turn stopped, never the same scene twice in a row. A scene
is picked when its act begins and holds for the whole act; nothing cuts it short. - Wanders the stage. When all it carries is a thought bubble, notes or sparks, Clawd strolls
left and right, swinging arms and legs, hopping at each turn and landing with a squash. By a pot,
an oven, an anvil or a plant it stays put and works; the stage follows the terminal width (up to
60 columns). At the blackboard the board stays put and Clawd steps back to admire its work. By the
campfire it sits still with a purple friend, and only the fire and their eyes move. Under the
disco ball it dances in place while the floor flashes. - Brings little friends. Small Clawds in blue, yellow, green and pink tag along: one copies
its idle hop a beat late, two dance backup, one dances under the disco ball, two walk in a row
behind it (and lead the way back), two sit by the campfire when the stage is wide enough, and
one hatches from the egg, stands in its shell and hops out to say hello. - Has a face. Happy ^ ^ eyes, blinks, glances around, and sways so its far side falls into
shadow, after the official Clawd animation; on the move it looks where it is going. - Leaves when the turn ends, and draws nothing while idle (the frame timer only redraws
during a turn).
| Scene | Spinner words (some of them) |
|---|---|
| think | Pondering, Musing, Clauding, Noodling, Ruminating |
| chalk | Deciphering, Elucidating, Philosophising, Deliberating, Reasoning |
| cook / bake / brew | Sautéing, Simmering, Whisking / Baking, Kneading / Brewing, Percolating |
| walk / run / moonwalk | Moseying, Wandering / Scampering, Galloping / Moonwalking |
| herd | Herding, Wrangling, Mustering |
| spin | Spinning, Churning, Reticulating, Combobulating |
| magic / levitate | Conjuring, Manifesting, Transmuting / Levitating, Hyperspacing |
| hatch / grow | Hatching, Incubating / Sprouting, Germinating |
| forge / compute | Forging, Crafting, Creating / Computing, Crunching, Synthesizing |
| dance / disco | Vibing, Jitterbugging, Jamming / Boogieing, Grooving — under a spinning mirror ball |
| juggle / honk | Juggling / Honking, Booping |
| sketch / weather / thunder | Sketching, Doodling / Misting, Billowing / Thundering |
| dig / flow | Burrowing, Spelunking / Flowing, Undulating |
| kick / skate / campfire | Kicking, Dribbling / Skating, Gliding / Kindling, Smoldering — no built-in word matches these yet, so they mostly turn up in the rotation |
Install
Requires a Claude Code build with function-hook mods (claude plugin validate knows hooks.jsonmodules). Developed and tested on Claude Code 2.1.296.
From this repository as a marketplace:
/plugin marketplace add BrianHuang813/clawd-actor
/plugin install clawd-actor@clawd-actor
/reload-plugins
Or straight from a clone, for one session:
git clone https://github.com/BrianHuang813/clawd-actor
claude --plugin-dir ./clawd-actor
Update
When a newer version is out, a notice says so a couple of seconds after Claude Code starts: the
mod compares its own version with the one on main once a session (one small request to GitHub;
nothing is shown when offline or up to date).
Run /clawd-actor:update, or just ask Claude to update clawd-actor. Either way Claude refreshes
this marketplace and updates the plugin with Claude Code's own plugin manager, tells you the
version it went from and to, and /reload-plugins loads it. By hand, the same is:
claude plugin marketplace update clawd-actor
claude plugin update clawd-actor@clawd-actor
A clone run with --plugin-dir updates with git pull.
Plays well with other band mods
The stage is drawn in the AbovePrompt band. The hook always calls next(e) and stacks what the
mods beneath it draw under the stage, so other band mods keep showing. A band mod that answers
without calling next(e) hides everything beneath it — if Clawd never shows up, look for one.
How it works
ui.renderonSpinneronly observes: it remembers the word and mode and lets the engine draw
the spinner as usual.tool.callnotes the tool in flight and forgets it when the call returns.- One timer, started in
session.start, advances a frame counter in$.stateevery 140 ms while a
turn runs; the band reads it, which subscribes it to redraws. A timer started inside aturn.starthook does not outlive that dispatch, which is why it lives insession.start. - Whether to draw at all follows the band's own
isWorkingprop. hooks/scenes.tsis pure: a 4-row grid of cells, a scene per name,sceneAt()choosing an
act's scene,hold()keeping it for the whole act, andframeRows()turning the grid into
coloured runs.- The update notice:
session.startsets a one-shot timer that, two seconds later, reads the
version in the installedplugin.json, fetches the one onmain, and toasts whenmain's is
newer.skills/update/SKILL.mdis the/clawd-actor:updateskill that runs the update.
Develop
claude plugin validate .
claude plugin test .
The tests check that every scene keeps the stage size at 30, 40 and 60 columns and moves Clawd
about only in the scenes without set pieces (the rest are checked to stay put), that no prop is ever
drawn over Clawd's face, that a turn opens on the running tool or the spinner word and then rotates through every
other scene whatever tools run, picking up where the last turn stopped, that a scene holds for its whole act,
that the timer animates Clawd during a turn and lets go after it, and that the update notice shows only
when main carries a newer version.
Block characters and symbols are drawn one cell wide; a terminal font that draws some of them
wider may shift a frame.
To regenerate assets/demo.gif after changing a scene (Node 22+ and Python with Pillow):
node tools/frames.ts > frames.json # the frames, straight from hooks/scenes.ts
python tools/render.py frames.json assets/demo.gif
tools/render.py uses DejaVu Sans Mono and draws block elements as exact rectangles; edit the
font path at its top for your system.
Releasing: bump version in .claude-plugin/plugin.json with every change pushed to main.claude plugin update goes by that version, so a push without a bump never reaches anyone.
Notes
Clawd is Claude Code's mascot; the sprite follows the one on Claude Code's welcome screen. This is
a fan-made mod, not affiliated with or endorsed by Anthropic.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found