Claude Code voice not working? Every error and its fix.
Find the message Claude Code shows you below. Each one points to a different cause, and most take under a minute to fix.
/voiceneeds you signed in with a Claude.ai account. It isn’t available with an API key, Bedrock, Vertex or Foundry.- It records on the machine Claude Code runs on, so it doesn’t work over SSH, in VS Code Remote or in cloud sessions.
- After a lid close, a device change or an update, start a new session.
Unknown command: /voiceorVoice mode requires a Claude.ai accountYou’re not signed in with Claude.ai, or an API key or provider setting takes precedence. Run
/login, removeANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKENorapiKeyHelper, and restart Claude Code.From the Claude Code docs.
Voice mode is disabled by your organization’s policyAn administrator turned voice off. Ask them, or use a dictation tool outside Claude Code.
From the Claude Code docs.
Microphone access is deniedAllow your terminal (or VS Code) in System Settings → Privacy & Security → Microphone. If it isn’t listed, reset its permission, quit it with ⌘Q and reopen it.
# Terminal: com.apple.Terminal · iTerm2: com.googlecode.iterm2 # Ghostty: com.mitchellh.ghostty · Warp: dev.warp.Warp-Stable · VS Code: com.microsoft.VSCode tccutil reset Microphone com.apple.Terminal # Not sure of the bundle ID? Ask macOS: osascript -e 'id of app "iTerm"'From the Claude Code docs.
No audio detected from microphoneRecording captured silence. Usually the session is tied to a device or binary that changed: start a new session. Every cause and fix →
No speech detectedAudio arrived but no words were recognized: move closer, cut noise, set your language in
/config. More →Voice input is failing repeatedly and has been pausedThree failures in ten seconds: usually no microphone (SSH, container) or denied permission. More →
Voice connection failedorVoice stream error: WebSocket upgrade rejectedThe recording didn’t reach the transcription service. Check your network; with a 4xx status, run
/loginagain and check for a VPN or proxy in the way.From the Claude Code docs.
Voice mode requires SoX for audio recordingorcould not find a working audio recorder in WSLLinux and WSL only. Install SoX; on WSL also its PulseAudio format.
sudo apt-get install sox # Linux sudo apt install sox libsox-fmt-pulse # WSL with WSLgFrom the Claude Code docs.
Holding Space just types spaces
If spaces pile up, voice is off: run
/voice hold. If only one or two appear, key repeat is off in your OS: use/voice tapinstead. In tap mode, the prompt must be empty for the first tap to start recording.From the Claude Code docs.
As of October 2026. From Claude Code’s docs and its GitHub issues.
Use your iPhone or Apple Watch as the mic.
Copy That records on your iPhone or Apple Watch, transcribes on your Mac with Whisper, and pastes into Claude Code. Lids, AirPods, input devices and microphone permissions on the Mac stop mattering, because the Mac never records anything.
- Does Claude Code voice work with an API key, Bedrock or Vertex?
- No. Voice dictation needs a Claude.ai account login. Copy That works with any login, because it just pastes text into Claude Code.
- Is Claude Code voice dictation processed locally?
- No. Audio is streamed to Anthropic for transcription, and your project name and git branch are sent as hints. It doesn’t use tokens or count toward usage limits. Copy That transcribes on your Mac with Whisper.
- Can I use Claude Code voice in VS Code Remote or over SSH?
- No, voice records on the machine Claude Code runs on. Copy That pastes into whatever terminal is in front of you on your Mac, including one that is connected over SSH.
- Is there a way to avoid these errors entirely?
- Use a microphone that isn’t the Mac’s. Copy That records on your iPhone or Apple Watch, transcribes on your Mac with Whisper and pastes into Claude Code, so input devices, lids and microphone permissions on the Mac don’t matter.