[BUG] `voice:pushToTalk` multi-binding silently picks one key; the chosen key changed in v2.1.141

Resolved 💬 2 comments Opened May 17, 2026 by 4n86rakam1 Closed Jun 16, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When multiple keys are bound to voice:pushToTalk in ~/.claude/keybindings.json, only one of them is ever active — the rest are silently ignored. Which key is selected changed in v2.1.141:

  • v2.1.140 and earlier: the first key listed in the config object is active.
  • v2.1.141 and later: the last key listed is active.

The docs (Voice dictation) imply multiple keys can be active at the same time ("Omit it if you want both keys active"), which does not hold in practice.

Additionally, binding only alt+v (without setting space: null) disables the default space binding — alt+v works, space does not. The mere presence of an explicit voice:pushToTalk binding overrides the default, suggesting the action accepts at most one binding at a time.

What Should Happen?

Either:

(a) All keys bound to voice:pushToTalk should trigger push-to-talk, matching the docs wording about "both keys active"; or

(b) If the action is single-key by design, the docs should state this explicitly, and the selection rule should not silently change between versions.

Error Messages/Logs

Steps to Reproduce

In the Chat context of ~/.claude/keybindings.json, bind multiple keys to voice:pushToTalk. Two configurations were tested.

Configuration A (space first):

{
  "context": "Chat",
  "bindings": {
    "space": "voice:pushToTalk",
    "alt+n": "voice:pushToTalk",
    "alt+v": "voice:pushToTalk"
  }
}

Configuration B (alt+v first):

{
  "context": "Chat",
  "bindings": {
    "alt+v": "voice:pushToTalk",
    "alt+n": "voice:pushToTalk",
    "space": "voice:pushToTalk"
  }
}

Enable voice mode with /voice, then press each bound key.

Actual behavior:

  • Configuration A: space works on ≤v2.1.140, alt+v works on ≥v2.1.141.
  • Configuration B: alt+v works on ≤v2.1.140, space works on ≥v2.1.141.

Documentation reference: Voice dictation shows an example pairing meta+k with space: null and notes "Omit it if you want both keys active" — implying coexistence is supported.

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.140

Claude Code Version

2.1.143

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

Tested linux-x64 binaries from GitHub releases (SHA256-verified). Versions not listed were not available as downloadable binaries.

  • First-key selection: v2.1.119, v2.1.121, v2.1.122, v2.1.123, v2.1.128, v2.1.129, v2.1.131, v2.1.132, v2.1.133, v2.1.136, v2.1.137, v2.1.138, v2.1.139, v2.1.140.
  • Last-key selection: v2.1.141, v2.1.142, v2.1.143.

TERM=xterm-256color.

Open questions:

  • Can voice:pushToTalk be bound to multiple keys simultaneously? If not, please update Voice dictation — the "both keys active" sentence is misleading.
  • Is the change in which key is selected (first listed → last listed) across v2.1.140 → v2.1.141 expected, or a side effect of another change?

View original on GitHub ↗

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