[BUG] VS Code extension: voice dictation stops while the user is still speaking (hard 2-min cap, 15s timer based on transcripts instead of audio, no indication)

Status Open
Reported on v2.1.296
Maintainer reply None cached
Activity 0 comments · opened Oct 13, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet. Related: #74534 (open feature request for configurable timeouts) and #33792 (closed as stale).
  • [x] This is a single bug report.
  • [x] I am using the latest version of Claude Code (2.1.296).

What's Wrong?

In the VS Code extension, dictation stops by itself while I am still speaking. The transcript keeps appearing live the whole time. Then recording just ends, with no sound and no visual cue, and everything said after that point is lost.

Two hard-coded limits in the extension cause this. They are in extension.js of 2.1.296, in createSpeechToTextStream, condensed below:

F=15000, M=120000, j=Date.now()
onTranscript: (u, T) => { if (u) { j = Date.now(); /* ... */ } }
setInterval(() => { if (Date.now() - j > F) X1("silence") }, 1000)   // "auto-stopping after 15000ms without a transcript"
setTimeout((stop) => stop("max_duration"), M, X1)                    // "auto-stopping at max duration"
  1. 2-minute hard cap (M=120000). Recording is cut at exactly 120 s whether or not the user is talking. That is too short to dictate a real task description.
  2. The "silence" timeout does not measure silence. j only moves forward when a non-empty transcript arrives from the server. The 15 s timer therefore measures the time since the last transcript, not the time since the microphone went quiet. If transcription stalls while the user is still talking, recording stops anyway. The extension already tracks microphone level (hadAudioSignal, speech_audio_level), so this timer could use the real audio.
  3. No indication. When either auto-stop fires, nothing tells the user, who keeps talking into a stopped microphone.

The docs (https://code.claude.com/docs/en/voice-dictation) describe "15 seconds of silence or two minutes total" only for CLI tap mode. In the extension the limits are undocumented, and point 2 makes the word "silence" misleading.

What Should Happen?

  • Recording should not hard-stop while the user is actively speaking. Raise the cap a lot, or make it configurable as #74534 asks.
  • The silence timeout should use the microphone level, not transcript events.
  • The user should get a clear sound or on-screen message when recording stops automatically.

Error Messages/Logs

From %APPDATA%\Code\logs\<session>\window*\exthost\Anthropic.claude-code\Claude VSCode.log.

Hard cap. I spoke without pausing for the whole recording, and the transcript appeared live until the cut:

2026-10-13 04:57:32.658 [info] Starting speech-to-text on channel: speech-to-text-1791878252658
2026-10-13 04:59:32.714 [info] Speech-to-text: auto-stopping at max duration
2026-10-13 04:59:33.220 [info] Closing speech-to-text on channel: speech-to-text-1791878252658

Transcript timer. It fired 15 s after the start because no transcript had come back:

2026-10-12 01:19:14.506 [info] Starting speech-to-text on channel: speech-to-text-1791778754505
2026-10-12 01:19:29.559 [info] Speech-to-text: auto-stopping after 15000ms without a transcript
2026-10-12 01:19:29.773 [info] Closing speech-to-text on channel: speech-to-text-1791778754505

Steps to Reproduce

  1. In the VS Code extension, signed in with a claude.ai account, click the microphone button in the prompt box.
  2. Talk continuously for more than 2 minutes.
  3. Recording stops at 120 s with no cue, and nothing said after that is captured.

Claude Model

Not applicable (dictation).

Is this a regression?

I don't know

Claude Code Version

VS Code extension 2.1.296 (win32-x64)

Platform

Anthropic API (claude.ai sign-in)

Operating System

Windows 11 Pro (10.0.26300)

Terminal/Shell

VS Code 1.141.0, extension chat panel (not the integrated terminal)

View original on GitHub ↗