Voice mode shows 'no speech detected' - feature appears disabled internally in v2.1.69
Resolved 💬 3 comments Opened Mar 5, 2026 by laychopy Closed Mar 8, 2026
Description
Voice mode (/voice) can be toggled on/off in the CLI UI, but it never detects speech. The command shows "Voice mode enabled. Hold Space to record." but when pressing Space and speaking, it always reports "no speech detected."
Investigation
After debugging, I found the root cause in cli.js:
- The voice enabled flag is hardcoded to
false:GD=!1 - The
hVzfunction (voice handler) returns a no-op:hVz=({enabled:A})=>({state:"idle",handleKeyEvent:()=>{},isAvailable:!1}) - The whisper transcription pipeline is wired up but never activated because
enabledis alwaysfalse
The microphone and audio capture work correctly at the OS level:
- ffmpeg records audio successfully (mean_volume: -38.6 dB, max_volume: -19.0 dB)
- sox/rec also captures audio to file (verified with ffmpeg volumedetect), though the visual meter shows 0.00% (separate coreaudio display bug)
- macOS System Settings confirms mic input levels are active
Environment
- Claude Code version: 2.1.69
- OS: macOS Sonoma (Darwin 24.6.0)
- Architecture: x86_64
- Terminal: Ghostty
- sox version: sox_ng 14.7.1 (also tested with sox 14.4.2)
- ffmpeg version: 8.0.1
- Node.js: v22.22.0
Expected behavior
Voice mode should record audio when Space is held and transcribe it using Whisper.
Actual behavior
Voice mode toggle works in UI but the recording/transcription pipeline is disabled in code, resulting in "no speech detected" every time.
Steps to reproduce
- Run
claude - Type
/voice→ "Voice mode enabled" - Hold Space and speak clearly
- Release Space → "no speech detected"
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗