Voice mode never activates microphone — no permission prompt, no mic-related system log activity

Status Open
Reported on v2.1.218
Maintainer reply None cached
Activity 0 comments · opened Jul 23, 2026

Description

Voice mode (/voice) never actually activates the microphone, in either hold or tap mode, regardless of which key is bound to the push-to-talk action. No system microphone permission prompt is ever shown, and no microphone/TCC/AVAudio-related activity appears in the macOS unified log for the app process when the bound key is pressed.

Environment

  • Claude Code version: 2.1.218 (native install)
  • OS: macOS 26.5.2 (Darwin 25.5.0), arm64
  • Host app process name: Orca (com.stablyai.orca)

Steps to reproduce

  1. Run /voice (or /voice tap) — confirmation message appears correctly, e.g. "Voice mode enabled (tap). Tap ctrl+opt+shift+cmd+v (with input empty) to start, tap again to send."
  2. With the chat input empty, press the bound key (tested with default space in hold mode, and with a custom cmd+ctrl+alt+shift+v binding in tap mode)
  3. Expected: recording starts (visual indicator, and on first use, a macOS microphone permission prompt)
  4. Actual: nothing happens — no indicator, no permission prompt, no transcription

Diagnostics already performed

  • tccutil reset Microphone com.stablyai.orca followed by full app restart — no permission prompt appeared afterward
  • log stream filtered for orca, microphone, TCC, AVAudio, CoreAudio, voice while pressing the bound key live — zero matching entries during the key press window, suggesting the app never attempts to access the microphone at all
  • Confirmed not a keybinding-config issue: tested with both the default binding and a custom ~/.claude/keybindings.json binding (voice:pushToTalk) — same null result either way
  • claude doctor reports no installation issues; claude update reports already up to date

Impact

Voice input feature is completely non-functional in this environment — not a permissions or configuration problem, since the app appears not to invoke any microphone API at all.

View original on GitHub ↗