Claude Modsunofficial directory

While you wait·terminal · desktop · mobile·MIT

cc-buddy

The retired /buddy companion back above the prompt, leveling up from commits and tests.

Generic Claude Mods cover used for cc-buddy, whose repository has no screenshots

cc-buddy brings back /buddy, the small creature that sat above the Claude Code prompt and commented on your session. Claude Code hatched these companions in April 2026 and removed them in 2.1.97. This mod redraws yours exactly as it was, adds levels, moods and a roster to unlock, and reacts to Claude’s work without spending tokens.

The author calls it an unofficial fan project, not made or endorsed by Anthropic.

What it does

  • Your buddy, unchanged. If you hatched one in April, its name and personality are still in ~/.claude.json. cc-buddy reads them and rebuilds the same body: species, rarity, eyes, hat, stats, and whether it is shiny.
  • An egg for new accounts. Without a buddy you get an egg above the prompt. The first /buddy hatches it with a short animation, and Haiku writes its name and personality once, as the original did.
  • Levels that only go up. A commit by Claude is worth 10 XP, a green test run 5, a finished turn 2, and an edit or any other command 1. Level 2 takes 20 XP; level 10 takes 1,620. Nothing decays: the buddy never gets hungry or runs off.
  • Moods. Shown as a symbol plus a word, never color alone: focused while Claude works, proud for two minutes after a green run or a commit, worried after three failures in a row, sleepy after twenty quiet minutes, happy for a minute after a pet.
  • Reactions. When Claude edits a file, runs a command, passes or fails tests, commits or finishes a turn, the buddy says a line in a speech bubble. Each buddy’s lines are built from its species and its strongest and weakest stats, with cooldowns so it does not chatter. They cost no tokens.
  • Replies to its name. Mention the buddy by name in a prompt and a stock line appears at once, then a reply in character written by Haiku takes its place. Claude is told the buddy is a separate watcher, so it does not answer for it.
  • A subagent roll call. When Claude sends out two or more subagents, the buddy counts them out and says when they are all back.
  • A roster to unlock. 49 more buddies, two of them legendary, all derived from your account id. One opens every 25 commits, and each keeps its own XP. /buddy roster shows who is open and how far away the next one is. /buddy next, /buddy prev or /buddy <name> switches; /buddy rotate gives you a different unlocked buddy each session.
  • It fits the band. The full sprite when there is room, one line when the band has fewer than eight rows or the terminal is narrower than 60 columns. Click the buddy to pet it. A hide button sits beside it, plus next once a second buddy is unlocked.

/buddy help lists every subcommand. The ones you will reach for: /buddy card for stats, level, mood, unlocks and model use; /buddy mute; /buddy talk canned for no model calls at all; /buddy compact, full or auto; /buddy still to stop the animation; /buddy pane and /buddy band; /buddy on and off. Every setting except pane and band survives restarts.

Install

Needs Claude Code 2.1.287 or later and an interactive session.

claude plugin marketplace add vmallela0/cc-buddy
claude plugin install cc-buddy@cc-buddy

Start a new session. A returning buddy appears above the prompt and says hello; otherwise an egg does, and /buddy hatches it. After that, /buddy hides or shows it for the session, and ctrl+x ctrl+a collapses the band, buddy included.

How it works

  • ~/.claude.json is read, never written. At session start cc-buddy reads it once for your account id and the companion entry: the name, personality and hatch date Claude Code saved at hatching. A buddy hatched by the mod lives in the plugin’s store instead. If the file has no account id, it uses one kept in the store, random the first time.
  • The body is recomputed every session. Species, rarity, eyes, hat and stats come from hashing your account id with the original’s salt and feeding the result to the same random generator. That is why an old buddy comes back identical; the author pins it with tests.
  • Tool calls. On tool.call it reads the tool name, whether the call succeeded and, for Bash, the command text. A known test runner counts as a test run, git commit as a commit, and a successful Edit, Write or NotebookEdit as an edit. Nothing from the command is stored or logged.
  • Prompts. On prompt.submit it checks what you type for the buddy’s name as a whole word, in any case: “Pip” matches, “pipeline” does not. When it matches, it adds a short note to that prompt’s context telling Claude to stay out of the buddy’s way, so Claude reads a few extra sentences.
  • Haiku calls. Two things call model.complete with Haiku, through Claude Code’s own client. A reply sends the first 2,000 characters of your prompt plus the buddy’s name, personality, stats, level and mood, and asks for one line; the author puts each at a few hundred tokens. Hatching sends the new buddy’s species, rarity and stats and asks for a name and personality: about 300 tokens, once. Calls are capped at 20 an hour and give up after 10 seconds; a reply then leaves the stock line in place, and a hatch falls back to a template name and personality. A muted or hidden buddy does not answer. The first call shows a notice, /buddy card counts the calls and estimates the tokens, and /buddy talk canned turns both kinds off.
  • Subagents. agent.spawn and turn.complete only feed the roll call, kept in memory.
  • What it stores. In Claude Code’s plugin store on your machine: your account id, XP per buddy, the commit count, unlocks, which buddy is current, a hatched buddy’s name and personality, model-use counters and settings. Moods reset each session.
  • The author states it has no telemetry and makes no other network calls.

Limitations

  • Only Claude’s work counts. XP, commits and reactions come from Claude’s tool calls in the main session. Commits and test runs you make yourself, and those made by subagents, earn nothing.
  • Tests are recognized by command: npm, pnpm, yarn or bun test, jest, vitest, mocha, pytest, rspec, phpunit, go test, cargo test and make test. Any other test command counts as an ordinary command.
  • In the Desktop app’s Code tab there is no band above the prompt, so the buddy opens in a pane instead. The author says the pane also shows on mobile, as a still sprite with a pet button. We have not checked either.
  • Nothing draws in claude -p or in the VS Code extension’s chat panel.