It's weird when I hear my agents talk

I made a small Mac status layer for coding agents because I got tired of babysitting long runs.

The weird part is that the useful feature is not "talking to an AI."

It is hearing the agent say one sentence from the other room:

- "tests failed"

- "waiting on approval"

- "blocked on permission"

- "done, but review these files"

That feels very different from opening the terminal every few minutes and trying to guess whether silence means progress, confusion, or failure.

I do not want an agent narrating every step. That would get annoying immediately.

I want the opposite: silence by default, then a very high-signal interruption when my attention actually changes the outcome.

The first time it worked, it felt less like autocomplete and more like delegation. Not because the agent got smarter, but because I could finally look away without losing track of the run.

I opened up the small version in case anyone wants to try it or tell me the defaults are wrong.

For people using Claude Code / Codex / other coding agents seriously: what should an agent say out loud, and what should stay silent forever?

reddit.com
u/decentralizedbee — 10 days ago

I got sick of babysitting Claude Code so I built a voice system around it

ok so context: I'm running like 4-5 Claude Code sessions at once most days and the thing nobody tells you is that the model isn't the bottleneck anymore. I am. specifically my eyeballs, which can only be in one terminal at a time.

so I built heard (heard.dev, it's open source, mac only rn) — it just reads what my agents are doing out loud. sounds dumb. it's the single biggest change to how I work this year. here's what I actually learned using it daily.

you can't watch 5 terminals. obviously. but you keep trying anyway

for weeks I had this cope where I'd tab between sessions trying to catch each one at the right moment. you never catch it at the right moment. either it's been done for 10 min or it's about to do something stupid and you're not looking.

once it's audio I just... don't look. I hear "session 2 finished the migration" and "3 wants to know which env" while I'm actually writing the hard part myself. eyes on one thing, ears on the rest.

do NOT read everything out loud

first version read every line. unusable. you tune it out in about 90 seconds, it's just a robot reading your logs.

the stuff worth hearing is tiny: it finished a step, a test broke, it's waiting on me, or it's about to run something destructive. that's it. cut everything else. that was the whole difference between "annoying gimmick" and "I forget it's even on."

the thing that actually sold me: silent stalls

real villain isn't agents erroring. it's an agent sitting there waiting for a y/n while you assume it's grinding away. come back 20 min later and it did nothing.

now I hear it the second it stalls. that one thing probably saves me an hour a day. genuinely.

give each session a different voice

one voice for 5 agents is mush. different voice per session and suddenly it's a room — you know who's talking before you even register what they said. session 1 vs session 2 vs the review one all sound different. brain sorts it automatically.

wire it to events not "remember to tell me"

you cannot tell the model "let me know when you're done." it forgets, it's a suggestion. you hook it to the actual event — done / failed / needs input — and it just fires. should be deterministic, not vibes.

why mac / local and not some cloud thing

half the agent work I care about touches stuff that never leaves my laptop — auth, local env, private repos, the unpushed half-finished mess. the cloud agents can have the easy public tasks. the local stuff is the sensitive actually-mine work and that's exactly what I want an ear on.

anyway the real takeaway

I stopped thinking of this as "watch the agent." you can't watch a hundred agents. you watch the one thing that needs your hands and you listen to the rest. that's where this is going imo and voice is just the first channel that scales to it.

it's at heard.dev if you wanna mess with it. open source, mac. would love feedback / would love people to tear it apart honestly.

reddit.com
u/decentralizedbee — 18 days ago

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just narrate its process back to me, so I know what it's doing?

So I built Heard. Open-source.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Would love feedback on features that broke or stuff that you would like to see!

reddit.com
u/decentralizedbee — 2 months ago
▲ 7 r/VoiceAutomationAI+3 crossposts

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just narrate its process back to me, so I know what it's doing?

So I built Heard. Open-source.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Would love feedback on features that broke or stuff that you would like to see!

Repo: https://github.com/heardlabs/heard

Voice samples: https://heard.dev

u/decentralizedbee — 9 days ago
▲ 1 r/ollama

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just narrate its process back to me, so I know what it's doing?

So I built Heard. Open-source.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Would love feedback on features that broke or stuff that you would like to see!

Repo: https://github.com/heardlabs/heard

Voice samples: https://heard.dev

u/decentralizedbee — 2 months ago

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just talk back at me, like Jarvis did Ironman, so I don't have to go through all the output soup?

So I built Heard. Open-source.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Would love feedback on features that broke or stuff that people would like to see!

reddit.com
u/decentralizedbee — 2 months ago

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just narrate its process back to me, so I know what it's doing?

So I built Heard. Open-source.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Would love feedback on features that broke or stuff that you would like to see!

Repo: https://github.com/heardlabs/heard

Voice samples: https://heard.dev

u/decentralizedbee — 2 months ago

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just talk back at me, like Jarvis did Ironman, so I don't have to go through all the output soup?

So I built Heard. Open-source.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Would love feedback on features that broke or stuff that people would like to see! And if anyone else hate starring at the screen too lol

reddit.com
u/decentralizedbee — 2 months ago

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just talk back at me, like Jarvis did Ironman, so I don't have to go through all the output soup?

So I built Heard. Open-source.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Would love feedback on features that broke or stuff that people would like to see! And if anyone else hate starring at the screen too lol

reddit.com
u/decentralizedbee — 2 months ago
▲ 4 r/ElevenLabs+5 crossposts

Quick context: I use Claude Code and Codex daily and noticed I was spending half my "agent is working" time just sitting there watching the screen. I was like, what if Claude or Codex can just talk back at me, like Jarvis did Ironman, so I don't have to go through all the output soup?

So I built Heard.

What it does:

Speaks your agent's intermediate output - tool calls, status updates, the prose between actions. You can get up, make coffee, and still hear when it hits a failure or needs input.

Stack:

- Python daemon, Unix socket, fire-and-forget hooks (never blocks the agent)

- ElevenLabs for cloud TTS, Kokoro for fully local (no key needed)

- Optional Claude Haiku 4.5 for in-character persona rewrites

- Adapters for Claude Code + Codex; `heard run` wraps anything else

- macOS app + CLI, Apache 2.0

What I learned building it:

The hard part wasn't TTS, it was deciding what NOT to say. First version narrated everything and was unbearable in 90 seconds. Now there are 4 verbosity profiles and "swarm mode" for when 2+ agents are running concurrently - background ones only pierce on failures so you don't get audio soup.

Roadmap: Cursor + Aider adapters, Linux/Windows after that.

Repo: https://github.com/heardlabs/heard

Voice samples: https://heard.dev

Would love feedback on features that broke or stuff that people would like to see! And if anyone else hate starring at the screen too lol

u/decentralizedbee — 2 months ago