[BUG] Voice mode regression cycle: fixes in each version reintroduce bugs in adjacent areas (v2.1.83→2.1.87)
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?
Voice mode has been in a fix-then-regress cycle since v2.1.83. Each version fixes one voice subsystem but breaks another. There are 20+ open voice issues, but no single issue capturing the systemic pattern.
Regression timeline:
| Version | What broke | Root cause | What it fixed |
|---------|-----------|------------|---------------|
| v2.1.83 | Voice broken on Linux (#38666), Windows (#38968), macOS (#38712). Space key leaks characters instead of activating recording. | Lazy-loading change to native audio module introduced a race condition — Space keydown fires before audio module is ready. | — |
| v2.1.84 | Modifier-combo keybindings (meta+space, f9) stopped working (#39592). Only bare space works. Transcription fidelity degraded (#39226). | Character-leak fix re-introduced the modifier-combo regression that v2.1.78 had previously fixed. | Fixed character leak from v2.1.83 |
| v2.1.87 | Speech detection fails ~50% of the time on macOS (#40523). Words/sentences dropped intermittently on Linux (#40691). Voice stops listening after a period (#40091). Intermittent "no voice processed" on Linux (#40185). | Unknown — multiple subsystems affected simultaneously. | Added 10 new STT languages, waveform UI fixes |
Key related issues (all open):
- #40523 — Speech detection fails ~50% on macOS (v2.1.87)
- #39592 — Modifier-combo push-to-talk broken since v2.1.84 (labeled
regression) - #39226 — Transcription fidelity degraded, hallucinated words (labeled
regression) - #40091 — Voice stops listening after a period (macOS)
- #40185 — Intermittent "no voice processed" on Linux
- #38666 — Voice broken on Linux since v2.1.83 upgrade
- #40691 — Words/sentences dropped intermittently on Linux
Persistent session issues (pre-dating v2.1.83):
- #34012 — Voice requires
/voicetoggle each session despitevoiceEnabled: true - #36903 — Voice requires
/voicetwice to enable
What Should Happen?
Voice mode should work reliably across versions. Fixes to one voice subsystem (e.g., character leak) should not regress others (e.g., modifier keybindings). The pattern suggests the voice subsystems (audio module loading, keypress handling, WebSocket streaming, transcription) lack integration-level regression tests that cover cross-cutting interactions.
Steps to Reproduce
- Install Claude Code v2.1.87
- Enable voice mode with
/voice - Use push-to-talk — speech detection fails intermittently (~50% on macOS)
- Configure
voice:pushToTalktometa+space— no response (barespaceworks) - Use voice on Linux — words dropped intermittently
Claude Model
Any
Is this a regression?
Yes, this worked in a previous version
Last Working Version
v2.1.82 was the last version without major voice regressions (v2.1.81 confirmed working by multiple users who downgraded from v2.1.83)
Claude Code Version
2.1.87
Platform
All (macOS, Linux, Windows)
Operating System
Cross-platform
Terminal/Shell
Any
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗