Command reference ยท Claude Code
/keybindings
Opens the keybindings file.
/keybindings opens your keyboard shortcut configuration file at ~/.claude/keybindings.json โ if it doesn't exist yet, it's created. The file is a JSON object with a bindings array: each block defines a context (e.g. Global, Chat, Settings, Transcript) and, within it, a mapping of key combinations to actions in the format namespace:action, such as chat:submit for sending a message or app:toggleTodos for showing/hiding the to-do list.
You can disable default shortcuts with null, combine multiple modifiers (ctrl+shift+c), and define key sequences (chords) like ctrl+k ctrl+s. Changes to the file are detected automatically and applied immediately โ no restart is needed. Some combinations like Ctrl+C, Ctrl+D, or Ctrl+M are reserved and can't be reassigned. When loading, Claude Code checks the file for parse errors, invalid contexts, and reserved or duplicate bindings, and writes warnings to the debug log (start with --debug for details).
โ WHEN TO USE IT?
Shortcut conflicts with another app
Open /keybindings and, for example, reassign the default shortcut for chat:externalEditor to a different combination if that shortcut is already taken by the terminal or tmux.
Create your own chord combination
Add an entry like "ctrl+k ctrl+s": "chat:stash" in the Chat context of the file to define your own key sequence.
โ WHEN NOT TO?
Just quickly check which shortcuts currently exist, without changing anything
/keybindings opens the editable file directly instead of a pure overview of the default configuration.
Better: Consult the tables in the docs about keyboard shortcuts instead of opening the file.
Remap Vim mode keys like 'jj' to Escape
According to the docs, Vim keys themselves can't be remapped via the keybindings file.
Better: Use the vimInsertModeRemaps setting to map INSERT mode key sequences.
SOURCES
- Claude Code docs (official) โ code.claude.com
MORE COMMANDS ยท Claude Code