Talk to your AI.
Hear it talk back.
Hands-free.
Full voice mode for Claude Code, Codex, Antigravity and Pi, on your Mac.
A Mac app.
Free and open source (MIT). No account with us. Apple Silicon, macOS 14 or later.
New in 2.1: Hands-Free listens on the Mac onlySpoken, typed, answered aloud.
One real Claude Code turn. Press play: the request, the work, the spoken reply.
- 1HeardWhisper transcribes on the Mac.
- 2TypedInto the terminal, and sent.
- 3Claude Code worksRuns the tests, fixes the bug.
- 4SpokenOne sentence in Heart’s voice; the full reply stays on screen.
> Run the tests and fix whatever is failing.⏺ Bash(python3 -m unittest -v) ⎿ test_punctuation ... FAIL test_spaces ... FAIL FAILED (failures=2)⏺ Two tests are failing because of leading and trailing hyphens. I’m fixing that now.⏺ Update(blog/slug.py) ⎿ - return re.sub(r"[^a-z0-9]+", "-", text.lower()) + return re.sub(r"[^a-z0-9]+", "-", text.lower()).strip("-")⏺ Bash(python3 -m unittest) ⎿ Ran 5 tests in 0.000s OK⏺ OpenWhisperer - speak (MCP)(text: "Two slugify tests were failing because of extra hyphens at the start and end, and after a one-line fix all five tests pass.", voice: "pocket:heart") ⎿ Speaking.⏺ All 5 tests pass now. Two were failing before the fix. …
The request: Run the tests and fix whatever is failing. Heart answers: Two slugify tests were failing because of extra hyphens at the start and end, and after a one-line fix all five tests pass.
A real Claude Code turn, recorded on November 4, 2026 with Open Whisperer’s own hook. File listings and the long test traceback are left out, and the 27-second turn plays faster here. The request is voiced by Michael, one of the app’s Pocket TTS voices, in place of a person dictating. Heart’s line is the sentence Claude Code passed to speak, voiced by the Pocket TTS program and Heart voice that ship in the app. Heart is Kokoro-82M’s af_heart (hexgrad, Apache-2.0), cloned onto Pocket TTS with Kyutai’s voice-cloning model (CC BY 4.0).
Three ways to talk.
Features
- Spoken replies
- Dictated turns by default; or every turn, or only when the agent needs you.
- Voices
- Heart and five more English voices, on Pocket TTS; Jane also speaks Spanish, Italian, Portuguese, Dutch, German and French. A sentence is voiced in about a third of a second, measured on an M3 MacBook Air. Since 2.0.9
- Interrupt
- “Hold on” in Hands-Free, or the record key in the other modes, stops a reply mid-sentence.
- Dictation
- Typed where the cursor is, in any Mac app; the clipboard is never touched. 100 languages, English by default.
- Translate to English
- Any language Whisper knows in, English text out. One extra 948 MB download, asked for first; dictation is roughly twice as slow while it is on. Since 2.0.7
- Agents
- Claude Code, Codex, Antigravity and Pi, one Connect button each. Codex asks once to trust the hook; until it is trusted, dictated turns stay silent.
- Persona
- The voice’s accent sets a light tone for the spoken summary, never the facts. Changed in Settings → Agents → Persona.
- App Focus
- Switches to a chosen app before typing, presses Return, then switches back. Each step optional.
Every network connection, listed.
No account with us. The app sends no telemetry.
- Your voice
- Transcribed on the Mac by Whisper. The audio never leaves it; the text goes to your agent, like typed text.
- Hands-Free
- “Initiate” and “hold on” are recognized on the Mac by Apple’s on-device speech model, never Apple’s servers.
- Spoken replies
- Voiced on the Mac. Pocket TTS runs in a macOS sandbox with no network access.
- Network
- Speech models and voices, downloaded once each. A once-a-day check of GitHub for a newer version number, off in Settings → General.
- Check it
- Turn Wi-Fi off and dictate into Notes with Hold-to-Talk.
Install in three steps.
- 1
Open it
Drag Open Whisperer to Applications and open it. It is not signed with a paid Apple Developer ID, so macOS blocks the first open: in System Settings → Privacy & Security, click Open Anyway.
Prefer Terminal?
Clear the download’s quarantine flag before opening the DMG:
xattr -d com.apple.quarantine ~/Downloads/OpenWhisperer-2.1.0.dmgAlready copied to Applications:
xattr -cr /Applications/OpenWhisperer.app - 2
Allow
Allow Microphone and Accessibility when asked; Hands-Free also asks for Speech Recognition and needs Apple’s on-device speech model; Settings → Dictation says how to add it. The first launch downloads the speech models once, with progress in Settings → General.
After every update, grant Microphone and Accessibility again: in System Settings → Privacy & Security, remove OpenWhisperer with − and add it back with +.
- 3
Connect
Settings → Agents → Connect, once per agent. Codex asks once to trust the hook; in Pi, run
/reload.
Questions
Is it free?
Yes. It is free and open source under the MIT license: no subscription, no account with us, no API key. Your coding agent keeps its own account and plan.
Why is a typed turn not spoken?
By default only dictated turns are spoken. To hear every turn, set Settings → Voice → Speak to On every turn.
Does it work outside coding agents?
Dictation types into any Mac app: Notes, Mail, Slack, a browser. Spoken replies need Claude Code, Codex, Antigravity or Pi.
What does it need?
A Mac with Apple Silicon and macOS 14 or later. The first launch downloads the speech models once; Settings → General shows the progress.
How is it updated?
The app says when a newer version is out, in the menu bar and in Settings → General. It never downloads or installs an update itself: download the new version from GitHub, then grant Microphone and Accessibility again.
Free and open source (MIT).
No account with us, no word limit, no trial.