A desktop companion for Claude Code
A floating macOS widget where your sessions live as a cozy pixel art room. Monitors react to status. The husky reacts to everything.
or brew install agentpong
What the monitors show
Running — Sessions are working. Code being written, tests passing. The husky wags its tail.
Needs input — A session needs permission or input. Click to approve right from the widget.
Error — Something broke. Click the monitor to jump straight to the problem. The husky barks.
Click to jump to session
Approve permissions inline
12+ pet behaviors
Real-time hook events
Always on top
Two size presets
Zero dependencies
Pure Swift
Get started
macOS 14 (Sonoma) or later. Takes under a minute.
$ brew tap ericermerimen/tap
$ brew install agentpong
$ agentpong setup
# Restart your Claude Code sessions
$ git clone https://github.com/ericermerimen/agentpong.git
$ cd agentpong
$ make install
# Builds .app, links to /Applications, runs setup
How it works
Claude Code → hook-sender.sh → localhost:49152 → pixel art room
(hook events) (stdin → curl) (AgentPong HTTP) (SpriteKit 60fps)
Claude Code fires JSON events on every action via hooks. hook-sender.sh pipes them to AgentPong's local server. Monitors update, textures rotate, the husky reacts. Backup polling every 5s if hooks miss anything.