Launched this week
Heard
Give Claude Code and Codex a voice
581 followers
Give Claude Code and Codex a voice
581 followers
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.








Heard
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?
Heard
@galdayan 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?
The hard signal versus context aware pass is a clean way to handle the two failure modes above. One thing I haven't seen addressed: what happens when two agents fire a hard signal within the same few seconds, say two permission prompts at once. Does it queue them and speak one after the other, interrupt whichever is talking, or try to merge them into one utterance? That's a different problem from deciding what's worth saying. It's deciding what to say first when everything worth saying happens at once.
Heard
@mohsen_bashirzadeh great question, yes it queues them - by importance :) and speaks the queue in order
@itskellysun thx , Well done
The verbosity dial and the project-level summary are the right primitives for parallel work. Before I'd commit to this for real sessions, I need to understand where the session state actually lives: when the context pass holds state across the session, is that in-process memory that disappears when Heard closes, persisted locally on disk, or synced to a server? Open source positioning suggests local, but the Heard Power phone-pairing feature makes me wonder if there is a relay component once you go beyond single-machine.
Heard
@noctis06 good instinct - you've drawn the line in the right place.
session state is local. live agent state lives in memory on the Mac and clears when Heard closes; the "what happened" layer that powers catch-me-up and Q&A persists to local disk, keyed per project. neither touches the network on the normal path.
the phone is where you're right that a relay comes in - a thin Cloudflare pipe that carries narration audio out and voice clips in. but it only moves audio, never state. the summarizing, the context, the decision of what's worth saying all stay on the Mac. the phone is a remote ear and mic; the Mac is the single brain.
so: single-machine is fully local on disk. add the phone and audio transits a relay, but your session state never leaves the Mac.
is a relay in the path the thing you'd want to avoid, or is "audio moves, state doesn't" an acceptable line for you?
Running agents in parallel makes the hard-signal versus context-aware split feel like the core design choice, not just a notification feature. For the project-level summaries, how do you handle two agents reaching contradictory states, such as one reporting a successful migration while another has a failing test against the same branch? Does Heard surface the conflict as a decision point, or is reconciliation left to the underlying agent sessions?
Heard
@wesc great question! in that case it would probably decide the contradictory itself is important enough to surface, so it would surface both :)
congratulations! love seeing tools that reduce context switching. how does Heard integrate with Claude Code, Cursor and Codex? is setup just a few clicks?
Heard
@imogen_wallace 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
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?
Heard
@doganakbulut 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!