AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
A free desktop companion for macOS and Windows. Follow your Claude usage in one small pill, choose your pet, and make room for a little company.
Developer toolsPython · ShellGitHub @BrilliantTigerOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A free desktop pet and Claude usage monitor for macOS and Windows, with roaming companions and a compact usage pill.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A desktop pet that floats on your screen and watches your Claude token usage, à la Codex Pets. Rendered natively on macOS (AppKit) — no window frame, no background, no ghosting. 🧪 v0.24 — the macOS app is notarized; the Windows build ships as an installer and a zip (unsigned — see the Windows section). No Python needed — it's bundled inside the app, which is notarized by Apple, so it opens with no Gatekeeper warning.Read the full README ↗
A desktop pet that floats on your screen and watches your Claude Code or Codex usage, à la Codex Pets. Rendered natively on macOS (AppKit) — no window frame, no background, no ghosting.
🧪 v0.24 — the macOS app is notarized; the Windows build ships as an installer and a zip (unsigned — see the Windows section).
| macOS | Windows | |
|---|---|---|
| OS | macOS 12 or later | Windows 10/11 (64-bit) |
| Chip | Apple Silicon and Intel (universal build) | x64 |
| Download | ClaudePet.dmg (Apple Silicon) · ClaudePet-universal.dmg (Intel) | claude-pet-win-setup.exe (installer) · claude-pet-win.zip (portable) |
| Signing | Developer ID signed, notarized by Apple | Unsigned — Windows asks once before the first run |
| Updates | In-app: checks every hour, installs from the right-click menu | In-app: checks every hour, installs from the right-click menu (installer or portable zip) |
| Start at sign-in | Right-click menu → “Start at sign-in” (macOS 13+; on macOS 12, System Preferences → Users & Groups → Login Items) | Right-click menu → “Start at sign-in” (also an installer option) |
| Claude Code | Reads the Claude Code credential (Keychain or credentials file) | Reads the Claude Code credentials file |
| Pets | Built-in cat + 4 bundled pets, plus your own in ~/.claude_pet/pets | Same, under %USERPROFILE%\.claude_pet\pets |
| Uninstall | Right-click → Uninstall completely… | Settings → Apps → Uninstall |
No Python needed — it's bundled inside the app, which is notarized by Apple, so it opens with no Gatekeeper warning.
ClaudePet.zip from Releases — on an Intel Mac, grab ClaudePet-universal.zip instead (available from v0.10)ClaudePet.app to your Applications folder → double-clickThe pet only reads ~/.claude (Claude Code logs, for spike alerts) and the OAuth token in your Keychain — plus, if you use Codex, ~/.codex (its sign-in file and session logs, also for spike alerts). It never touches other folders (Photos, Downloads, Documents, …). On first launch you'll see only these:
| Prompt | What | Choose |
|---|---|---|
| Keychain — "Claude Code-credentials" | OAuth token so the pet can fetch the server-computed % | Always Allow |
"data from other apps" — ~/.claude | reading logs for spike alerts (numbers only, on this computer) | Allow |
claude CLI as a child and its home scan was attributed to the app — that CLI call is now OFF by default.)
CLAUDE_PET_USE_CLI=1 — but then the folder prompts come back.The pet is a HUD for Claude Code or Codex usage — the numbers come from each tool's own sign-in (the server's %), and their local logs only feed spike alerts. So subscription mode requires Claude Code or Codex to be installed and signed in.
claude.ai/install.sh) in Terminal, then signs you in.codex CLI or a ~/.codex folder exists — otherwise nothing is added): while Codex is shown in the pill but not signed in, right-click → "⬇︎ Install Codex…" (npm install -g @openai/codex, then codex login, in Terminal) or "🔑 Sign in to Codex…" (codex login). On Windows these open a new PowerShell console.Every hour after launch (never at launch) the app checks the latest GitHub release; if a newer version exists, right-click → "⬆︎ Install new version" downloads, replaces, and relaunches automatically. Right-click → "⬆︎ Check for updates…" checks right now and installs straight to the latest version.
Windows 10/11 (64-bit) gets the same pill, roaming, settings and pets. Two files are published with every release:
claude-pet-win-setup.exe — installer. Installs for the current user (no admin rights), adds a Start Menu entry and an "Apps & features" uninstall entry, and offers Start Claude Pet when I sign in.claude-pet-win.zip — portable/update build. Unzip anywhere and run ClaudePet\ClaudePet.exe.About the SmartScreen warning. The Windows build is not code-signed yet, so the first time you run the installer or ClaudePet.exe, Windows shows "Windows protected your PC". Click More info, then Run anyway. On PCs where SmartScreen's app checking is off you get the classic "Open File - Security Warning" (Unknown publisher) instead — click Run. With the installer either prompt appears once; with the portable zip the classic dialog may return on every launch until you untick Always ask before opening this file (or Unblock the zip in its Properties before extracting); it is Windows' notice that the publisher is unknown, not a detection of anything harmful. If your browser or Edge flags the download the same way, choose Keep → Keep anyway. Code signing will remove the warning in a later release.
Sign in to Claude Code or Codex on Windows first (claude / codex login), then launch Claude Pet: the usage numbers come from the credential file under %USERPROFILE%\.claude (or %USERPROFILE%\.codex), and the logs there are read only for spike alerts. Your own pets go in %USERPROFILE%\.claude_pet\pets\<name>\ (right-click → Pets → Add a pet… opens it). The tray icon sits in the taskbar overflow (^) by default; drag it out to keep it visible. Right-click → Uninstall completely… removes the settings and logs; the installer's uninstaller (Apps & features) removes the program.
To build from source you need a framework build of Python:
brew install [email protected] (already a framework build)--enable-framework
PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.13.14 && pyenv global 3.13.14
⚠️ Don't use the system Python (
/usr/bin/python3, 3.9) — pyobjc fails to build there.
./build_app.sh install # local build+sign → install to /Applications and run
python3 claude_pet.py --report # terminal report only, no GUI
./release.sh build # distributable self-contained app (py2app); sign / notarize / universal / dmg / publish are separate subcommands
release.sh needs notarization credentials stored once (see the comment at the top of the script).
One small pill next to the pet, two lines:
Session 42% · Weekly 17% · Fable 12% — session (5h) / weekly total / weekly per-model, exactly as the
server reports them. Codex gets its own block (with its own mark) next to Claude's. In API mode a provider shows cost instead:
Today $3.21 · This month $27.50.reset Session in 3h 42m · Weekly in 2d 3h.Right-click → Pets lists the built-in cat plus every folder under ~/.claude_pet/pets/; Add a pet… opens that
folder with a README describing the format. A pet is a folder holding pet.json + spritesheet.webp (the README has the
sheet layout). The list is re-read every time you open the menu, so a new folder shows up without restarting. A zip
extracted one level too deep (pets/name/name/pet.json) is recognized too, and __MACOSX is ignored.
Claude Code and Codex each get their own section, laid out the same way:
This month $27.50 / $50 and the "This month" label turns yellow/red by the share used while the amounts stay coral)Then spike sensitivity and mouse-greeting on/off. There is nothing to calibrate: limits for spike alerts are learned from the server's %.
Roam the screen: toggle with the check item in the right-click menu (on by default); it also covers following the mouse and hopping between monitors. If macOS Accessibility Reduce Motion is on, the pet does not move. Positions it wanders or hops to are not saved; only where you drag it is remembered.
All settings, size, and position are saved in ~/.claude_pet.json.
~/.claude_pet.json, so use them only on a personal machine.MIT © 2026 Yeongyu Yang. The bundled Pretendard typeface is under the SIL Open Font License (fonts/).