Claude Modsunofficial directory

While you wait·terminal·MIT

cat-spinner

A pixel-art cat above the spinner that walks, plays, sits to think and reacts to tools.

cat-spinner Siamese cat in pixel art, mid-stride and facing left on a dark terminal background
Images from the cat-spinner repository, MIT license

cat-spinner adds a pixel-art cat above the Claude Code spinner. While Claude works, the cat walks back and forth or plays with a ball of yarn. When Claude thinks, it sits down facing you with a thought bubble, and when Claude edits, reads or runs a command, it acts that out. The spinner line stays where it was, with its word, elapsed time and token count.

cat-spinner orange tabby walking, thinking, typing on a laptop, peering through a lens, digging and jumping in surprise

What it does

  • Reacts to tools. During Edit, Write, MultiEdit or NotebookEdit it sits and types on a tiny laptop. During Read, Grep, Glob, LS, WebFetch or WebSearch it sweeps a magnifying glass across its eyes. During Bash it crouches and digs, flinging dirt behind it. A tool that fails or is denied makes it jump with its back arched and a ! overhead. Any other tool leaves it on its animation. Each reaction lasts at least about a second, so a quick read still shows.
  • Sits to think. It stops, sits facing you, blinks slowly and cycles hmm, ..., ? and ! in a thought bubble, then gets up when the thinking ends. Thinking wins over tool reactions; a failure interrupts anything.
  • Eight cats. Siamese (the default), orange tabby, tuxedo, black, Russian Blue, white with one blue and one amber eye, calico and tortoiseshell. The calico and tortoiseshell patches are fixed to the body, so they move with the cat.
  • Four animations. Walk, the default. Yarn: it swats a ball of yarn and chases it as it rolls. Pounce: the same game with random swat strength, pauses to watch, and a stalk that ends in a leap. Random: a different one of the three each time Claude starts working.
  • Naps between turns, if you want. When Claude finishes, the cat curls up asleep above your prompt where it stopped, with drifting z’s, and wakes with a long stretch when you send a message. It is off by default because the nap takes six rows; otherwise the cat leaves with the spinner and picks up where it was next turn.
  • Dresses up for Halloween. Through October by default: a purple witch hat, a jack-o’-lantern in place of the yarn, bats, glowing lanterns along the ground, and a cat that thinks boo.
  • One settings dialog. /cat-spinner opens a live preview of your cat above six settings: Cat, Animation, Width, Alignment, Season and Between turns. Changes save as you pick them. Shortcuts skip the dialog: /cat-spinner calico or any other coat name (siamese, orange, tuxedo, black, russian-blue, white, tortoiseshell), /cat-spinner pounce (or walk, yarn, random), /cat-spinner compact (or full), /cat-spinner center (or left, right), /cat-spinner plain (or auto, halloween) and /cat-spinner nap (or hide). Full width spans the terminal and follows resizes; compact caps the track at 90 columns, and only then does alignment apply. The same settings appear for cat-spinner in /config.

All eight cat-spinner coats, from Siamese to tortoiseshell, each walking and sitting with a thought bubble

If you want a pet that lives in its own pane and levels up across sessions instead, claude-pets does that; cat-spinner stays on the spinner line.

Install

Needs Claude Code 2.1.287 or later and a terminal, ideally with 24-bit color so the coats look right.

claude plugin marketplace add swicken/cat-spinner
claude plugin install cat-spinner@cat-spinner

Start a new Claude Code session and send a prompt: the cat appears the next time Claude works. If the install says userConfig options are not set, you can leave them; the defaults give you the walking Siamese at full width.

How it works

The mod wraps the terminal spinner and draws a nine-row pixel grid above it, two pixels per cell using half-block characters with separate foreground and background colors. A timer repaints the grid about 11 times a second while a turn runs and stops when the turn ends. The nap has its own slower timer, four frames a second, and draws in the band above the prompt only between turns.

prompt.submit and turn.complete start and stop the animation. tool.call tells it which tool is running and whether it failed or was denied; it reads the tool’s name and outcome, not its input, and it never reads your prompt. It makes no network calls and sends nothing to the model. The only thing it writes is its six settings, through Claude Code’s plugin config. The Halloween season follows your system date.

Limitations

  • Terminal only. The author notes that the Desktop app and other surfaces keep the normal spinner, because the cat’s pixel grid exists only in the terminal. There, /cat-spinner shows a one-line hint instead of the preview.
  • The macOS Terminal app may show the coat colors less accurately.
  • The nap appears only when there are six free rows above the prompt, and it steps aside when Claude Code shows a survey there.
  • The author calls it an early version that is still changing.