← ClaudeAtlas

keybindings-helplisted

Use when customizing terminal keybindings, shortcut mappings, or key combinations
imMamdouhaboammar/get-fable · ★ 4 · AI & Automation · score 70
Install: claude install-skill imMamdouhaboammar/get-fable
# Keybindings Skill Create or modify `~/.claude/keybindings.json` to customize keyboard shortcuts. ## CRITICAL: Read Before Write **Always read `~/.claude/keybindings.json` first** (it may not exist yet). Merge changes with existing bindings — never replace the entire file. - Use **Edit** tool for modifications to existing files - Use **Write** tool only if the file does not exist yet ## File Format ```json { "$schema": "https://www.schemastore.org/claude-code-keybindings.json", "$docs": "https://code.claude.com/docs/en/keybindings", "bindings": [ { "context": "Chat", "bindings": { "ctrl+e": "chat:externalEditor" } } ] } ``` Always include the `$schema` and `$docs` fields. ## Keystroke Syntax **Modifiers** (combine with `+`): - `ctrl` (alias: `control`) - `alt` (aliases: `opt`, `option`) — note: `alt` and `meta` are identical in terminals - `shift` - `meta` (aliases: `cmd`, `command`) **Special keys**: `escape`/`esc`, `enter`/`return`, `tab`, `space`, `backspace`, `delete`, `up`, `down`, `left`, `right` **Chords**: Space-separated keystrokes, e.g. `ctrl+k ctrl+s` (1-second timeout between keystrokes) **Examples**: `ctrl+shift+p`, `alt+enter`, `ctrl+k ctrl+n` ## Unbinding Default Shortcuts Set a key to `null` to remove its default binding: ```json { "context": "Chat", "bindings": { "ctrl+s": null } } ``` ## How User Bindings Interact with Defaults - User bindings are **additive** — they are appended after the