Event Categories
Every sound in PeonPing is organized into CESP categories. Each category triggers in response to specific IDE events:- session.start
- task.complete
- input.required
- task.error
- resource.limit
- user.spam
- task.acknowledge
When it plays: When a new coding session beginsHook events:
SessionStart- First interaction with the agent
- “Ready to work?” (Peon)
- “Yes, milord?” (Peasant)
- “Battlecruiser operational” (StarCraft Battlecruiser)
- “Oh, it’s you.” (GLaDOS)
Extended Categories
These categories are defined in the CESP spec but not currently triggered by built-in hooks:| Category | Purpose | Status |
|---|---|---|
session.end | Session termination | Spec only |
task.progress | Progress updates during long tasks | Spec only |
Managing Event Categories
Enable/Disable Categories
Toggle specific event categories without affecting others:Configuration File
Edit~/.claude/hooks/peon-ping/config.json directly:
Advanced: Per-pack category availability
Advanced: Per-pack category availability
Not all sound packs include all categories. The
openpeon.json manifest in each pack defines which categories are supported.When a category triggers but the active pack doesn’t have sounds for it, PeonPing silently skips playback.Example: The glados pack has extensive task.error sounds, while some minimal packs may only support session.start and task.complete.Event Flow Diagram
Related Configuration
Sound Packs
Browse 165+ packs and switch between characters
Notifications
Desktop overlay and mobile push notifications