[BUG] Custom keybindings in Chat context silently ignored since v2.1.105–2.1.107 (regression from 2.1.104)

Resolved 💬 9 comments Opened Apr 17, 2026 by jackvreeken Closed May 12, 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?

Custom keybindings defined in ~/.claude/keybindings.json for the Chat context are silently ignored starting in v2.1.105–2.1.107. The binding itself is still parsed (file is valid and was untouched across upgrades), but the bound action never fires.

Specifically: "ctrl+/": "voice:pushToTalk" worked reliably on v2.1.104 and stopped firing by v2.1.107. Default Space push-to-talk still works, confirming voice itself is functional — only custom bindings are broken.

Tested with an alternate chord (ctrl+.) to rule out Ctrl+/ parsing — also ignored. So the regression is the custom keybinding dispatch, not any specific key combo.

What Should Happen?

Pressing Ctrl+/ (or any configured custom binding) in the Chat context should invoke the bound action — in this case voice:pushToTalk.

Steps to Reproduce

  1. Create \~/.claude/keybindings.json\:

\\\json
{
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+/": "voice:pushToTalk"
}
}
]
}
\
\\

  1. Start Claude Code on v2.1.104 → Ctrl+/ activates voice push-to-talk.
  2. Upgrade to v2.1.107+ → Ctrl+/ does nothing. Default Space still works.

Last Working Version

2.1.104

Claude Code Version

2.1.107+ (broken; did not test 2.1.105/2.1.106 individually, but changelog shows terminal key-encoding work landed in 2.1.105 which is a plausible culprit)

Platform

Anthropic API

Operating System

Linux (Fedora 43, kernel 6.19.11)

Terminal/Shell

bash

Additional Information

  • Possibly related: #48023 (keybindings.json custom actions ignored on v2.1.89, macOS) — same symptom class, different version/platform, may share a root cause or be a re-regression after a fix.
  • Precedents for silent default-binding changes in recent versions: #45364 (v2.1.94, Ctrl+L), #49317 (v2.1.111, Ctrl+W/Ctrl+U).
  • Changelog note: v2.1.105 included fixes to \alt+enter\ (ESC-prefix alt encoding) and \Ctrl+J\ newline handling — likely the same area of code.

View original on GitHub ↗

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