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.

Terminal
$ brew tap ericermerimen/tap
$ brew install agentpong
$ agentpong setup
# Restart your Claude Code sessions
Terminal
$ 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.