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

Status Closed — not planned
Reported on v2.1.74
Maintainer reply None cached
Activity 2 comments · opened Mar 13, 2026 · 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 ↗