メインコンテンツへスキップ
カスタマイズ可能なキーボードショートカットには Claude Code v2.1.18 以降が必要です。claude --version でバージョンを確認してください。
Claude Code はカスタマイズ可能なキーボードショートカットをサポートしています。/keybindings を実行して、~/.claude/keybindings.json に設定ファイルを作成または開きます。

設定ファイル

キーバインディング設定ファイルは、bindings 配列を持つオブジェクトです。各ブロックはコンテキストとキーストロークからアクションへのマップを指定します。
キーバインディングファイルへの変更は自動的に検出され、Claude Code を再起動することなく適用されます。
フィールド説明
$schemaエディタのオートコンプリート用のオプション JSON スキーマ URL
$docsオプションのドキュメント URL
bindingsコンテキスト別のバインディングブロックの配列
この例では、チャットコンテキストで Ctrl+E を外部エディタを開くにバインドし、Ctrl+U をアンバインドします。
{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "$docs": "https://code.claude.com/docs/ja/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null
      }
    }
  ]
}

コンテキスト

各バインディングブロックは、バインディングが適用されるコンテキストを指定します。
コンテキスト説明
Globalアプリ全体に適用
Chatメインチャット入力エリア
Autocompleteオートコンプリートメニューが開いている
Settings設定メニュー(Escape キーのみで閉じる)
Confirmation権限と確認ダイアログ
Tabsタブナビゲーションコンポーネント
Helpヘルプメニューが表示されている
Transcriptトランスクリプトビューア
HistorySearch履歴検索モード(Ctrl+R)
Taskバックグラウンドタスクが実行中
ThemePickerテーマピッカーダイアログ
Attachments画像/添付ファイルバーナビゲーション
Footerフッターインジケータナビゲーション(タスク、チーム、diff)
MessageSelector巻き戻しと要約ダイアログのメッセージ選択
DiffDialogDiff ビューアナビゲーション
ModelPickerモデルピッカー努力レベル
Select汎用選択/リストコンポーネント
Pluginプラグインダイアログ(参照、発見、管理)

利用可能なアクション

アクションは namespace:action 形式に従います。例えば、chat:submit はメッセージを送信し、app:toggleTodos はタスクリストを表示します。各コンテキストには特定のアクションが利用可能です。

アプリアクション

Global コンテキストで利用可能なアクション:
アクションデフォルト説明
app:interruptCtrl+C現在の操作をキャンセル
app:exitCtrl+DClaude Code を終了
app:toggleTodosCtrl+Tタスクリストの表示を切り替え
app:toggleTranscriptCtrl+O詳細トランスクリプトの表示を切り替え

履歴アクション

コマンド履歴をナビゲートするためのアクション:
アクションデフォルト説明
history:searchCtrl+R履歴検索を開く
history:previousUp前の履歴項目
history:nextDown次の履歴項目

チャットアクション

Chat コンテキストで利用可能なアクション:
アクションデフォルト説明
chat:cancelEscape現在の入力をキャンセル
chat:killAgentsCtrl+X Ctrl+Kすべてのバックグラウンドエージェントを終了
chat:cycleModeShift+Tab*権限モードをサイクル
chat:modelPickerCmd+P / Meta+Pモデルピッカーを開く
chat:fastModeMeta+O高速モードを切り替え
chat:thinkingToggleCmd+T / Meta+T拡張思考を切り替え
chat:submitEnterメッセージを送信
chat:undoCtrl+_最後のアクションを元に戻す
chat:externalEditorCtrl+G、Ctrl+X Ctrl+E外部エディタで開く
chat:stashCtrl+S現在のプロンプトを保存
chat:imagePasteCtrl+V(Windows では Alt+V)画像を貼り付け
*VT モードなし(Node <24.2.0/<22.17.0、Bun <1.2.23)の Windows では、デフォルトは Meta+M です。

オートコンプリートアクション

Autocomplete コンテキストで利用可能なアクション:
アクションデフォルト説明
autocomplete:acceptTab提案を受け入れ
autocomplete:dismissEscapeメニューを閉じる
autocomplete:previousUp前の提案
autocomplete:nextDown次の提案

確認アクション

Confirmation コンテキストで利用可能なアクション:
アクションデフォルト説明
confirm:yesY、Enterアクションを確認
confirm:noN、Escapeアクションを拒否
confirm:previousUp前のオプション
confirm:nextDown次のオプション
confirm:nextFieldTab次のフィールド
confirm:previousField(アンバインド)前のフィールド
confirm:cycleModeShift+Tab権限モードをサイクル
confirm:toggleExplanationCtrl+E権限説明を切り替え

権限アクション

権限ダイアログの Confirmation コンテキストで利用可能なアクション:
アクションデフォルト説明
permission:toggleDebugCtrl+D権限デバッグ情報を切り替え

トランスクリプトアクション

Transcript コンテキストで利用可能なアクション:
アクションデフォルト説明
transcript:toggleShowAllCtrl+Eすべてのコンテンツの表示を切り替え
transcript:exitCtrl+C、Escapeトランスクリプトビューを終了

履歴検索アクション

HistorySearch コンテキストで利用可能なアクション:
アクションデフォルト説明
historySearch:nextCtrl+R次のマッチ
historySearch:acceptEscape、Tab選択を受け入れ
historySearch:cancelCtrl+C検索をキャンセル
historySearch:executeEnter選択したコマンドを実行

タスクアクション

Task コンテキストで利用可能なアクション:
アクションデフォルト説明
task:backgroundCtrl+B現在のタスクをバックグラウンドに

テーマアクション

ThemePicker コンテキストで利用可能なアクション:
アクションデフォルト説明
theme:toggleSyntaxHighlightingCtrl+Tシンタックスハイライトを切り替え

ヘルプアクション

Help コンテキストで利用可能なアクション:
アクションデフォルト説明
help:dismissEscapeヘルプメニューを閉じる

タブアクション

Tabs コンテキストで利用可能なアクション:
アクションデフォルト説明
tabs:nextTab、Right次のタブ
tabs:previousShift+Tab、Left前のタブ

添付ファイルアクション

Attachments コンテキストで利用可能なアクション:
アクションデフォルト説明
attachments:nextRight次の添付ファイル
attachments:previousLeft前の添付ファイル
attachments:removeBackspace、Delete選択した添付ファイルを削除
attachments:exitDown、Escape添付ファイルバーを終了

フッターアクション

Footer コンテキストで利用可能なアクション:
アクションデフォルト説明
footer:nextRight次のフッター項目
footer:previousLeft前のフッター項目
footer:openSelectedEnter選択したフッター項目を開く
footer:clearSelectionEscapeフッター選択をクリア

メッセージセレクタアクション

MessageSelector コンテキストで利用可能なアクション:
アクションデフォルト説明
messageSelector:upUp、K、Ctrl+Pリストで上に移動
messageSelector:downDown、J、Ctrl+Nリストで下に移動
messageSelector:topCtrl+Up、Shift+Up、Meta+Up、Shift+K最上部にジャンプ
messageSelector:bottomCtrl+Down、Shift+Down、Meta+Down、Shift+J最下部にジャンプ
messageSelector:selectEnterメッセージを選択

Diff アクション

DiffDialog コンテキストで利用可能なアクション:
アクションデフォルト説明
diff:dismissEscapeDiff ビューアを閉じる
diff:previousSourceLeft前の Diff ソース
diff:nextSourceRight次の Diff ソース
diff:previousFileUpDiff の前のファイル
diff:nextFileDownDiff の次のファイル
diff:viewDetailsEnterDiff の詳細を表示
diff:back(コンテキスト固有)Diff ビューアで戻る

モデルピッカーアクション

ModelPicker コンテキストで利用可能なアクション:
アクションデフォルト説明
modelPicker:decreaseEffortLeft努力レベルを低下
modelPicker:increaseEffortRight努力レベルを増加

選択アクション

Select コンテキストで利用可能なアクション:
アクションデフォルト説明
select:nextDown、J、Ctrl+N次のオプション
select:previousUp、K、Ctrl+P前のオプション
select:acceptEnter選択を受け入れ
select:cancelEscape選択をキャンセル

プラグインアクション

Plugin コンテキストで利用可能なアクション:
アクションデフォルト説明
plugin:toggleSpaceプラグイン選択を切り替え
plugin:installI選択したプラグインをインストール

設定アクション

Settings コンテキストで利用可能なアクション:
アクションデフォルト説明
settings:search/検索モードに入る
settings:retryR使用状況データの読み込みを再試行(エラー時)

音声アクション

音声ディクテーションが有効な場合、Chat コンテキストで利用可能なアクション:
アクションデフォルト説明
voice:pushToTalkSpaceプロンプトをディクテートするために押し続ける

キーストロークシンタックス

モディファイア

+ セパレータでモディファイアキーを使用します。
  • ctrl または control - Control キー
  • altopt、または option - Alt/Option キー
  • shift - Shift キー
  • metacmd、または command - Meta/Command キー
例えば:
ctrl+k          単一キーとモディファイア
shift+tab       Shift + Tab
meta+p          Command/Meta + P
ctrl+shift+c    複数のモディファイア

大文字

スタンドアロンの大文字は Shift を意味します。例えば、Kshift+k と同等です。これは大文字と小文字のキーが異なる意味を持つ vim スタイルのバインディングに便利です。 モディファイア付きの大文字(例:ctrl+K)はスタイル的に扱われ、Shift を意味しませんctrl+Kctrl+k と同じです。

コード

コードはスペースで区切られたキーストロークのシーケンスです。
ctrl+k ctrl+s   Ctrl+K を押して、リリースしてから Ctrl+S

特殊キー

  • escape または esc - Escape キー
  • enter または return - Enter キー
  • tab - Tab キー
  • space - スペースバー
  • updownleftright - 矢印キー
  • backspacedelete - Delete キー

デフォルトショートカットをアンバインド

アクションを null に設定して、デフォルトショートカットをアンバインドします。
{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

予約済みショートカット

これらのショートカットは再バインドできません。
ショートカット理由
Ctrl+Cハードコードされた割り込み/キャンセル
Ctrl+Dハードコードされた終了
Ctrl+Mターミナルの Enter と同じ(どちらも CR を送信)

ターミナルの競合

一部のショートカットはターミナルマルチプレクサと競合する可能性があります。
ショートカット競合
Ctrl+Btmux プレフィックス(2 回押して送信)
Ctrl+AGNU screen プレフィックス
Ctrl+ZUnix プロセス一時停止(SIGTSTP)

Vim モードの相互作用

Vim モードが有効な場合(/vim)、キーバインディングと Vim モードは独立して動作します。
  • Vim モード はテキスト入力レベルで入力を処理します(カーソル移動、モード、モーション)
  • キーバインディング はコンポーネントレベルでアクションを処理します(todos を切り替え、送信など)
  • Vim モードの Escape キーは INSERT から NORMAL モードに切り替わります。chat:cancel をトリガーしません
  • ほとんどの Ctrl+key ショートカットは Vim モードを通過してキーバインディングシステムに渡されます
  • Vim NORMAL モードでは、? はヘルプメニューを表示します(Vim の動作)

検証

Claude Code はキーバインディングを検証し、以下の警告を表示します。
  • 解析エラー(無効な JSON または構造)
  • 無効なコンテキスト名
  • 予約済みショートカットの競合
  • ターミナルマルチプレクサの競合
  • 同じコンテキスト内の重複バインディング
/doctor を実行して、キーバインディングの警告を確認します。