Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.3 Home All releases olderv2.1.2 v2.1.4newer
Claude Code v2.1.3

Custom Keybindings Support

What

Configure custom keyboard shortcuts via a JSON file in your Claude config directory.

Usage

Create ~/.claude/keybindings.json with your custom mappings:

[
  {
    "context": "Chat",
    "bindings": {
      "ctrl+k": "chat:submit",
      "ctrl+l": null
    }
  }
]
Details
  • Supports contexts: Global, Chat, Autocomplete, Confirmation, Transcript, HistorySearch, Task, ThemePicker, Help
  • Set a binding to null to disable it
  • File is hot-reloaded on changes—no restart required
  • Invalid keybindings show warnings via notifications, with details available in /doctor
  • Reserved keys (ctrl+c, ctrl+d) cannot be remapped
  • Validation warns about OS-specific conflicts (e.g., cmd+c on macOS)
Evidence

TJ() at line 358886 (KeybindingSetup component, initializes with "[keybindings] KeybindingSetup initialized"), Q_A() at line 213102 (returns keybindings.json path), g_5() at line 358862 (displays "keybinding-config-warning" notifications)

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.3 →