How to monitor Claude Code agents with audio notifications

Claude Code can run multiple agents in parallel, each working on a different part of your codebase. Keeping track of what's happening across all of them usually means watching terminal output or parsing Slack messages. Radio Agent gives you a different option: audio. A voice tells you when agents finish tasks, hit errors, or get stuck, spoken over ambient music and streamed to any device on your network.

This guide walks through the full setup. Five minutes, no cloud services, everything runs on your machine.

What you'll need

Radio Agent runs as three Docker containers (Icecast for streaming, Liquidsoap for audio mixing, and a Python brain for the webhook API and TTS). The install script handles all of this.

Step 1: Install Radio Agent

Installation

Run the one-liner:

curl -sSL https://radioagent.live/install.sh | bash

This clones the repo, builds the containers, starts the services, and waits for Icecast to report healthy. When it finishes, you'll see URLs for your dashboard and stream.

Open the dashboard URL (usually http://your-ip:8001) in a browser. You should see the Radio Agent interface with a Connect button. Click it. Music should start playing.

If you prefer to inspect before running: git clone https://github.com/nmelo/radioagent.git && cd radioagent && docker compose up -d

Step 2: Install the agent skills

Claude Code skills

Radio Agent ships two Claude Code skills that let your agents send voice announcements:

Install them:

git clone https://github.com/nmelo/radioagent.git /tmp/radioagent-skills
cp -r /tmp/radioagent-skills/skills/setup ~/.claude/skills/radioagent-setup
cp -r /tmp/radioagent-skills/skills/dj ~/.claude/skills/dj
rm -rf /tmp/radioagent-skills

Step 3: Connect Claude Code to your Radio Agent

Configuration

In any Claude Code session, run:

/radioagent-setup

The setup skill will ask for your Radio Agent host and port (the IP and port from step 1). It verifies the connection, saves the configuration, and sends a test announcement. You should hear "Radio Agent connected" spoken over the music.

Step 4: Send your first real announcement

Testing

You can test the webhook directly:

curl -s -X POST http://your-host:8001/announce \
  -H 'Content-Type: application/json' \
  -d '{"detail": "Auth refactor complete", "kind": "agent.completed", "agent": "eng1"}'

You should hear a resolved chord tone followed by a voice saying something like "Auth refactor complete." The kind field controls the tone and voice: agent.completed gets a warm resolution, agent.failed gets a tense tone and a different voice.

Step 5: Use the DJ skill for better announcements

Creative voice

Without the DJ skill, announcements sound like templates: "Completed: auth refactor." Functional, but flat.

With the DJ skill, your agents rewrite the text before announcing. The same event becomes: "Auth refactor landed. Single commit, tests pass. Solid work." Natural, conversational, and much easier to listen to over a full session.

The DJ skill activates automatically when you use /dj before announcing, or you can configure your agents to always use it. The skill follows strict personality rules: measured pace, dry humor, no exclamation points, no filler phrases. It sounds like a calm tech lead narrating the session.

What you'll hear during a session

Once everything is connected, a typical multi-agent coding session sounds like this:

The tone differences (rising chime for start, resolved chord for completion, dissonance for failure) become subconscious after about thirty minutes. You stop actively listening and just know whether the session is healthy or something needs attention.

Customization

Adjust voice volume

If voice announcements are too loud or too quiet relative to the music, use the five-level voice volume control on the dashboard (in the Voice channel row). Level 4 is the default. Level 1 is barely audible; level 5 is full volume.

Mute selectively

The dashboard has independent toggles for each channel. Need silence for a call? Mute everything. Want music but no voice? Mute voice, keep music. The controls are in the Channels panel.

Add your own music

Radio Agent ships with four CC0 ambient tracks. To add your own, drop .mp3, .ogg, or .flac files into your music directory (shown in the dashboard's now-playing info tooltip). Radio Agent picks them up automatically.

Listening from other devices

The stream is standard HTTP MP3 served by Icecast. Any audio player on your network can connect:

The stream is LAN-only by default. If you want to listen from outside your network, you'd need to set up port forwarding or a reverse proxy, but for most setups the local network is the right boundary.

Radio Agent is open source and runs entirely on your machine. No data leaves your network, no API keys required, no cloud account needed. Source on GitHub.

← Back to blog Voice notifications for AI agents →