iriscale voice
Run many coding-agent sessions in parallel. Each one tells you, by name, the moment it's ready for review or needs your attention.
Coding agents are at their best on long-running tasks — a refactor here, a test suite there, a migration in a third terminal. The bottleneck is you: you can't watch five terminals, so you either poll them (and lose your focus) or forget one (and it sits finished, or blocked on a yes/no, for twenty minutes).
iriscale voice removes the polling. You keep working in whichever session has your attention; the others speak up when — and only when — they need you:
- "billing service done after 6 minutes" → ready for review
- "payments api is waiting for your answer to run git push" → blocked on you, right now
- "data migration stopped: rate limit" → died, don't wait for it
You hear which session and why, without looking, so you can finish the thought you're on and then switch. That's the whole product.
- Speaks the session name (/rename it, or it uses the folder name)
- Done · stopped with an error · waiting for your answer to run <command
- Presets from "just tell me when it's done" to "tell me everything"
- Dictating? On Windows it waits while any app has the microphone open (Wispr Flow, voice
typing, a call) and, if the mic opens mid-sentence, stops and repeats itself afterwards — its words stay out of your transcript. Off with micaware=false.
- Waits for background agents: a turn that pauses while subagents run is working, not
"done", and Claude Code's own "waiting for you" is ignored until the job really ends
- Concurrent sessions queue instead of talking over each other; the same line is never
repeated inside a minute
- Works for Claude Code and Codex CLI today, one config for both; more agents mapped
- One POSIX shell script, zero dependencies, speaking through the voice your OS
already has. Verified daily on Windows by the maintainers; macOS and Linux run the same script and pass CI, but their speech backends (say, spd-say) are tested by users, not by us — reports welcome.
- Tells you what it's waiting on — "…to run git push origin main --force" — with
anything that looks like a credential scrubbed before it reaches the speaker or the log. Shared office? commanddetail=program speaks the program name only. Hard to understand? iriscale-voice voices lists clearer voices to set voice, and pronounce=word=spoken,… fixes any word it mangles. See SECURITY.md.