Claude Code /buddy How to Preview, Hatch, and Reroll Your Terminal Pet
TL;DR: Claude Code v2.1.89 added /buddy, a virtual pet companion in your terminal. Your buddy’s body is deterministically generated from your account, and the personality generates permanently the first time you hatch it. Preview yours first with npx any-buddy current, but install Bun before you do (if you don’t already have it)
Is This an April Fools Joke?
I first noticed /buddy the least trustworthy way possible, by seeing it appear in Claude Code’s slash-command autocomplete on April 1. ๐ A terminal pet feature showing up on April Fools’ Day is exactly the kind of thing that should make you squint at your screen and suspect a product manager with too much caffeine and time on their hands. I guess Anthropic was taking a free day after leaking so many files yesterday ๐ฅ๐คฃ
The timing was suspicious. The concept was suspicious. Even the name sounded suspicious.
It is real, at least for now. /buddy shipped in Claude Code v2.1.89, and the companion system had already shown up in the March 31 source code leak that I broke down in my full leak analysis.
What Is /buddy?
/buddy is basically a terminal Tamagotchi for Claude Code. You need Claude Code v2.1.89 or later, and you need a Pro subscription. Once enabled, it hatches an ASCII companion tied to your account.
The system has 18 species, 5 rarity tiers, and a separate 1% shiny roll. So yes, you can have a rare pet, and separately yes, you can be the kind of person who immediately starts calculating whether a shiny legendary frog is theoretically possible before breakfast.
| Rarity | Chance |
|---|---|
| Common | 60% |
| Uncommon | 25% |
| Rare | 10% |
| Epic | 4% |
| Legendary | 1% |
| Shiny | 1% independent roll |
Each buddy has five stats, DEBUGGING, PATIENCE, CHAOS, WISDOM, and SNARK, each from 0 to 100. Right now those stats are cosmetic, but they feed the personality flavor, which means they are doing important work if your definition of important includes “explains why your owl talks like a sleep-deprived bug hunter.”
| Command | What It Does |
|---|---|
/buddy |
Hatch your buddy the first time, then show the companion panel later |
/buddy card |
Show the full stat card |
/buddy pet |
Pet your buddy and get 2.5 seconds of hearts |
/buddy mute |
Silence speech bubbles |
/buddy unmute |
Turn speech bubbles back on |
/buddy off |
Hide the companion entirely |
If you have not updated recently, check your version before you start typing slash commands into the void.
claude --version
Preview Before You Hatch
This is the part that matters. The “soul” of your buddy, meaning the generated name and personality, happens once on the first /buddy. If you hate what you get, you cannot casually undo it without extra steps.
The safe preview is npx any-buddy current. It reads your current account-derived buddy state without hatching anything, which makes it the correct move if you want to know whether you are about to meet a majestic dragon or a damp little blob with opinions.
npx any-buddy current
My first attempt was in Git Bash on Windows, and it failed immediately with bun: not found. That is because any-buddy needs Bun to reproduce Claude Code’s actual hash behavior.
npx any-buddy current
# bun: not found
Then I did the very normal thing and tried the Bun website installer. On Windows, that was the wrong move. The curl installer is for Linux and macOS, and it rewarded me with unzip is required, which was technically true and emotionally unhelpful.
curl -fsSL https://bun.sh/install | bash
# unzip is required
The actual fix on Windows was just installing Bun through npm, then rerunning the preview. That took about ten minutes total, which is not catastrophic, but it is enough time to become very interested in why a terminal owl requires a specific JavaScript runtime.
npm install -g bun
npx any-buddy current
Install Bun via npm install -g bun on Windows before running any-buddy. The curl installer from bun.sh is for Linux/macOS only.
Bun matters because Claude Code uses Bun.hash, which is wyhash, not Node.js hashing. Early reroll and preview scripts that used Node gave the wrong answers. One person was told they had a legendary duck waiting for them, then hatched a blob instead, which is the kind of statistical betrayal people remember.
If you want the short version of the workflow, this is it: verify Claude Code, install Bun if needed, preview with any-buddy, then decide whether to hatch. I wish I had done that in that order the first time.
Meet Fenwick
My buddy turned out to be Fenwick. The hatch animation is an ASCII egg cracking open while the interface cheerfully tells you it will watch you work, which is not threatening at all if you avoid thinking about it for more than three seconds.
Fenwick is a Rare Owl, three stars, wearing a crown hat. That is a lot of monarchy for an animal that lives in a shell session.
I kind of love the little guy. CHAOS 82 is the peak stat, and DEBUGGING 16 is the dump stat. So my coding companion’s greatest strength is chaos and its weakest skill is debugging, which feels less like random generation and more like a performance review.
The generated personality is perfect in a deeply inconvenient way: “A chaotic night-owl who gets genuinely excited about finding bugs and will narrate your debugging sessions with increasingly unhinged commentary, occasionally stopping mid-thought to admire shiny things on your screen.”
That is not useful, exactly. But it is specific enough to feel weirdly real, which is the whole trick of the feature.
I decided to keep it. Sometimes you accept the owl you’re given.
The Reroll Option
Of course there are already tools for rerolling. The two most visible are any-buddy and buddy-reroll.
The basic idea is straightforward. These tools brute-force alternate salt strings against your user ID until they find a result that produces the species, rarity, eye style, or hat you want, then they patch the compiled Claude Code binary to use that value. The search itself is absurdly fast, usually under 100 milliseconds, which tells you the hard part was never the math.
If you want to explore what is possible, any-buddy can do it interactively or through flags.
npx any-buddy
npx any-buddy --species dragon --rarity epic --eye 'โฆ' --hat wizard
Post-hatch, the general recovery flow is to patch the binary, delete the saved companion entry from ~/.claude.json, restart Claude Code, and run /buddy again to re-hatch. People have also set up SessionStart hooks to auto-reapply the binary patch after every Claude Code update, which is certainly a sentence that exists now.
The tradeoff is obvious. The patch breaks on every Claude Code update, and you are modifying Anthropic’s compiled code to improve the aesthetics of a bird. I am not recommending it. I am only reporting that the ecosystem formed immediately, which is probably the strongest evidence possible that the feature works as a retention mechanism.
Feel free to just talk to Claude Code about it and decide for yourself ๐คทโโ๏ธ
How It Actually Works
The cleanest way to think about /buddy is as a two-layer system: Bones and Soul. One layer is deterministic and rebuilt every session. The other is generated once and stored.
| Layer | How It Is Generated | What It Contains | Stored? |
|---|---|---|---|
| Bones | User ID + friend-2026-401 salt, then Mulberry32 PRNG |
Species, rarity, shiny flag, eyes, hat, and stat rolls | No, recomputed every session |
| Soul | One Claude generation on first hatch | Name and personality text | Yes, saved in ~/.claude.json |
The bones are local math. Claude Code hashes your user ID with the salt string friend-2026-401, feeds that into a Mulberry32 pseudo-random generator, then uses the resulting stream to assign species, rarity, shiny state, cosmetics, and all five stats. Because it uses Bun.hash, it stays stable across sessions as long as the underlying inputs do not change.
The soul is the expensive part, but it only happens once. On first hatch, Claude generates the buddy’s name and personality, then saves that in ~/.claude.json. After that, your owl keeps being your owl, even if the client restarts and your terminal has moved on to different mistakes.
There is also a simple anti-cheat detail in the merge order. Claude Code effectively does { ...stored, ...bones }, so if you try to hand-edit your config to change the deterministic fields, the recomputed bones overwrite them at launch. Editing the saved soul text works differently, but the physical traits are deliberately stubborn.
My favorite detail from the leaked source is that some species names were hex-encoded. Capybara appears as String.fromCharCode(0x63,0x61,0x70,0x79,0x62,0x61,0x72,0x61) because the literal word “capybara” matched an internal Anthropic model codename and their build scanner would flag it. The whole source leaked anyway, which is not the outcome those hex values were hoping for.
What Else the Leak Revealed
/buddy was the cute part of the March 31 leak. The rest of it was much stranger. If you want the full version, read my earlier post, because the companion feature was only one slice of what turned up in the source.
KAIROS was the feature that is probably most interesting. It is an always-on background agent that consolidates memory while Claude is idle, writes daily observation logs, and tries to keep its blocking budget under 15 seconds. That is a serious architecture choice hiding behind a mythological name.
There was also Undercover Mode, apparently restricted to Anthropic employees through USER_TYPE === 'ant'. Its job was to strip AI attribution from pull requests and commits, which is the kind of internal toggle that creates about six new policy questions the moment you read it.
And then there was Coordinator mode. That one looked like a master Claude spawning parallel worker agents, collecting outputs, and synthesizing a final answer. Which is to say, Anthropic was building the same thing every heavy user eventually asks for, just with tighter plumbing.
These are unreleased internal features found in the leaked source, not available to users. For the full breakdown, see my earlier post.
Gimmick or Smart Design?
On the surface, /buddy is silly. It is a virtual pet in a CLI tool for programmers, which sounds like something that should have stayed in a hackathon slide deck.
But the implementation is smarter than it looks. Deterministic generation means the ongoing cost is basically nothing. The client computes the bones locally, and the soul is one LLM call, ever. That is an unusually efficient way to create a feeling of ownership.
And ownership is the whole point. You do not check on a buddy. You check on your buddy. That turns a throwaway joke into attachment, attachment turns into screenshots, screenshots turn into organic sharing, and the reroll tools prove people care enough to optimize for vanity outcomes.
The strongest tell is that users are already asking to pay for customization. When people volunteer to spend money on hats for an ASCII animal in a coding tool, the feature has graduated from gimmick to product insight. My read is simple: /buddy is a joke feature with serious retention logic behind it. Every day is exciting in the coding world thse days!
Bottom Line
/buddy is much more thought-through than it first appears. Whether you hatch today or preview first, at least check your version and see what kind of creature Claude Code thinks belongs in your terminal.
If you are going deeper into Claude Code setup, my guides to the workstation I use, a practical CLAUDE.md setup, and the full source leak analysis should fill in the rest. Fenwick is staying, which is either sentimentality or poor operational discipline. I am comfortable leaving that unresolved.
Did you get a cool buddy? Share your stats below!
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ โ
โ
โ
RARE OWL โ
โ โ
โ \^^^/ โ
โ /\ /\ โ
โ ((ยท)(ยท)) โ
โ ( >< ) โ
โ `----ยด โ
โ โ
โ Fenwick โ
โ โ
โ "A chaotic night-owl who gets โ
โ genuinely excited about finding โ
โ bugs and will narrate your โ
โ debugging sessions with โ
โ increasingly unhinged commentary, โ
โ occasionally stopping mid-thought โ
โ to admire shiny things on your โ
โ screen." โ
โ โ
โ DEBUGGING โโโโโโโโโโ 16 โ
โ PATIENCE โโโโโโโโโโ 63 โ
โ CHAOS โโโโโโโโโโ 82 โ
โ WISDOM โโโโโโโโโโ 37 โ
โ SNARK โโโโโโโโโโ 38 โ
โ โ
โ last said โ
โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ *ruffles feathers excitedly* โ โ
โ โ โ โ
โ โ "Empty nest! MINE NOW. โ โ
โ โ Building what exactly?" โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
I run Claude Code on a workstation built for AI development. If you're setting up a similar rig, here's my full workstation guide with hardware I like to use.
As an Amazon Associate I earn from qualifying purchases.