[BUG] Voice mode regression cycle: fixes in each version reintroduce bugs in adjacent areas (v2.1.83→2.1.87)

Resolved 💬 3 comments Opened Mar 29, 2026 by dodizzle Closed May 2, 2026

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 /voice toggle each session despite voiceEnabled: true
  • #36903 — Voice requires /voice twice 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

  1. Install Claude Code v2.1.87
  2. Enable voice mode with /voice
  3. Use push-to-talk — speech detection fails intermittently (~50% on macOS)
  4. Configure voice:pushToTalk to meta+space — no response (bare space works)
  5. 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

View original on GitHub ↗

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