Dictating a prompt vs directing agents
"Voice control for Claude Code" can mean two different jobs:
- Dictation. Your speech becomes text in the prompt, and you press Return. Every option on this page does this.
- Directing. You say "tell the API agent to add pagination" or "approve", and it reaches the right session without you finding the terminal first. That needs something that knows which agents are running. Of the options here, only Cadence does it.
If you run one session at a time, dictation is all you need. With several, the slow part is no longer typing. It is finding the right window.
Option 1: Claude Code's built-in /voice
Claude Code has had voice dictation since v2.1.69. Anthropic documents it in Voice dictation.
- In a session, run
/voice. The first time, macOS asks to let your terminal app use the microphone. - Hold Space, speak, and let go. The text appears dimmed while you talk and lands at the cursor. Press Return to send it.
- Prefer not to hold a key?
/voice tapswitches to tap mode: tap Space to start and tap again to send./voice offturns it off.
Hold mode detects a held key through key repeat, so there is a short warm-up. A modifier combination starts recording at once. Rebind the key in ~/.claude/keybindings.json:
{
"bindings": [
{ "context": "Chat", "bindings": { "meta+k": "voice:pushToTalk" } }
]
}
Dictation follows the language setting in /config and supports 20 languages. It is tuned for coding terms, and your project and git branch names are added as hints. Set "autoSubmit": true in the voice settings to send on release.
What to know before you rely on it:
- Audio streams to Anthropic's servers for transcription. It is not processed locally. Transcription does not count against your usage limits.
- It needs a claude.ai account login. It is not available with an API key, Amazon Bedrock, Google Cloud or Microsoft Foundry.
- It needs a microphone on the machine running Claude Code, so it does not work over SSH or in cloud sessions.
- It fills one session's prompt. It does not answer permission prompts by voice or choose between sessions.
Option 2: macOS Dictation in the terminal
macOS Dictation types into any text field, including Terminal, iTerm2, Ghostty and the VS Code terminal. It works with Claude Code and every other CLI, and with a session connected over SSH, because the typing happens on your Mac.
- Open System Settings → Keyboard, go to Dictation and turn it on.
- Pick a shortcut, or use the Microphone key if your keyboard has one.
- Click into the Claude Code prompt, press the shortcut, speak, and press it again to stop.
It adds commas, periods and question marks as you talk, has no length limit, and stops after 30 seconds of silence. Keyboard settings tell you whether dictation for your language is processed on your device. Apple covers the details in Use Dictation on Mac.
The gaps for coding: there is no custom word list, so repo names, library names and flags often come out wrong, and automatic punctuation can add a period you did not want. Read the prompt before you press Return.
Option 3: Whisper on your Mac
OpenAI's Whisper and NVIDIA's Parakeet are open speech models that run well on Apple Silicon. Many Mac dictation apps are built on them. After a one-time model download they transcribe on your Mac, and the better ones add push-to-talk in any app and a custom word list. The offline dictation guide lists what to look for.
To try a local model with only open-source tools, build whisper.cpp and transcribe a recording:
brew install cmake sox
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh base.en
cmake -B build && cmake --build build -j --config Release
# record (Ctrl-C to stop), transcribe, copy to the clipboard
rec -c 1 -r 16000 -b 16 /tmp/prompt.wav
./build/bin/whisper-cli -m models/ggml-base.en.bin -f /tmp/prompt.wav -nt -np | pbcopy
Then paste into Claude Code with ⌘V. It shows how quick local models are, but a record-then-paste loop is clumsy for daily use. An app with a hotkey removes those steps.
Option 4: Cadence, hold ⌥ to dictate, double-tap to talk
Cadence is a free Mac app for running coding agents, with on-device dictation built in. One key does both jobs.
Hold ⌥ to dictate into Claude Code
Hold ⌥, speak, and let go. Your words start appearing at the cursor about a second in, and when you let go Cadence swaps in the polished version. It works in native apps, browsers, Electron apps and terminals, so it types straight into the Claude Code prompt. Transcription runs on your Mac with NVIDIA Parakeet. On Cadence's own test set it measured 1.88% word error rate on clean read speech and about 330 ms from release to text at the 95th percentile.
- Add repo names, libraries and teammates to Settings → Commands → Vocabulary. Your agents' names are added automatically.
- Give your terminal the Raw (no polish) tone in Settings → AI → App Tone Profiles so Cadence types exactly what you said.
- A quick tap of ⌥, or a shortcut like ⌥←, types nothing.
Double-tap ⌥ to talk to your agents
Double-tap ⌥ and a pill appears. Say or type the request, then tap ⌥ or press Return. Cadence's router runs on Claude Haiku through your own claude login and picks one of four outcomes:
- Send to the agent already on that work. A follow-up like "also make it blue" goes where your last request went.
- Start a new agent in the right folder for new work.
- Ask the Director, for questions like "is anything stuck?".
- Clarify when two agents fit equally well, with numbered options in the Inbox.
You get a receipt such as "Sent to claude-2, the landing page thread". Some phrases skip the router: name the agent ("tell backend to add pagination"), answer one that is waiting ("approve", or "deny backend, use yarn instead"), or check on them ("status", "stop backend"). Talk works with Claude Code and with the other CLIs Cadence runs in herdr, such as Codex and Gemini.
Talk sends your words as text after they are transcribed on your Mac, never audio. To decide, the router also sees your agents' titles and recent output, the app in front of you and a screenshot of the display under your pointer, so "fix this" can mean what is on screen. The privacy page lists exactly what goes where.
Answer and listen by voice
In the Inbox, press V to speak a reply to the card in front of you. With Settings → Agents → Text-to-speech on, Cadence reads agent completions and approval requests aloud. Cadence's iPhone app, in a private TestFlight beta, adds Talk from Siri, Shortcuts and Control Center; see Claude Code on iPhone.
Compare the options
| Claude Code /voice | macOS Dictation | Local Whisper tool | Cadence | |
|---|---|---|---|---|
| Transcribed | On Anthropic's servers | On device for many languages (check Keyboard settings) | On your Mac | On your Mac |
| Types into | The Claude Code prompt | Any app | Depends on the tool | Any app |
| Custom words | Project and branch names, automatic | No | Some tools | Vocabulary list |
| Routes requests and approvals | No | No | No | Yes, with Talk |
| Needs | A claude.ai login | Nothing | An app or a build | Apple Silicon, macOS 13 or later |
Tips for speaking prompts to a coding agent
- Name things. Say "the settings page in src/routes/settings", not "that page".
- Say what not to touch. "Don't change the migrations" saves a review round.
- Say how to check. "Run the tests before you say you're done."
- Talk first, then edit. Long spoken prompts are fine. Fix names and numbers before you press Return.
- Type the exact bits. Commands, flags, IDs and URLs are faster to type or paste than to spell out.
Common questions
Does Claude Code have a voice mode?
Yes, for dictation. Run /voice, then hold Space and speak, and your words appear in the prompt. Claude still replies in text. It needs a claude.ai account login.
Is Claude Code's voice dictation processed on device?
No. Claude Code streams the audio to Anthropic's servers for transcription. For transcription on your Mac, use macOS Dictation where Keyboard settings say it is processed on your device, a local Whisper or Parakeet app, or Cadence.
Can I approve Claude Code permission prompts by voice?
Not with /voice, which only fills the prompt. In Cadence, double-tap ⌥ and say "approve" or "deny", optionally with the agent's name and a reason, such as "deny backend, use yarn instead".
Does voice dictation work in Claude Code over SSH?
Claude Code's /voice needs a microphone on the machine it runs on, so it does not work in an SSH session. Dictation that runs on your Mac, such as macOS Dictation or Cadence, types into whatever terminal window has focus, including one connected over SSH.
Can I dictate to Claude Code in other languages?
Yes. Claude Code's /voice follows the language setting and supports 20 languages. In Cadence, pick Parakeet v3 (25 languages) in Settings → Models.