In-chat microphone shows "recording" but captures no audio; no getUserMedia activity in renderer log
Summary
The microphone button in the Claude Code VSCode chat input enters a "recording" state (blue mic icon, "Stop recording" tooltip) but no audio is captured. No transcription appears. The renderer log shows no microphone-related activity at all when the button is clicked, suggesting the request never reaches the Electron browser layer.
Environment
- Claude Code VSCode extension: 2.1.138 (
anthropic.claude-code-2.1.138-darwin-arm64) - VSCode: standard install at
/Applications/Visual Studio Code.app - macOS: Darwin 25.3.0 (arm64)
- Worked normally ~2 hours before the symptom began. No system updates, no extension updates, no audio device changes.
Reproduction
- Open Claude Code chat in VSCode
- Click the microphone icon in the message input
- Mic icon turns blue, "Stop recording" tooltip appears
- Speak
- Click Stop — no transcription appears, no text inserted
What I verified is NOT the cause
- macOS mic permission for VSCode: granted (verified in System Settings → Privacy & Security → Microphone → Visual Studio Code = ON)
- VSCode entitlements:
codesign -d --entitlements :-confirmscom.apple.security.device.audio-inputis present - macOS audio stack: healthy.
coreaudiodandaudiomxdrunning. Mic captures audio fine in TextEdit dictation, Voice Memos, and other apps - Extension Host: healthy after VSCode restart. Claude Code extension shows 97ms activation time, all 9 installed extensions loading correctly
- Fresh permission grant: ran
tccutil reset Microphone com.microsoft.VSCode, restarted VSCode, the OS prompt re-appeared, clicked Allow — mic still doesn't work in Claude Code chat - VSCode/Mac restart: full Cmd+Q + reopen + macOS restart — symptom persists
Diagnostic logs
Grepping the renderer log for microphone|getUserMedia|NotAllowedError|NotFoundError|MediaStream|audio after clicking the mic button returns zero matches — no error, no permission denial, no getUserMedia attempt logged at all.
$ grep -i -E "microphone|getUserMedia|NotAllowed|MediaStream|audio" \
~/Library/Application\ Support/Code/logs/<latest>/window1/renderer.log
(no output)
The Claude Code extension log shows the chat session running normally (session resumed, permission rules applied) but no audio-related entries.
Hypothesis
The in-chat mic button's click handler may not be reaching navigator.mediaDevices.getUserMedia at all, OR the webview hosting the chat input is missing the mic permission delegation that the parent VSCode renderer has.
Workaround
macOS Fn-Fn dictation inside the chat input still works as a substitute for the in-chat mic feature.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗