Function keys (F1-F12) not recognized in keybindings.json

Resolved 💬 2 comments Opened Mar 13, 2026 by stulentsev Closed Apr 10, 2026

Description

Custom keybindings using function keys (F1-F12) are silently ignored. I have voice:pushToTalk bound to ctrl+shift+f1 in ~/.claude/keybindings.json and it never triggers.

{
  "context": "Chat",
  "bindings": {
    "ctrl+shift+f1": "voice:pushToTalk"
  }
}

Expected behavior

Function key combinations should work as keybindings, the same way modifier+letter combos do.

Actual behavior

The binding is accepted without error but the keystroke is never recognized. Only the documented special keys (escape, enter, tab, space, up, down, left, right, backspace, delete) and letter/number keys appear to work.

Environment

  • Claude Code 2.1.74
  • macOS (Darwin 24.6.0)
  • voiceEnabled: true in settings

View original on GitHub ↗

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