In-chat microphone shows "recording" but captures no audio; no getUserMedia activity in renderer log

Resolved 💬 3 comments Opened May 10, 2026 by azfn78-lang Closed May 14, 2026

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

  1. Open Claude Code chat in VSCode
  2. Click the microphone icon in the message input
  3. Mic icon turns blue, "Stop recording" tooltip appears
  4. Speak
  5. 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 :- confirms com.apple.security.device.audio-input is present
  • macOS audio stack: healthy. coreaudiod and audiomxd running. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗