Allow rebinding push-to-talk key in voice mode

Resolved 💬 3 comments Opened Mar 11, 2026 by daTuzzo Closed Mar 15, 2026

Problem

Voice mode (/voice) uses spacebar as the push-to-talk key, and it is hardcoded — there is no way to rebind it via ~/.claude/keybindings.json.

Spacebar is impractical for push-to-talk because:

  • It conflicts with muscle memory for typing (easy to accidentally trigger)
  • Users on Windows in VS Code terminal already deal with keybinding conflicts
  • Some keyboard layouts / ergonomic setups make holding spacebar uncomfortable

Proposal

  1. Add a voice mode action (e.g. voice:pushToTalk) that can be rebound in keybindings.json, similar to how chat:imagePaste works
  2. Expand the supported special keys list to include end, home, insert, pageup, pagedown — these are unused keys perfect for push-to-talk
  3. Add a VoiceMode context to keybindings so users can customize the experience

Example desired config:

{
  "bindings": [
    {
      "context": "VoiceMode",
      "bindings": {
        "end": "voice:pushToTalk"
      }
    }
  ]
}

Why this matters

Push-to-talk key preference is highly personal and varies by keyboard, workflow, and OS. Letting users pick their own key (like End, Insert, or a modifier combo) would make voice mode much more usable.

View original on GitHub ↗

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