tonyyont/peon-ping: Warcraft III Peon voice notifications for Claude Code. Stop babysitting your terminal.

🚀 Explore this must-read post from Hacker News 📖

📂 **Category**:

✅ **What You’ll Learn**:

macOS WSL2
License
Claude Code

Your Peon pings you when Claude Code needs attention.

Claude Code doesn’t notify you when it finishes or needs permission. You tab away, lose focus, and waste 15 minutes getting back into flow. peon-ping fixes this with Warcraft III Peon voice lines — so you never miss a beat, and your terminal sounds like Orgrimmar.

See it in action → peon-ping.vercel.app

curl -fsSL https://raw.githubusercontent.com/tonyyont/peon-ping/main/install.sh | bash

One command. Takes 10 seconds. macOS and WSL2 (Windows). Re-run to update (sounds and config preserved).

Event Sound Examples
Session starts Greeting “Ready to work?”, “Yes?”, “What you want?”
Task finishes Acknowledgment “Work, work.”, “I can do that.”, “Okie dokie.”
Permission needed Alert “Something need doing?”, “Hmm?”, “What you want?”
Rapid prompts (3+ in 10s) Easter egg “Me busy, leave me alone!”

Plus Terminal tab titles (● project: done) and desktop notifications when your terminal isn’t focused.

Need to mute sounds and notifications during a meeting or pairing session? Two options:

Method Command When
Slash command /peon-ping-toggle While working in Claude Code
CLI peon --toggle From any terminal tab

Other CLI commands:

peon --pause          # Mute sounds
peon --resume         # Unmute sounds
peon --status         # Check if paused or active
peon --packs          # List available sound packs
peon --pack <name>    # Switch to a specific pack
peon --pack           # Cycle to the next pack

Tab completion is supported — type peon --pack to see available pack names.

Pausing mutes sounds and desktop notifications instantly. Persists across sessions until you resume. Tab titles remain active when paused.

Edit ~/.claude/hooks/peon-ping/config.json:

💬
  • volume: 0.0–1.0 (quiet enough for the office)
  • categories: Toggle individual sound types on/off
  • annoyed_threshold / annoyed_window_seconds: How many prompts in N seconds triggers the easter egg
  • pack_rotation: Array of pack names (e.g. ["peon", "sc_kerrigan", "peasant"]). Each Claude Code session randomly gets one pack from the list and keeps it for the whole session. Leave empty [] to use active_pack instead.

Pack Character Sounds By
peon (default) Orc Peon (Warcraft III) “Ready to work?”, “Work, work.”, “Okie dokie.” @tonyyont
peon_fr Orc Peon (Warcraft III, French) “Prêt à travailler?”, “Travail, travail.”, “D’accord.” @thomasKn
peon_pl Orc Peon (Warcraft III, Polish) Polish voice lines @askowronski
peasant Human Peasant (Warcraft III) “Yes, milord?”, “Job’s done!”, “Ready, sir.” @thomasKn
peasant_fr Human Peasant (Warcraft III, French) “Oui, monseigneur?”, “C’est fait!”, “Prêt, monsieur.” @thomasKn
ra2_soviet_engineer Soviet Engineer (Red Alert 2) “Tools ready”, “Yes, commander”, “Engineering” @msukkari
sc_battlecruiser Battlecruiser (StarCraft) “Battlecruiser operational”, “Make it happen”, “Engage” @garysheng
sc_kerrigan Sarah Kerrigan (StarCraft) “I gotcha”, “What now?”, “Easily amused, huh?” @garysheng

Switch packs from the CLI:

peon --pack ra2_soviet_engineer   # switch to a specific pack
peon --pack                       # cycle to the next pack
peon --packs                      # list all packs

Or edit ~/.claude/hooks/peon-ping/config.json directly:

{ "active_pack": "ra2_soviet_engineer" }

Want to add your own pack? See CONTRIBUTING.md.

bash ~/.claude/hooks/peon-ping/uninstall.sh
  • macOS (uses afplay and AppleScript) or WSL2 (uses PowerShell MediaPlayer and WinForms)
  • Claude Code with hooks support
  • python3

peon.sh is a Claude Code hook registered for SessionStart, UserPromptSubmit, Stop, and Notification events. On each event it maps to a sound category, picks a random voice line (avoiding repeats), plays it via afplay (macOS) or PowerShell MediaPlayer (WSL2), and updates your Terminal tab title.

Sound files are property of their respective publishers (Blizzard Entertainment, EA) and are included in the repo for convenience.

{💬|⚡|🔥} **What’s your take?**
Share your thoughts in the comments below!

#️⃣ **#tonyyontpeonping #Warcraft #III #Peon #voice #notifications #Claude #Code #Stop #babysitting #terminal**

🕒 **Posted on**: 1770879082

🌟 **Want more?** Click here for more info! 🌟

By

Leave a Reply

Your email address will not be published. Required fields are marked *