[BUG] Desktop app (macOS), Code tab: dictation stops when Claude starts its next step in the session
What's Wrong?
While Claude works on a turn, I dictate my next message into the same session's message box. The recording stops
on its own a few seconds in, at the moment Claude starts streaming its next step (after a tool result). Nothing
says it stopped, so I keep talking, and the rest of what I say is lost.
Dictation runs without a problem while the session is idle (2½ minutes in the case below) or when I dictate in
another session.
What Should Happen?
Dictation keeps recording until I stop it, or until one of the documented limits (15 s of silence, 2 min), no
matter what Claude streams into the session I'm viewing.
Error Messages/Logs
The app logs no error when it stops. Both stops come within a second of Claude's next step:
22:36:25.995 session tool call finishes
22:36:29.314 macos recording starts
22:36:37.198 macos recording stops
22:36:37.912 session Claude's next step saved
22:36:41.219 session tool calls finish
22:36:46.022 macos recording starts again
22:36:49.735 session Claude's next step saved
22:36:49.872 macos recording stops
macos: the macOS unified log, where coreaudiod reports the Claude Helper process recording (running: yes/no).session: the transcript (.jsonl) of the session being dictated into. A step is most likely saved a moment after
it starts streaming on screen, so a stop can come just before its saved time.
Steps to Reproduce
- In the Code tab, send a prompt that makes Claude run several tool calls.
- While Claude works, start dictation in the same session's message box (⌘D) and keep talking.
- Dictation stops by itself once Claude starts its next step.
Details
- Claude Model: Opus
- Is this a regression? I don't know
- Claude Code Version: 2.1.295 (Claude desktop app 2.31226.1)
- Platform: Anthropic API (claude.ai account)
- Operating System: macOS 27.0.1
- Terminal/Shell: Claude desktop app, Code tab
Related: #92366 (dictation cut off by permission dialogs, closed because it didn't reproduce in VS Code). This
one happens without any dialog.