Claude Code has a built-in voice mode: hold space, talk, it transcribes into your prompt. Here's how to get it running in the VS Code integrated terminal on macOS — including the one step that breaks it for everyone.
1. Install the backend
Voice mode records via sox. No sox, no audio.
brew install sox
sox --version # sanity check
2. Turn it on
In the Claude Code prompt:
/voice
Hold space to record, release to stop.
3. Grant the mic — to VS Code, not the terminal
Claude Code runs inside VS Code, so macOS attributes the mic request to Visual Studio Code.
Open System Settings → Privacy & Security → Microphone. If VS Code isn't listed, it never requested access yet — and there's no "+" to add it manually. Force the prompt:
- ⌘Q to fully quit VS Code (closing the window keeps the process alive — not enough).
- Reopen it.
- Trigger a recording. macOS pops "Visual Studio Code would like to access the microphone" → Allow.
macOS only re-reads mic permissions at app launch. A VS Code instance that was already running when you flipped the toggle keeps getting fed silence until you restart it.
4. Verify you're capturing real audio
The nasty failure: recording "works" but is pure silence (permission denied → all zeros).
rec -q /tmp/mictest.wav trim 0 2 # records 2s — say something
sox /tmp/mictest.wav -n stat 2>&1 | grep "Maximum amplitude"
-
0.000000→ still silent. Recheck the toggle, restart VS Code. - non-zero (e.g.
0.17) → working. RMS around0.01is a normal talking level.
Gotchas
| Symptom | Fix |
|---|---|
| "No audio detected" |
brew install sox + grant mic permission |
Amplitude 0.000000
|
Enable VS Code in Microphone settings, then ⌘Q + reopen |
Toggle off with /voice. Change dictation language with /config.













