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
Maker
📌
Hey PH, Kelly here, maker and founder of Heard. The last two years went into making it easier to talk to agents. Voice input, better prompts, better context. Nobody worked on the other half. Agents still answer in scrolling text you have to sit and watch. Heard is that half. It listens to your Claude Code, Codex, and Cursor sessions, understands what matters in context, and turns the useful parts into concise, natural speech. A useful update, not a transcript. It matters most once you're running more than one agent. Parallelism is free now, attention isn't, and every agent you add makes the terminal a worse instrument for keeping up. So each agent gets its own voice, and a swarm gets summarized at the project level. One clear story instead of five windows you can't watch at once. With Heard Power you can pair your phone and keep the session going from the kitchen, a walk, anywhere you're not at the desk. Hear what's happening, answer by voice, approve the next step in one tap. Open source, free for personal use.
this is something that I definitely need. With all the info claude kicks out, I find myself skimming when i should be reading.

Oh this is such a nice idea, I always miss the moment when my agent is waiting on a permission prompt and lose 20 minutes for nothing. Love that there is a near silent mode too. Does the phone pairing let you actually approve things by voice while you are away from the desk, or is it more of a listen only thing?

 yes the phone pairing is like a walkie talkie, as long as your laptop is on, you can listen and talk back to it as well!

this is a problem I've genuinely felt running a few agents in parallel - the terminal tiling stops scaling around agent 3. curious how Heard decides what's worth saying out loud versus staying silent. is it watching for specific signals like a tool-call failing or a permission prompt, or is there an LLM in the loop summarizing raw output, and if so how do you keep it from either talking over something important that's buried in a wall of routine logs, or going quiet during a long stretch that looks routine but actually needed a decision?

 yeah agent 3 is the exact wall. tiling breaks down and you end up alt-tabbing to check on things that didn't need you.

it's both of the things you guessed. some events are hard signals - permission prompts, tool-call failures, a run exiting - those get spoken no matter what. everything else goes through a pass that keeps context across the session, so it's not judging each line in isolation. it holds what's happened so far, learns what you actually care about, and decides when there's something worth saying.

the two failure modes you named are the whole problem and most of the tuning went there. talking over something buried in routine logs: the hard-signal list catches that, a permission prompt gets pulled even if it's mid-wall. going quiet during a long routine stretch that actually needed a decision: that's the harder one, and holding context is what makes it possible to catch - it knows a decision point is coming even when the surrounding output looks boring.

curious how many agents are you running, and where does it start breaking for you?

Not every product needs to be flashy to stand out.

When you've got Claude Code, Cursor, or Codex all doing their thing, you don't want to babysit five terminals. You just want to know when something important happens.

That's why I was excited to hunt today.

It's simple, useful, open source, and feels like one of those products you'll wonder how you worked without.

Really excited to bring this one to the Product Hunt community. Give it a spin, ask the makers your toughest questions, and let us know what you'd build with it.

 thank you Abdul! means a lot to the team. please ask us the toughest questions and looking forward to hearing any feedback!

congratulations! love seeing tools that reduce context switching. how does Heard integrate with Claude Code, Cursor and Codex? is setup just a few clicks?


 hey, yes! you just download the app, and it automatically picks up what's going on in claude code and codex, and speaks up right away! super easy and simple onboarding

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.

The next bottleneck isn’t building better agents but orchestrating human attention across them. Love this direction !!

 attention is all your need ;)

Congratulations on the launch!
This solves a problem i run into daily with multiple AI agents.how does Heard decide which updates are important enough to speak instead of reading everything? is the prioritisation customizable for different workflows?


 thanks!

two layers. hard signals always get through - permission prompts, failed tool calls, a run finishing. the rest goes through a pass that keeps context across the session, so it's weighing what actually matters against what you've already seen, not reading you every line.

and yeah, customizable. there's a verbosity dial from full commentary down to errors-only, so you can run a chatty agent loud and a background one near-silent. different workflows, different settings.

how many terminals do you typically run?

i really like the focus on reducing cognitive load. does heard work well with very large codebases? how does it maintain context across long development sessions? curious about the underlying approach.


 thanks, that's the whole reason it exists.

large codebases are fine because Heard isn't parsing your repo - it's watching what the agent emits, not the code itself. so the size that matters is the session, not the project. a 400k-line monorepo and a tiny script look the same to it if the agent's output volume is similar.

long sessions are the real design problem, and it's the context part of your question. it holds state across the whole session rather than judging each event fresh, so it knows what already happened, what you've reacted to, and what's still open. that's what lets it stay quiet through an hour of routine work and still speak up when something four steps back finally resolves into a decision. reading everything would be easy - remembering enough to know what's worth saying is the actual work.

what does a long session look like for you, mostly one agent going deep or several in parallel?

Congratulations! the workflow sounds perfect for developers who multitask. can heard be configured to ignore specific repositories or projects? that would be useful for reducing noise.


 hey olivia! that's an awesome idea. it doesn't work in the free plan atm but works in (code: friendsofheard)

123
•••
Next