Claude Buddy
Pixel-art desktop pets that react to the state of a Claude Code session - idle, thinking, working, done - published as an open-source repo on GitHub.
- Type
- Open Source · Open Source / Tooling
- Year
- 2026
- Role
- Sole developer - built and publicly released.
Turns opaque agent activity into a glanceable desktop pet, driven by a decoupled state file and an idempotent launcher that only restarts the buddy when needed.
- Published open source on GitHub
- Decoupled state-file architecture
- Idempotent hook-driven launcher
The problem
What Claude Code is doing in a session is invisible at a glance - I wanted an ambient, playful signal of its state without watching the terminal.
A pixel-art desktop pet that reflects a Claude Code session's state in real time, wired up through Claude Code hooks.
What I did
- Integrated via Claude Code hooks in settings.json that write a small state file on session events.
- Built a Tkinter renderer that polls the state file, keeping the pet fully decoupled from Claude Code itself.
- Added an idempotent launcher (ensure_buddy.sh) that only relaunches the buddy at session start when it isn't already running.
Outcome
A published open-source project with documentation - a small, finished tool that others can install and run.
Stack
- Python 3
- Tkinter
- Shell
- Claude Code Hooks
