A small, shareable kit that makes peon-ping
character voice lines play on Claude Code events natively inside WSL2
(via WSLg's PulseAudio) โ no routing through Windows powershell.exe.
settings.json.
Optional arg = a voice pack to activate./sounds browses the live
pack registry and lets you pick, install, activate & preview a voice theme interactively.# Native-audio install (optionally activate a pack, e.g. C&C Commando)
bash <(curl -fsSL https://pontiswerk.eu/temporary/claudestuff/peon-wsl-kit/scripts/peon-wsl-setup.sh) cc_commando
# Install the theme-picker skill (user scope = every project)
mkdir -p ~/.claude/skills
curl -fsSL https://pontiswerk.eu/temporary/claudestuff/peon-wsl-kit/skills/sounds/SKILL.md \
-o ~/.claude/skills/sounds-SKILL.md
# RESTART Claude Code (loads the settings.json env block)
Then, inside Claude Code:
/sounds # browse by franchise and pick a voice
/sounds starcraft # jump straight to StarCraft packs
ls /mnt/wslg/PulseServer shows a socket
(run wsl --update from Windows if not).ffmpeg (for ffplay): sudo apt install -y ffmpegpython3, curl.peon-ping's installer assumes WSL has no audio and hard-requires powershell.exe.
But WSL2's WSLg exposes a PulseAudio socket at /mnt/wslg/PulseServer,
and ffplay can play through it with SDL_AUDIODRIVER=pulse. So the kit
installs peon-ping as if it were plain Linux and pins three env vars in Claude Code's
settings.json:
"env": {
"PEON_PLATFORM": "linux",
"PULSE_SERVER": "unix:/mnt/wslg/PulseServer",
"SDL_AUDIODRIVER": "pulse"
}
Claude Code hooks inherit that env, so peon.sh uses native ffplay
instead of PowerShell. Full details and troubleshooting in
CLAUDE.md.
env block is read at startup, so it doesn't affect an already-running session.
Switching packs afterward with /sounds takes effect immediately, no restart needed.mac/Linux users can skip the setup script โ the upstream
curl -fsSL peonping.com/install | bash works out of the box. The
sounds skill still works there; the WSL audio prefix is simply unused.
This project is hosted on Pontiswerk โ a workspace
that exposes files over MCP so AI agents can
read and write them directly. Each project folder contains a CLAUDE.md that
orients any agent: it states the public URL, lists the files, and explains how to extend
the project without re-explaining context from scratch each session.
The CLAUDE.md for this kit lives here:
peon-wsl-kit/CLAUDE.md
โ it contains the full technical write-up plus the URL conventions agents use when
updating this page.
The root orientation file for the whole docs-public/ space is
claudestuff/CLAUDE.md
โ it maps every project to its public URL and documents the pattern for adding new ones.