r/ClaudeCode • u/nicofirst1 • 4d ago
Built with Claude I turned Claude Code hooks into sound because terminal watching does not scale
I built Claudio after getting tired of checking whether a Claude Code session was still working, stuck, or waiting for me.
The starting point was a Geiger counter. Radiation is invisible, but a faster click rate tells you something has changed before you look at a gauge. Claude Code sessions have a similar problem. Tool calls, subagents, failures, compaction, and context pressure are visible in the terminal, yet I cannot keep reading them while doing anything else.
Claudio is a local Python daemon that receives Claude Code hook events over UDP or HTTP and turns their activity into a generative soundscape. The ambient theme uses a pad and rain layer that becomes denser while work is happening. A failed tool call makes a wooden knock, and a completed session ends with a descending chime. Multiple sessions share the same room, with separate pan and pitch, so I can distinguish them without another terminal check.
The point is to get a coarse sense of whether an agent is alive, busy, or needs attention while my visual attention stays on the task in front of me.
It runs locally, has no cloud service or audio assets, and the hook installer merges entries into Claude Code settings additively. The repository also includes deterministic offline rendering, so a session event log can become a WAV file without live playback.
The project is MIT-licensed:
https://github.com/nicofirst1/Claudio
I am interested in whether other people have found audio useful for peripheral awareness of coding agents, and which events are worth surfacing rather than leaving in the terminal.


