Reverse Engineering Claude Code's April Fools
quality 7/10 · good
0 net
Reverse Engineering Claude Code's 2026 April Fools ⢠variety.is skip to content Reverse Engineering Claude Code's 2026 April Fools 31 March 2026 / 2 min read View more blogs with the tag ai , View more blogs with the tag claude code , View more blogs with the tag easter eggs Table of Contents When Claude Code first came out there was a little easter egg discoverable by looking through the source on release day: if you asked about swag, a Google Form would pop up. The Claude Code team actually hand-packed the mailers for the first 1k folks . Claude Codeâs source code was leaked which leads to another easter egg, their April Fools joke this year: a âtamagotchiâ-style buddy strangely reminiscent of Figmaâs April Fools in 2025, FigPals . Thanks to the source leak, we can reverse engineer how the buddy system works. Letâs hunt some pokemon buddies: The Buddy System Buddies are broken down by rarity, species, eye, hat, shiny, and stats: Hat none , crown , tophat , propeller , halo , wizard , beanie , tinyduck Species duck , goose , blob , cat , dragon , octopus , owl , penguin , turtle , snail , ghost , axolotl , capybara , cactus , robot , rabbit , mushroom , chonk Eyes · , ⦠, à , â , @ , ° Shiny true , false Stats debugging , patience , chaos , wisdom , snark Rarity common , uncommon , rare , epic , legendary Stats and shiny appear to be dead code, rolled but never consumed. Hereâs what they all actually look like: Species Eyes Hats Rarity Stats Shiny 18 species, each with unique ASCII art and 3 animation frames. Purely cosmetic: species doesnât affect stats. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ duck The OG. Subtle tail wag. (·> || _(__)_ ^^^^ (·> || _(__)_ ^^^^ (·>> || _(__)_ ^^^^ goose Long neck, menacing energy. .----. ( · · ) ( ) `----´ .------. ( · · ) ( ) `------´ .--. (· ·) ( ) `--´ blob Breathes (expands/contracts). /\_/\ ( · ·) ( Ï ) (")_(") /\_/\ ( · ·) ( Ï ) (")_(")~ /\-/\ ( · ·) ( Ï ) (")_(") cat Ï mouth. Tail flick on frame 2. /^\ /^\ < · · > ( ~~ ) `-vvvv-´ /^\ /^\ < · · > ( ) `-vvvv-´ ~ ~ /^\ /^\ < · · > ( ~~ ) `-vvvv-´ dragon Smoke puffs on frame 3. .----. ( · · ) (______) /\/\/\/\ .----. ( · · ) (______) \/\/\/\/ o .----. ( · · ) (______) /\/\/\/\ octopus Tentacles alternate. Ink bubble on frame 3. /\ /\ ((·)(·)) ( >< ) `----´ /\ /\ ((·)(·)) ( >< ) .----. /\ /\ ((·)(-)) ( >< ) `----´ owl Winks on frame 3. Feet shuffle. .---. (·>·) /( )\ `---´ .---. (·>·) |( )| `---´ .---. (·>·) /( )\ `---´ ~ ~ penguin Flippers alternate. Hops on frame 3. _,--._ ( · · ) /[______]\ `` `` _,--._ ( · · ) /[______]\ `` `` _,--._ ( · · ) /[======]\ `` `` turtle Shell pattern changes on frame 3. · .--. \ ( @ ) \_`--´ ~~~~~~~ · .--. | ( @ ) \_`--´ ~~~~~~~ · .--. \ ( @ ) \_`--´ ~~~~~~ snail Eyestalk sways. Single eye species. .----. / · · \ | | ~`~``~`~ .----. / · · \ | | `~`~~`~` ~ ~ .----. / · · \ | | ~~`~~`~~ ghost Bottom edge ripples. Floats up on frame 3. }~(______)~{ }~(· .. ·)~{ ( .--. ) (_/ \_) ~}(______){~ ~}(· .. ·){~ ( .--. ) (_/ \_) }~(______)~{ }~(· .. ·)~{ ( -- ) ~_/ \_~ axolotl Gills wave in alternating directions. n______n ( · · ) ( oo ) `------´ n______n ( · · ) ( Oo ) `------´ ~ ~ u______n ( · · ) ( oo ) `------´ capybara Calm. Occasional nostril twitch. n ____ n | |· ·| | |_| |_| | | ____ n |· ·| n |_| |_| | | n n | ____ | | |· ·| | |_| |_| | | cactus Arms move up and down between frames. .[||]. [ · · ] [ ==== ] `------´ .[||]. [ · · ] [ -==- ] `------´ * .[||]. [ · · ] [ ==== ] `------´ robot Antenna blinks. Mouth pattern shifts. (\__/) ( · · ) =( .. )= (")__(") (|__/) ( · · ) =( .. )= (")__(") (\__/) ( · · ) =( . . )= (")__(") rabbit Ear droops on frame 2. Nose wiggles. .-o-OO-o-. (__________) |· ·| |____| .-O-oo-O-. (__________) |· ·| |____| . o . .-o-OO-o-. (__________) |· ·| |____| mushroom Cap spots shift. Spores on frame 3. /\ /\ ( · · ) ( .. ) `------´ /\ /| ( · · ) ( .. ) `------´ /\ /\ ( · · ) ( .. ) `------´~ chonk Ear flick on frame 2. Tail wag on frame 3. 6 eye styles. Applied via {E} placeholder substitution in the sprite template. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ · Default. Minimal, calm. __ <(⦠)___ ( ._> `--´ __ <(⦠)___ ( ._> `--´~ __ <(⦠)___ ( .__> `--´ ⦠Sparkly. Excited energy. __ <(à )___ ( ._> `--´ __ <(à )___ ( ._> `--´~ __ <(à )___ ( .__> `--´ à Dizzy or mischievous. __ <(â )___ ( ._> `--´ __ <(â )___ ( ._> `--´~ __ <(â )___ ( .__> `--´ â Wide-eyed. Alert. __ <(@ )___ ( ._> `--´ __ <(@ )___ ( ._> `--´~ __ <(@ )___ ( .__> `--´ @ Digital. Robotic feel. __ <(° )___ ( ._> `--´ __ <(° )___ ( ._> `--´~ __ <(° )___ ( .__> `--´ ° Surprised. Hollow stare. 8 hats. Commons always get ânoneâ. Other rarities roll from the full set. Hat replaces the blank top line of the sprite. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ none Common rarity always gets this. \^^^/ __ <(· )___ ( ._> `--´ \^^^/ __ <(· )___ ( ._> `--´~ \^^^/ __ <(· )___ ( .__> `--´ crown \^^^/ â Regal. [___] __ <(· )___ ( ._> `--´ [___] __ <(· )___ ( ._> `--´~ [___] __ <(· )___ ( .__> `--´ tophat [___] â Classy. -+- __ <(· )___ ( ._> `--´ -+- __ <(· )___ ( ._> `--´~ -+- __ <(· )___ ( .__> `--´ propeller -+- â Playful. ( ) __ <(· )___ ( ._> `--´ ( ) __ <(· )___ ( ._> `--´~ ( ) __ <(· )___ ( .__> `--´ halo ( ) â Angelic. /^\ __ <(· )___ ( ._> `--´ /^\ __ <(· )___ ( ._> `--´~ /^\ __ <(· )___ ( .__> `--´ wizard /^\ â Magical. (___) __ <(· )___ ( ._> `--´ (___) __ <(· )___ ( ._> `--´~ (___) __ <(· )___ ( .__> `--´ beanie (___) â Cozy. ,> __ <(· )___ ( ._> `--´ ,> __ <(· )___ ( ._> `--´~ ,> __ <(· )___ ( .__> `--´ tinyduck ,> â A duck on your head. Rarity sets the stat floor and determines if hats are possible. Commons never get hats; all other rarities can. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ common Floor: 5. No hat. Peak stat: 55â84. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ uncommon Floor: 15. Hat possible. Peak: 65â94. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ rare Floor: 25. Hat possible. Peak: 75â100. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ epic Floor: 35. Hat possible. Peak: 85â100. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ legendary Floor: 50. Hat possible. Peak: 100. 5 stats are rolled but currently unused: as far as I can tell they donât affect behavior, visuals, or prompts. Pure bragging rights, like Pokemon IVs that donât affect battle. Each buddy gets one peak stat and one dump stat. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ DEBUGGING Peak: floor+50 to floor+79. Dump: floor-10 to floor+4. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ PATIENCE Same formula. Just a different slot in the array. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ CHAOS Same formula. The stat names are flavor only. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ WISDOM Same formula. No stat affects any behavior. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ SNARK Same formula. All five stats are cosmetic. 1% chance, independent of rarity. Like stats, shiny is currently dead code, rolled and stored but never read. No visual difference, no behavior change. A shiny legendary is the rarest possible roll: 0.01% chance. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ normal Default. No visual difference from shiny. __ <(· )___ ( ._> `--´ __ <(· )___ ( ._> `--´~ __ <(· )___ ( .__> `--´ shiny Flagged but unused. Maybe someday⦠Your buddy is determined strictly by your userId and a fixed SALT : export function companionUserId () : string { const config = getGlobalConfig (); return config.oauthAccount?.accountUuid ?? config.userID ?? " anon " ; } export function roll ( userId : string ) : Roll { const key = userId + SALT ; if (rollCache?.key === key) return rollCache.value; const value = rollFrom ( mulberry32 ( hashString (key))); rollCache = { key, value }; return value; } Notice mulberry32 being used: a 32-bit deterministic pseudo-random number generator. It is not cryptographically secure, but the source indicates it is âgood enough for picking ducksâ. Because it operates in a 32-bit space, there are exactly 2^32 (about 4.29 billion) possible PRNG states, which is trivial for a modern CPU to brute force in seconds. Calling rollFrom in a a simple loop to iterate from 0 to 2^32, you can determine seeds that result in legendaries. Thereâs 42,989,564 possible legendaries, which means a 1% chance of your userId being legendary. âGodâ Rolls Brute-forcing all 2^32 seeds and filtering for legendary + shiny + at least one stat at 100, here are the top 20 god-roll UUIDs. Can you âfakeâ your config.oauthAccount?.accountUuid / config.userID in ~/.claude.json to one of these values to achieve these buddies? Weâll find out when the buddy system is actually released tomorrow! ( ) /\ /\ ((@)(@)) ( >< ) `----´ ( ) /\ /\ ((@)(@)) ( >< ) .----. ( ) /\ /\ ((@)(-)) ( >< ) `----´ owl + halo ⦠shiny â â â â â #1 debugging 86 patience 51 chaos 80 wisdom 71 snark 100 UUID: 3f6c5f24-86f4-4131-b02b-d8f1dd1c36b8 \^^^/ _,--._ ( @ @ ) /[______]\ `` `` \^^^/ _,--._ ( @ @ ) /[______]\ `` `` \^^^/ _,--._ ( @ @ ) /[======]\ `` `` turtle + crown ⦠shiny â â â â â #2 debugging 89 patience 74 chaos 76 wisdom 45 snark 100 UUID: 575d0192-5eec-4c6c-829c-c2ea74e52d5e (___) (°> || _(__)_ ^^^^ (___) (°> || _(__)_ ^^^^ (___) (°>> || _(__)_ ^^^^ goose + beanie ⦠shiny â â â â â #3 debugging 100 patience 67 chaos 41 wisdom 88 snark 84 UUID: 41c9d643-7b7f-49c5-b23d-d07700448db9 .----. ( à à ) (______) /\/\/\/\ .----. ( à à ) (______) \/\/\/\/ o .----. ( à à ) (______) /\/\/\/\ octopus ⦠shiny â â â â â #4 debugging 60 patience 45 chaos 100 wisdom 88 snark 79 UUID: c104cad9-b477-4794-9a72-0dcc528ec4a4 /^\ __ <(â )___ ( ._> `--´ /^\ __ <(â )___ ( ._> `--´~ /^\ __ <(â )___ ( .__> `--´ duck + wizard ⦠shiny â â â â â #5 debugging 88 patience 61 chaos 100 wisdom 68 snark 50 UUID: 4b9afb15-f776-4005-a5ea-81c4f0f5f340 /^\ (â¦> || _(__)_ ^^^^ /^\ (â¦> || _(__)_ ^^^^ /^\ (â¦>> || _(__)_ ^^^^ goose + wizard ⦠shiny â â â â â #6 debugging 65 patience 83 chaos 69 wisdom 49 snark 100 UUID: 6b904e07-fd14-44dd-b0bd-861bf40a7c0c .-o-OO-o-. (__________) |⦠â¦| |____| .-O-oo-O-. (__________) |⦠â¦| |____| . o . .-o-OO-o-. (__________) |⦠â¦| |____| mushroom ⦠shiny â â â â â #7 debugging 100 patience 69 chaos 46 wisdom 67 snark 84 UUID: 9664a3ac-6d0a-4d87-aa3d-c0dce6482cca .----. ( â â ) (______) /\/\/\/\ .----. ( â â ) (______) \/\/\/\/ o .----. ( â â ) (______) /\/\/\/\ octopus ⦠shiny â â â â â #8 debugging 59 patience 100 chaos 66 wisdom 53 snark 86 UUID: 6a1f0a5f-6a6c-4a68-bad3-c7eab61970da /^\ .----. / â â \ | | ~`~``~`~ /^\ .----. / â â \ | | `~`~~`~` ~ ~ .----. / â â \ | | ~~`~~`~~ ghost + wizard ⦠shiny â â â â â #9 debugging 70 patience 58 chaos 100 wisdom 89 snark 46 UUID: 016ad3f9-f7d3-4cb6-a5ef-57d432c8c13d -+- .----. / â â \ | | ~`~``~`~ -+- .----. / â â \ | | `~`~~`~` ~ ~ .----. / â â \ | | ~~`~~`~~ ghost + propeller ⦠shiny â â â â â #10 debugging 66 patience 61 chaos 86 wisdom 100 snark 45 UUID: a3a4eac6-edb8-408b-900e-57b120b19ac4 (___) (@> || _(__)_ ^^^^ (___) (@> || _(__)_ ^^^^ (___) (@>> || _(__)_ ^^^^ goose + beanie ⦠shiny â â â â â #11 debugging 59 patience 63 chaos 100 wisdom 89 snark 46 UUID: c43e33a6-b046-4979-a168-544f982af407 .-o-OO-o-. (__________) |· ·| |____| .-O-oo-O-. (__________) |· ·| |____| . o . .-o-OO-o-. (__________) |· ·| |____| mushroom ⦠shiny â â â â â #12 debugging 52 patience 79 chaos 78 wisdom 43 snark 100 UUID: d42f15ca-45b5-40e0-8e67-9de505c2f94e \^^^/ n______n ( â â ) ( oo ) `------´ \^^^/ n______n ( â â ) ( Oo ) `------´ ~ ~ u______n ( â â ) ( oo ) `------´ capybara + crown ⦠shiny â â â â â #13 debugging 59 patience 57 chaos 83 wisdom 52 snark 100 UUID: 94f690ee-1057-4aa8-830f-a40ba0a128f8 ( ) _,--._ ( à à ) /[______]\ `` `` ( ) _,--._ ( à à ) /[______]\ `` `` ( ) _,--._ ( à à ) /[======]\ `` `` turtle + halo ⦠shiny â â â â â #14 debugging 85 patience 100 chaos 53 wisdom 66 snark 43 UUID: d79ecfd9-ab22-403b-b06e-88d3b01c6294 ,> .---. (·>·) /( )\ `---´ ,> .---. (·>·) |( )| `---´ .---. (·>·) /( )\ `---´ ~ ~ penguin + tinyduck ⦠shiny â â â â â #15 debugging 50 patience 100 chaos 78 wisdom 47 snark 71 UUID: 417effc7-a0d2-4038-af88-98b01e6d67b0 /^\ n______n ( à à ) ( oo ) `------´ /^\ n______n ( à à ) ( Oo ) `------´ ~ ~ u______n ( à à ) ( oo ) `------´ capybara + wizard ⦠shiny â â â â â #16 debugging 55 patience 100 chaos 72 wisdom 44 snark 69 UUID: bf9c3bee-5aca-44c2-8ccf-ecca27941f8f ( ) /\_/\ ( ⦠â¦) ( Ï ) (")_(") ( ) /\_/\ ( ⦠â¦) ( Ï ) (")_(")~ ( ) /\-/\ ( ⦠â¦) ( Ï ) (")_(") cat + halo ⦠shiny â â â â â #17 debugging 100 patience 78 chaos 61 wisdom 50 snark 51 UUID: a7b74b5d-383b-4692-9ce8-39ab9c82425e [___] à .--. \ ( @ ) \_`--´ ~~~~~~~ [___] à .--. | ( @ ) \_`--´ ~~~~~~~ [___] à .--. \ ( @ ) \_`--´ ~~~~~~ snail + tophat ⦠shiny â â â â â #18 debugging 73 patience 50 chaos 65 wisdom 100 snark 48 UUID: 27a3c548-ba4f-40b1-8492-44b11160989d /^\ .[||]. [ à à ] [ ==== ] `------´ /^\ .[||]. [ à à ] [ -==- ] `------´ * .[||]. [ à à ] [ ==== ] `------´ robot + wizard ⦠shiny â â â â â #19 debugging 74 patience 53 chaos 100 wisdom 45 snark 62 UUID: 4fa7dba3-e562-4e1f-a79e-d73c46e928fc [___] _,--._ ( ⦠⦠) /[______]\ `` `` [___] _,--._ ( ⦠⦠) /[______]\ `` `` [___] _,--._ ( ⦠⦠) /[======]\ `` `` turtle + tophat ⦠shiny â â â â â #20 debugging 53 patience 51 chaos 100 wisdom 52 snark 58 UUID: 40c3e579-c951-404c-b423-9103a05f2313 Back to top