[BUG] /voice live transcript stalls mid-recording for 10+ s while audio streams; full text arrives only on finalize (Windows)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
During /voice dictation (tap mode), the live transcript sometimes stops updating mid-recording for 10+ seconds while I keep speaking. The recording stays active and audio keeps streaming. When I tap to finish, the complete transcript arrives in about 0.2 s, including every word spoken during the freeze.
Because the prompt shows nothing, it looks as though dictation has stopped. The natural reactions each make things worse: repeating yourself duplicates text in the final transcript, and pressing Esc discards the whole recording.
The debug log shows the client side is healthy throughout: the WebSocket is connected, audio chunks are sent every ~10 ms, KeepAlives go out, and there are no errors or warnings. The server simply sends no TranscriptText messages during the gap. At finalize, a single message carries the full text, not a burst of queued interim messages, so this does not look like client-side or proxy buffering.
It happens in natural, unscripted speech, and the logged case followed a brief hesitation. Reading a prepared passage at a steady pace did not reproduce it: 55 live updates, longest gap 1.7 s.
What Should Happen?
The live transcript keeps updating while audio is streaming, as it does for steady speech. If the service can't produce interim results, the UI should at least show that recording is still in progress, so the user doesn't abandon a recording that is working.
Error Messages/Logs
(from --debug log; 10 ms "Sending audio chunk" lines omitted — 1496 chunks were sent over the recording)
16:44:27.746Z [voice] startRecording called, platform=win32
16:44:27.829Z [voice_stream] Connecting to wss://api.anthropic.com/api/ws/speech_to_text/voice_stream?encoding=linear16&sample_rate=16000&channels=1&endpointing_ms=300&utterance_end_ms=1000&language=en&use_conversation_engine=true
16:44:28.477Z [voice_stream] WebSocket connected
16:44:30.519Z [voice] onTranscript: isFinal=false (1 chars)
16:44:30.729Z [voice] onTranscript: isFinal=false (6 chars)
16:44:31.123Z [voice] onTranscript: isFinal=false (11 chars)
--- no messages received for 12.3 s; audio chunks continue ---
16:44:36.479Z [voice_stream] Sending periodic KeepAlive
16:44:43.437Z [voice] toggle: finishing recording
16:44:43.455Z [voice_stream] Sending CloseStream (finalize)
16:44:43.666Z [voice_stream] Message received (130 chars)
16:44:43.666Z [voice] onTranscript: isFinal=false (92 chars)
16:44:43.666Z [voice_stream] TranscriptEndpoint received (92 chars pending)
16:44:43.666Z [voice] Final transcript assembled (91 chars)
16:44:43.674Z [voice_stream] WebSocket closed: code=1000 reason=""
Steps to Reproduce
- Enable
/voice tapand startclaude --debug, or run/debug. - Tap Space and speak naturally, composing as you go with a short hesitation early on (for example, "I feel like... I will run into problems when...").
- Sometimes the live text stops after the first few words while you keep talking.
- Keep talking, then tap Space. The full text appears at once.
- In
~/.claude/debug/<session>.txt, theonTranscriptlines stop during the freeze whileSending audio chunklines continue.
This is intermittent. I've seen it several times in a day of dictation and captured it once with debug logging on.
Claude Model
Not model-related
Is this a regression?
I don't know
Claude Code Version
2.1.280 (Claude Code), native install
Platform
Anthropic API (claude.ai account)
Operating System
Windows 11 (build 26200)
Terminal/Shell
Windows Terminal (PowerShell)
Additional Information
- Microphone: built-in laptop array mic. Accuracy is otherwise good: a 58-word technical passage came back with no word errors.
- Possibly related, but different: #87250 (Windows desktop app, recordings intermittently produce no transcription).
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗