Claude Codeのキー操作は、keybindings.json で変えられます。
公式ドキュメントから、設定ファイルの作り方と書き方を整理しました。
- /keybindings で ~/.claude/keybindings.json を作って開く
- 変更は、再起動しなくても自動で反映される
- 解除したいキーは、値を null にする
- Ctrl+Cなど一部のキーは割り当て直せない
キー操作の実機での再現は含まず、公式ページの記載(2026年9月30日に確認)に基づきます。
仕様や数値は変わることがあるので、最新は公式ページで確かめてください。
設定ファイルの作り方
Claude Codeで /keybindings を実行すると、~/.claude/keybindings.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",
"ctrl+s": null
}
}
]
}bindings の配列に、コンテキストごとのブロックを並べます。
ブロックの中では、キーを左に、動作を右に書きます。
値を null にすると、そのキーの割り当てを解除できます。
コンテキスト
キーは、画面の状態(コンテキスト)ごとに割り当てます。
- Global:どこでも有効
- Chat:入力欄
- Autocomplete:補完の候補
- Settings:設定画面
- Confirmation:確認の画面
- Transcript:会話の記録
- HistorySearch:履歴の検索
ほかにも、Tabs、Help、Task、ThemePicker、Select、Plugin、Agents、Scrollなどがあります。
全一覧は公式ページにあります。
動作の名前と既定のキー
動作の名前は namespace:action の形です。
| 動作 | 既定のキー |
|---|---|
| chat:submit | Enter |
| chat:newline | Ctrl+J |
| chat:externalEditor | Ctrl+G、または Ctrl+X のあとに Ctrl+E |
| chat:stash | Ctrl+S |
| chat:cycleMode | Shift+Tab |
| chat:modelPicker | Meta+P |
| app:toggleTodos | Ctrl+T |
| app:toggleTranscript | Ctrl+O |
| history:search | Ctrl+R |
| chat:imagePaste | Ctrl+V(WindowsとWSLは Alt+V) |
動作の名前には、バージョンで追加されたものがあります。
たとえば chat:queueSubmit は v2.1.247以降、chat:sendNow は v2.1.275以降と公式に書かれています。
キーの書き方
- 修飾キーは + でつなぐ(ctrl、shift、alt、opt、option、meta、cmd、command、super、win)
- 大文字と小文字は区別されない
- 連続するキー(コード)は、スペースで区切る。例は ctrl+k ctrl+s
- 連続キーは、それぞれ3秒以内に押す
cmd系のキーは、Kittyプロトコルなど、Superキーを報告するターミナルでだけ有効です。
広く使うなら、ctrlかmetaが無難です。
割り当て直せないキー
次のキーは、割り当て直せません。
- Ctrl+C
- Ctrl+D
- Ctrl+M
- Ctrl+[
- Ctrl+I
- Ctrl+H
- Caps Lock
ターミナル側と衝突するキーもあります。
- Ctrl+B:tmuxが使う
- Ctrl+A:screenが使う
- Ctrl+Z:SIGTSTP(一時停止)になる
Vimモードのキー
Vimモードのキーは、keybindings.json では変えられません。
jjでEscapeにするような割り当ては、vimInsertModeRemaps の設定で行います。
うまく動かないとき
不正な設定があると、警告がデバッグログに出ます。
claude –debug で起動して確かめます。
未知の動作名を書いたときは、その割り当てが無視されて既定のままになります。
これは v2.1.246以降の説明です。
Windowsでの各ターミナルごとの違いは、今回確認できていません。
