Heard - Give Claude Code and Codex a voice

Heard is a macOS voice layer for your agentic workflows. It connects to Claude Code, Codex, and Cursor and turns their output into intelligent summaries you can hear. Full commentary when your eyes are elsewhere, or silence until something errors or needs a decision. With agents run in parallel, Heard summarizes at the project level, so you hear where the work stands, not five terminals talking over each other. Pair your phone and it comes with you. Open source, free for personal use.

Add a comment

Replies

Best

Congratulations! really interesting approach to agent monitoring. can heard read updates in different languages or with different voice options? how customisable is the speech output?


 right now it's English only but we're working on translations soon! great catch. For speech output you can pick how verbose you want it to be, and how quiet you want it - ie. only interrupt on hard injections or do summaries along the way too

Congratulations! 🚀
The open source angle is a big plus. are you accepting community contributions already? which areas of the project need the most help?


 yes we've had some contributions already! would love your input :)

congratulations! very unique positioning for an AI assistant. does heard require internet connectivity for speech generation? or can everything run locally?


 it runs locally but I think claude / codex needs internet to run! :)

The one clear story positioning is compelling. does Heard generate summaries continuously or at scheduled intervals?
can users choose the cadence? that seems important for different workflows.


 you can pick the cadence and the interaction modes! it does both continuously or scheduled and you can pick what's best for you

Congrats! quick question : how does Heard protect sensitive project information during processing? are summaries generated locally whenever possible?


 you can use our open source core and put your own keys - it stays completely local in that case!

how detailed can those summaries become? can users choose between quick updates and deeper explanations?


 yes we have different modes, you can pick between companion which is the more detailed or focus mode - which only interrupts you when input is needed!

Congratulations. And happy product launch.

 thanks Huisong!

Congratulations on the launch!
Really like the focus on the other half of AI interaction. does Heard support different speaking styles depending on the type of project or agent?


 right now you can adjust level of details and when it speaks. is that what you're referring to?

Congratulations on the launch!
The voice first experience sounds interesting. can Heard recognise when multiple agents are working on the same task? how are overlapping updates handled?


 thanks! attribution comes from the folder path and context building over time - Heard reads where each agent is working and maps it to a feature or directory. so "same task" becomes concrete: agents in the same folder are treated as working the same area, and it can roll their updates together instead of narrating each thread on its own.

overlap is handled at the speaking layer. updates queue rather than colliding, so you get them one at a time with the voice telling you which agent each came from - no two things talking at once. and when several are churning in the same feature, you hear a rolled-up "where this area stands" rather than a play-by-play from each.

curious does your same-task setup mean agents in one folder, or spread across different parts of the repo?

Congrats on the launch! How are you guys attributing events to the right agent when they're separate processes, parsing stdout or tapping the hooks Claude Code and Codex expose?

 good question, and it's the part that took the most fiddling.

hooks where they exist, stdout where they don't. Claude Code exposes hooks so that's the clean path - events come tagged with the session, no guessing. for anything that only gives you a stream, each agent runs under its own watched process, so attribution comes from the process boundary rather than trying to parse identity out of the text. the voice mapping hangs off that, which is why two agents never get confused for each other even when their output looks similar.

the messy middle is agents that half-expose structure - some signal, some raw. those get the stdout treatment with the hook data layered on top where it's available.

the thing i keep going back and forth on: how much to lean on hooks long-term. they're clean but every agent implements them differently, so a pure-stdout approach is more portable even if it's messier. curious where you'd land on that if you were building it.