Claude Buddy
A full tamagotchi system hides inside Claude Code. Eighteen species, five rarity tiers, and a hex-encoded easter egg. Here is what leaked.
Problem: Claude Buddy is Anthropic's April Fools 2026 surprise. A virtual pet now lives inside your Claude Code terminal. You burn hours in these sessions, pushing through implementation work, chasing weird errors, and running sub-agents. The tool is excellent at its job and has all the personality of a spreadsheet. Developers stare at terminals more than any other app on their computer, and the terminal is still the flattest place on the whole machine.
What happened: Anthropic built this pet as a full tamagotchi-grade companion. Eighteen species. Five rarity tiers. A stat system with fields like CHAOS and SNARK. Shiny variants. Hat unlocks. The whole thing leaked a day before its intended April 1 release, through an accidental npm source map. Call it the worst-kept secret in AI, or the sharpest piece of viral marketing this year.
What Is Claude Buddy?
Claude Buddy is a virtual pet companion baked straight into Claude Code. Think Tamagotchi, only it runs in your terminal and reacts to your dev workflow instead of button mashing.
Release day was supposed to be April 1, 2026, in line with Anthropic's usual habit of shipping something odd for April Fools. Version 2.1.88 of the @anthropic-ai/claude-code npm package had other plans. It went out with a 59.8 MB .map file attached that laid bare the full source code. Developer Twitter did what developer Twitter does. It tore through 512,000 lines of TypeScript, located the src/buddy/ directory, and started fighting about which species is best.
The Buddy setup is more than an animation layer. It's a full pet simulation wired into the Claude Code runtime, with deterministic generation, anti-cheat architecture, and LLM hooks for personality. Your buddy reacts to whatever is happening in your session. Species, animations, rarity tier: all stitched into the terminal you already live in.
New to Claude Code's terminal-first workflow? Start with the terminal-first development model guide and get a handle on the execution model before you bolt a pet onto it.
The 18 Species
Claude Buddy ships with 18 species, each with its own ASCII art sprites (5 lines tall, 12 characters wide, 3 animation frames):
| Species | Category |
|---|---|
| Duck | Classic |
| Goose | Classic |
| Cat | Classic |
| Rabbit | Classic |
| Owl | Wise |
| Penguin | Cool |
| Turtle | Chill |
| Snail | Chill |
| Dragon | Mythical |
| Octopus | Aquatic |
| Axolotl | Exotic |
| Ghost | Spooky |
| Robot | Tech |
| Blob | Abstract |
| Cactus | Plant |
| Mushroom | Fungi |
| Chonk | Meme |
| Capybara | Special |
That last entry, capybara, is where the story gets interesting. Hold that thought. First, the system that hands out species.
Rarity, Stats, and Shiny Variants
Your buddy is not random. It's deterministic. Your user ID gets hashed through FNV-1a, fed into a Mulberry32 PRNG, and the same draw sequence plays out every time. Same account, same buddy. Always.
The salt string is friend-2026-401, a wink at April 1st.
Rarity Tiers
| Rarity | Probability | Stars | Stat Floor | Hat |
|---|---|---|---|---|
| Common | 60% | 1 | 5 | None |
| Uncommon | 25% | 2 | 15 | Random hat |
| Rare | 10% | 3 | 25 | Random hat |
| Epic | 4% | 4 | 35 | Random hat |
| Legendary | 1% | 5 | 50 | Random hat |
Five Stats
Every buddy gets five stats on a 0 to 100 scale: DEBUGGING, PATIENCE, CHAOS, WISDOM, and SNARK.
The algorithm picks one peak stat (floor + 50 + random, capped at 100), one dump stat (near the floor), and three scattered values in between. Higher rarity means a higher floor, so a Legendary buddy is statistically better across every stat.
Shiny Variants
An independent 1% chance fires on any buddy, whatever the rarity. A shiny buddy gets a rainbow color shimmer animation plus sparkle effects. A Shiny Legendary lands at 0.01% probability, roughly 1 in 10,000. Somebody has already launched a Solana memecoin ($Nebulynx) around that exact scenario.
This is what the 0.01% jackpot actually looks like. Dagmar the Shiny Legendary Dragon, CHAOS capped at 100, wrapped in the golden sparkle border. The LLM-generated personality reads like the dragon penned it: "A fierce guardian of clean code who breathes fire at spaghetti logic and hoards well-written functions."
Hats
Eight hat types with rarity-gated unlocks:
| Hat | Minimum Rarity |
|---|---|
| None | Common |
| Crown | Uncommon+ |
| Top Hat | Uncommon+ |
| Propeller | Uncommon+ |
| Halo | Rare+ |
| Wizard | Rare+ |
| Beanie | Epic+ |
| Tiny Duck | Legendary only |
A Tiny Duck hat on a Legendary buddy is the flex. People are already lining up stat cards to brag.
The "Bones vs Soul" Anti-Cheat
This is where the engineering gets genuinely interesting. Anthropic broke buddy data into two buckets:
Bones (species, rarity, shiny status, eyes, hat, stats): Rebuilt from your user ID every single session. Never written to disk. A config file edit cannot give you a Legendary. The algorithm runs fresh each boot and overwrites anything stored.
Soul (name, personality, hatch date): Generated once by the LLM the first time you hatch your buddy, then saved to your global config. That is the only data that sticks.
The merge order is { ...stored, ...bones }, so freshly computed bones always win the tiebreaker. An elegant anti-cheat for what is technically a joke feature. The engineers clearly expected somebody to try forging their own rarity.
Commands
# First-time hatch with animation
/buddy
# Pet your buddy (floating heart animation, 2.5 seconds)
/buddy pet
# View stat card with sprite, stats, rarity
/buddy card
# Silence speech bubbles
/buddy mute
# Restore speech
/buddy unmute
# Hide buddy entirely
/buddy off
# Talk to your buddy directly by using its nameYour buddy has its own LLM-powered personality too. When unmuted, it will drop comments in speech bubbles next to the terminal input. The system prompt tells Claude that the buddy is a "separate watcher" and that Claude should stay out of the way whenever you address the buddy by name.
The Hex-Encoded Easter Egg
This is the detail that pulled developers into detective mode: all 18 species names in the source code are hex-encoded. Not plain strings. Encoded one character at a time:
// How "capybara" is stored in the Buddy source code
String.fromCharCode(0x63, 0x61, 0x70, 0x79, 0x62, 0x61, 0x72, 0x61);
// Returns: "capybara"Why would Anthropic bother hex-encoding pet names? Their build system runs an excluded-strings.txt scanner that flags specific strings at compile time. At least one species name lines up with an internal model codename.
The community reached the same conclusion: capybara is (or was) an internal codename for one of Anthropic's models. Hex-encoding was a workaround to slip the pet past their own build pipeline. Encoding just one name would look suspicious. Encoding all 18 uniformly does not.
The irony: they built leak prevention for model codenames, then leaked the whole source tree through a .map file in the npm package.
One commenter summed it up: "The engineers hex-encoded a pet species name to sneak it past their own build scanner. That's the most relatable thing Anthropic has ever done."
How the Leak Happened
On March 31, 2026, security researcher Chaofan Shou (@Fried_rice) spotted that version 2.1.88 of the @anthropic-ai/claude-code npm package shipped with a 59.8 MB source map file. That one .map file exposed 512,000+ lines of TypeScript across roughly 1,900 files, including the full src/buddy/ directory and its 5 source files (~79KB).
The root cause was boring: a missing .npmignore entry. The build pipeline included the source map in the published package, and nobody caught it before release.
Anthropic's official response: "No sensitive customer data or credentials were involved or exposed. This was a release packaging issue caused by human error, not a security breach."
From there, the reaction was fast:
- @byteHumi walked through the technical breakdown on X and cleared 34,000 views
- @AI_chemyst vibe-coded a standalone web app off the leaked source
- Multiple buddy checker tools popped up on Netlify and Vercel inside a few hours
- Somebody launched the $Nebulynx memecoin on Solana off the rarest possible buddy
- GitHub issue #41684 proposed an RPG evolution system, working proof-of-concept attached
The community take was not mockery. Developers in the replies were genuinely excited. One reply caught the mood: "I wouldn't even be mad. A tiny bit of personality like this would make the tool way more fun to live in every day."
Launch Timeline
The buddy system sat behind a BUDDY compile-time feature flag, with a phased rollout:
| Period | Behavior |
|---|---|
| April 1-7 | Teaser window: 15-second rainbow /buddy notification on startup |
| April 8+ | Command permanently available via isBuddyLive |
| Anthropic employees | Permanent access regardless of date (USER_TYPE = 'ant') |
Requirements: Claude Code >= 2.1.89, Pro subscription.
April Fools or Permanent Feature?
This is the real question. April 1 makes Claude Buddy easy to wave off as a gag. The evidence points the other way though:
The implementation is production-grade. Five source files. Deterministic generation with anti-cheat. Rarity tiers. Stat balancing. Hat unlocks. Shiny variants. LLM personality integration. Graceful degradation on narrow terminals. That is not a throwaway bit.
The developer experience argument is real. Claude Code users live in their terminals for hours at a time. Interactive mode already ships keyboard shortcuts, vim mode, and quality-of-life polish that goes past raw AI capability. A buddy system is a clean extension of the same idea.
Users are already asking for more. GitHub issues around RPG evolution, species customization, and cosmetic shops turned up within hours of the leak. One commenter put it this way: "I'd pay for gacha and XP boost. Claude needs to realize that it just lit fire in our hearts."
The precedent is right there. GitHub Copilot's ghost text felt weird when it first shipped. Now nobody remembers coding without it. Small personality touches get normalized fast. Claude Code already ships with a small capybara named Jetsam sitting beside the input box. The Buddy system scales that same idea up.
Whether Claude Buddy ships permanently or gets pulled after April 1 comes down to whether Anthropic reads the room. Every signal so far says the room wants terminal pets.
What This Means for Developer Tools
Claude Buddy is a small feature carrying a loud signal. Anthropic is putting real effort into developer experience, not just model performance. Context engineering tricks and fast mode knobs make Claude Code powerful. Power on its own does not earn loyalty. Character does.
Developer tools have been utilitarian to the point of being hostile for a long time. The whole aesthetic of terminal computing is "function over form, always." Claude Buddy pokes at that assumption. A tool can orchestrate complex sub-agent workflows and still have a pet duck parked in the corner.
Those two goals do not fight each other. If anything, a tiny spark of personality makes long sessions easier to keep going. Nobody burns out because their terminal has a pet. People burn out because their tools feel built to extract productivity rather than support the humans using them.
April Fools joke or a new direction for terminal UX, the code is already out in the wild. The community built clones, checker tools, gallery sites, and at least one memecoin before the week was out. Somewhere, a Shiny Legendary capybara is living rent-free in someone's terminal.
Frequently Asked Questions
What is Claude Buddy?
Claude Buddy is a virtual pet companion built into Claude Code, Anthropic's terminal-based AI coding assistant. It behaves like a tamagotchi that lives in your terminal and reacts to your development sessions. Anthropic released it as their April Fools 2026 feature, though the implementation is thorough enough that plenty of developers want it to stay permanently.
How many Claude Buddy species are there?
There are 18 Claude Buddy species: duck, goose, cat, rabbit, owl, penguin, turtle, snail, dragon, octopus, axolotl, ghost, robot, blob, cactus, mushroom, chonk, and capybara. Each has its own ASCII art and personality traits.
How to get a Claude Buddy
Run /buddy in Claude Code version 2.1.89 or later with a Pro subscription. Your buddy is deterministically generated from your user ID, so you always get the same species and rarity. Use /buddy card to pull up your buddy's stats and /buddy pet to interact with it.
Can you choose your Claude Buddy species?
No. Your species, rarity, stats, and hat are all deterministically computed from your user ID using FNV-1a hashing. The same account always produces the same buddy. The anti-cheat system rebuilds these values every session, so editing config files does nothing.
What are the Claude Buddy rarity tiers?
Five tiers: Common (60%), Uncommon (25%), Rare (10%), Epic (4%), and Legendary (1%). Higher rarity means higher base stats and access to rarer hats. An independent 1% chance also makes any buddy Shiny, which adds rainbow shimmer effects.
Why are the Claude Buddy species names hex-encoded?
Anthropic's build system runs an excluded-strings.txt scanner that blocks certain strings at compile time. At least one species name (believed to be "capybara") matches an internal model codename, so the engineers hex-encoded all species names to get the feature past their own build pipeline.
Is Claude Code open source?
Claude Code's source is on GitHub. The Claude Buddy feature surfaced when a source map accidentally got bundled into npm package version 2.1.88, exposing 512,000+ lines of TypeScript.
Stop configuring. Start building.
Claude Code /simplify and /batch
Run /simplify for a three-agent code review on your diff. Reach for /batch when a change has to land in parallel across your whole codebase.
/powerup
The v2.1.90 release quietly added /powerup, an animated lesson system that teaches Claude Code features without leaving your shell.