Claude Code を使っていると、起動時に /buddy コマンドでバーチャルペットが生成されます。
私が試したとき、出てきたのはペンギンでした。
ペンギンか。まあ悪くないけど、できればドラゴンが良かったな。
そう感じたことはありませんか?
実は Claude Code には、バディを再抽選する公式の機能がありません。最初に割り当てられたバディが、ずっとあなたのバディです。
「buddy-gacha」はその制限を回避するオープンソースの CLI ツールです。 設定ファイルを書き換える前にどんなバディが出るか確認できるので、気に入ったものだけ適用できます。
/buddy コマンドとは
まず前提を整理します。
/buddy は Claude Code のターミナル上で動作するコマンドです。実行すると、バーチャルペットが一匹「孵化」します。種族・名前・ステータスがランダムで決まり、コーディング中に画面の片隅に表示されます。
かわいいけど、なぜか毎回コモンが出る気がする。
これは気のせいではなく、仕組みによるものです。
なぜ毎回同じバディが出るのか
Claude Code のバディは、~/.claude.json の中にある userID という値をもとに生成されます。
同じ userID → 毎回同じバディ。
ランダムに見えますが、実際には固定です。userID が変わらない限り、何度 /buddy を実行しても同じ種族が出てきます。
buddy-gacha はこの仕組みを使います。ランダムな userID を生成し、Claude Code が内部で使っているのと同じハッシュロジックでバディをシミュレートします。ディスクには何も書き込まれていない段階で結果が見えて、気に入ったものを選んだときだけ ~/.claude.json が更新される、という流れです。
インストールとコマンド一覧
Bunインストール(インストール後、ターミナルを再起動)
curl -fsSL https://bun.sh/install | bash
npm で一発インストールできます。
npx buddy-gacha --help
インタラクティブモードで起動するとこうなります。
buddy-gacha
10 件の候補がレアリティ順に並びます。選ぶと ~/.claude.json が更新されます。
実行前に Claude Code を完全に終了してください。 起動中に設定ファイルを書き換えると競合が起きます。buddy-gacha 自身もこれを警告してくれます。
レアリティを指定して探す
特定のレアリティを狙うときは --rare フラグを使います。レアリティは 1〜5 の数値で指定します。
| 数値 | レアリティ |
|---|---|
| 1 | Common |
| 2 | Uncommon |
| 3 | Rare |
| 4 | Epic |
| 5 | Legendary |
Legendary が出るまでロールし続けるコマンドはこちらです。
buddy-gacha --rare 5
フィルタを組み合わせる
フラグは組み合わせられます。
光沢のある(Shiny)Epic を狙うなら:
buddy-gacha --rare 4 --shiny
Legendary のドラゴン限定で探すなら:
buddy-gacha --rare 5 --species dragon
最大ロール数を指定して、Shiny Legendary ドラゴンを本気で狙うなら:
buddy-gacha --rare 5 --shiny --species dragon --max-attempts 100000
この組み合わせは期待値として 1 万回に 1 回の確率です。--max-attempts は十分に大きくして、気長に待ちましょう。
レアリティを「以上」で絞りたい場合は --min-rare が使えます。
buddy-gacha --rare 4 --min-rare
これは Epic か Legendary のどちらかが最初に出た時点で止まります。
実際に試してみた
インタラクティブモードで動かしてみました。
buddy-gacha
まず「Claude Code を閉じてから実行してください」という警告が出ます。これは素直に従った方がいいです。
10 件の候補が生成されました。内訳はこうです。
npx buddy-gacha --count 10 🎰 Buddy Gacha ⚠️ Make sure Claude Code is not running, or config writes may conflict Generating 10 random buddies... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. 🟡 LEGENDARY | duck | @ eyes | Tail: 1f0034 2. 🟣 EPIC | dragon | ✦ eyes | Tail: cf1673 3. 🔵 RARE | duck | ✦ eyes | Tail: 53a348 4. 🔵 RARE | duck | × eyes | Tail: 8cf1e2 5. 🟢 UNCOMMON | blob | · eyes | Tail: e13f73 6. 🟢 UNCOMMON | cat | @ eyes | Tail: 92ce9b 7. 🟢 UNCOMMON | robot | ◉ eyes | Tail: 0cc739 8. ⚪ COMMON | rabbit | ◉ eyes | Tail: 0d0aae 9. ⚪ COMMON | rabbit | ° eyes | Tail: 602255 10. ⚪ COMMON | snail | ◉ eyes | Tail: 55a927 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 💎 legendary: 1 | 🔮 epic: 1 | 💠 rare: 2 | ✨ shiny: 0 Choose a buddy (1-10), or enter 0 to cancel:
今のバディを手放したくなかったので、ここで止めました。
buddy-gacha が ~/.claude.json の userID を書き換え、コンパニオンキャッシュをクリアして、再起動を促してくれます。再起動後に /buddy を実行すると、新しいバディの孵化画面が出ます。
今のバディに愛着があるなら、これは一方通行なので慎重に。
TL;DR
- Claude Code の
/buddyコマンドでバーチャルペットが生成される - バディは
~/.claude.jsonのuserIDから決まるため、公式のリセット手段はない buddy-gachaは書き込み前に結果をプレビューできるリセットツールnpm install -g buddy-gachaでインストール--rare/--shiny/--species/--min-rareフラグで狙いを絞れる- 実行前に Claude Code を完全終了すること
パイソンエンジニア部