What is PeonPing?
What is PeonPing?
PeonPing plays game character voice lines and shows overlay notifications when your AI coding agent needs attention. Instead of tabbing back constantly to check if Claude is done, you hear “Work, work” from the Warcraft Orc Peon (or 165+ other characters) and see a bold banner on every screen.Works with Claude Code, Cursor, OpenCode, GitHub Copilot, Codex, Amp, and other agentic IDEs via adapters.
Which platforms are supported?
Which platforms are supported?
- macOS — native
afplay, JXA Cocoa overlays - Linux — PipeWire, PulseAudio, or ffmpeg backends
- Windows — native PowerShell with
MediaPlayerand WinForms (no WSL required) - WSL2 — PowerShell audio fallback + Windows toast notifications
- MSYS2 / Git Bash — audio via
ffplay/mpvor PowerShell fallback - SSH / Devcontainers / Codespaces — audio relay to your local machine
How do I install it?
How do I install it?
Homebrew (macOS/Linux, recommended):curl installer (macOS/Linux/WSL):Windows (PowerShell):See the installation guide for more options.
Do I need WSL on Windows?
Do I need WSL on Windows?
No! PeonPing has native PowerShell support. The installer, hook scripts, and all audio playback work on native Windows without WSL.WSL is still supported if you prefer it, but it’s not required.
How do I mute sounds during meetings?
How do I mute sounds during meetings?
Two ways:In Claude Code:From any terminal:To unmute:Pausing mutes sounds and desktop notifications instantly. Tab titles remain active. The pause state persists across sessions until you resume.
Can I disable desktop notifications but keep sounds?
Can I disable desktop notifications but keep sounds?
Yes! Desktop notifications are independent from sounds.Sounds will continue playing, but visual popups are suppressed. Mobile notifications (if configured) are unaffected.To re-enable:
Can I use PeonPing over SSH?
Can I use PeonPing over SSH?
Yes! PeonPing auto-detects SSH sessions and routes audio through a relay server on your local machine.Sounds and notifications play on your laptop, not the remote server. See remote development for details.
- On your local machine:
- SSH with port forwarding:
How do I switch sound packs?
How do I switch sound packs?
Switch to a specific pack:Install and switch in one step:Cycle to the next pack:List installed packs:Browse all available packs with audio previews at openpeon.com/packs.
How many sound packs are available?
How many sound packs are available?
165 packs across Warcraft, StarCraft, Red Alert, Portal, Zelda, Dota 2, Helldivers 2, Elder Scrolls, Duke Nukem, and more.The default install includes 5 curated packs:
peon(Warcraft III Orc Peon)peasant(Warcraft III Human Peasant)glados(Portal GLaDOS)sc_kerrigan(StarCraft Sarah Kerrigan)sc_battlecruiser(StarCraft Battlecruiser)
Can I create my own sound pack?
Can I create my own sound pack?
Yes! Sound packs use the CESP (Coding Event Sound Pack Specification) with
openpeon.json manifests.- Create a GitHub repo with
openpeon.json+ sound files - Tag a release (e.g.,
v1.0.0) - Submit to the OpenPeon registry
Which IDEs are supported?
Which IDEs are supported?
- Claude Code — built-in hooks (primary)
- Cursor — built-in adapter
- OpenCode — native TypeScript plugin
- GitHub Copilot — shell adapter
- OpenAI Codex — shell adapter
- Amp (Sourcegraph) — filesystem watcher
- Gemini CLI — shell adapter
- Kilo CLI — TypeScript plugin (OpenCode fork)
- Kiro (Amazon) — shell adapter
- Windsurf — shell adapter
- Kimi Code (MoonshotAI) — filesystem watcher
- Google Antigravity — filesystem watcher
- OpenClaw — shell adapter
- Any MCP client — Model Context Protocol server
What events trigger sounds?
What events trigger sounds?
| Event | CESP Category | Examples |
|---|---|---|
| Session starts | session.start | ”Ready to work?”, “Yes?”, “What you want?” |
| Task finishes | task.complete | ”Work, work.”, “Job’s done!”, “Okie dokie.” |
| Permission needed | input.required | ”Something need doing?”, “Hmm?” |
| Tool/command error | task.error | ”I can’t do that.”, “Son of a bitch!” |
| Task acknowledged | task.acknowledge | ”I read you.”, “On it.” (disabled by default) |
| Rate/token limit | resource.limit | Pack-dependent |
| Rapid prompts (3+ in 10s) | user.spam | ”Me busy, leave me alone!” |
Can I adjust the volume?
Can I adjust the volume?
Yes! Volume range is 0.0 (silent) to 1.0 (full).Set volume:Check current volume:Or ask Claude:
How do I get mobile push notifications?
How do I get mobile push notifications?
PeonPing supports ntfy.sh (free, no account), Pushover, and Telegram.Quick start with ntfy.sh:Pushover:Telegram:Test it:See mobile notifications for setup details.
- Install the ntfy app on your phone
- Subscribe to a unique topic (e.g.,
my-peon-notifications) - Run:
What's the difference between overlay and standard notifications?
What's the difference between overlay and standard notifications?
PeonPing supports two notification styles:Overlay (default):
- Large, visible banners that appear on all screens
- macOS: JXA Cocoa overlay
- Windows/WSL/MSYS2: Windows Forms popup
- Clicking focuses your terminal (supports Ghostty, Warp, iTerm2, Zed, Terminal.app)
- System notifications via
terminal-notifier(macOS) or Windows toast (WSL/MSYS2) - Smaller, less intrusive
- Clicking focuses your terminal if
terminal-notifieris installed (brew install terminal-notifier)
Can I use different packs for different projects?
Can I use different packs for different projects?
Yes! Use Bind to a pattern:List all bindings:Remove current directory binding:Or edit
path_rules to assign packs based on working directory.Bind a pack to the current directory:~/.claude/hooks/peon-ping/config.json directly:What's the CESP standard?
What's the CESP standard?
CESP (Coding Event Sound Pack Specification) is an open standard for mapping coding events to sounds that any agentic IDE can adopt.PeonPing implements CESP v1.0. Sound packs use
openpeon.json manifests that map events to audio files.Read the full spec: openpeon.com/specDoes PeonPing work with the MCP (Model Context Protocol)?
Does PeonPing work with the MCP (Model Context Protocol)?
Yes! PeonPing includes an MCP server so any MCP client can play sounds directly via tool calls — no hooks required.The agent chooses the sound instead of automatically playing a fixed sound on every event.Setup:Add to your MCP client config (Claude Desktop, Cursor, etc.):See MCP integration for details.
How do I uninstall PeonPing?
How do I uninstall PeonPing?
macOS/Linux:Windows (PowerShell):Keep sound packs (Windows):The uninstaller removes hooks from
settings.json, CLI shortcuts, and optionally sound packs.Is PeonPing open source?
Is PeonPing open source?
Yes! PeonPing is MIT licensed and open source.
- Main repo: github.com/PeonPing/peon-ping
- Registry: github.com/PeonPing/registry
- Official packs: github.com/PeonPing/og-packs
- CESP spec: github.com/PeonPing/openpeon