Claude Buddy — A Patch for Perfection
Claude Code hat seit einiger Zeit ein nettes Feature: Jeder User bekommt einen kleinen Companion (intern "Buddy" genannt) — ein Fantasiewesen, das neben der Eingabezeile sitzt und gelegentlich kommentiert. Species, Rarity und Stats werden deterministisch aus der User-ID berechnet.
Aber was, wenn man sich seinen Buddy selbst aussuchen will?
Wie es funktioniert
Claude Code berechnet den Companion über hash(userId + salt). Der Salt ist im Binary fest eingebaut. Das heißt: Wer den Salt ändert, ändert seinen Buddy.
Dieses Gist enthält zwei Scripts:
find-perfect-salt-bun.mjs— Brute-forcet Salts, bis der gewünschte Companion gefunden istpatch-claude-buddy.sh— Patcht das Claude-Binary mit dem gefundenen Salt
Schritt 1: Den perfekten Salt finden
Das Bun-Script liest die Account-ID aus ~/.claude.json und probiert Salts durch, bis die gewünschte Kombination aus Species und Rarity gefunden ist:
# Einen legendären Drachen finden
bun find-perfect-salt-bun.mjs --species dragon --rarity legendary
# Einen seltenen Phoenix
bun find-perfect-salt-bun.mjs --species phoenix --rarity rareEs gibt 18 Species (Dragon, Phoenix, Griffin, Unicorn, Kraken, ...) und 5 Rarity-Stufen (Common, Uncommon, Rare, Epic, Legendary). Die Wahrscheinlichkeiten sind gewichtet — Legendary ist entsprechend selten und braucht mehr Versuche.
Das Script gibt am Ende den besten gefundenen Salt aus, inklusive der 5 Companion-Stats:
- Debugging — Wie gut hilft der Buddy beim Debugging?
- Patience — Wie geduldig ist er bei langen Tasks?
- Chaos — Wie unvorhersehbar sind seine Kommentare?
- Wisdom — Wie weise sind seine Ratschläge?
- Snark — Wie sarkastisch ist er?
Schritt 2: Den Patch anwenden
bash patch-claude-buddy.sh "DEIN_GEFUNDENER_SALT"Das Script:
- Kopiert das Original-Binary als Backup
- Ersetzt den Salt per
sed(gleiche Bytelänge, wichtig!) - Signiert das Binary neu mit
codesign --force --sign - - Entfernt den gespeicherten Companion aus
~/.claude.json, damit er beim nächsten Start neu berechnet wird
Rückgängig machen
bash patch-claude-buddy.sh --revertStellt das Original-Binary wieder her.
Voraussetzungen
- macOS (wegen
codesign) - Bun (für das Salt-Finding-Script)
- Claude Code muss lokal installiert sein
Warum das interessant ist
Das Gist zeigt schön, wie Claude Code intern arbeitet: Deterministisches Hashing für Personalisierung, ein kompiliertes Binary mit eingebetteten Konstanten, und die Tatsache, dass der Companion-State in ~/.claude.json unter dem Key companion gespeichert wird. Löscht man diesen Key, wird der Buddy beim nächsten Start neu generiert — was man sich auch ohne Binary-Patch zunutze machen kann.