本文へ移動
Claude Tips

キーボードショートカット

Claude Code のキーボードショートカットの全一覧と、keybindings.json でキーを割り当て直す方法(コンテキスト・アクション・キーの書き方)をまとめます。

Claude Code の操作キーを一覧にし、~/.claude/keybindings.json で自分の好みに変える方法を説明します。入力欄の接頭辞(!・@・/)や Vim モードなど、入力の仕組みは対話モードの操作にあります。

  • 既定のショートカットは、全般・テキスト編集・複数行入力・クイックコマンド・トランスクリプト・音声入力に分けて載せています
  • /keybindings を実行すると、設定ファイルが作られて開きます
  • 設定ファイルの変更は、再起動なしで自動的に反映されます
  • 割り当ては「コンテキスト」ごとに書き、操作は chat:submit のような「アクション」で指します
  • null を割り当てると、既定のキーを外せます

補足

ショートカットはプラットフォームやターミナルで変わります。macOS で Alt 系(Alt+B・Alt+F・Alt+D・Alt+Y・Alt+P)を使うには、ターミナルで Option を Meta として扱う設定が要ります。設定方法はターミナル・表示・音声入力を見てください。フルスクリーン表示のトランスクリプトでは ? を押すと、そこで使えるキーが出ます。

既定のショートカット#

全般#

ショートカット 動作 補足
Ctrl+C 中断、または入力のクリア 実行中の処理を中断する。何も動いていなければ、1回目で入力を消し、2回目で終了する
Ctrl+X Ctrl+K このセッションのバックグラウンドのサブエージェントをすべて止め、アーティファクトの自動返信もそのセッションの間は切る 3秒以内にもう一度押して確定する。バックグラウンドのサブエージェントの権限プロンプトが開いている間も押せる
Ctrl+D セッションを終了 1回目は確認の表示、800ms 以内の2回目で終了する。入力に文字があるときは、カーソルの後ろの1文字を消す
Ctrl+G または Ctrl+X Ctrl+E 既定のテキストエディタで開く プロンプトや回答を外部エディタで編集する。/config の「Show last response in external editor」を有効にすると、直前の返信が # コメントとして上に付き、保存時に取り除かれる
Ctrl+L 画面の再描画 入力と会話履歴は残したまま、端末全体を描き直す。表示が崩れたときに使う
Ctrl+O トランスクリプトの表示切り替え ツールの使用と実行の詳細、各返信の時刻とモデルを表示する。MCP 呼び出しなど既定で畳まれる行や、ほかのセッションからのメッセージも展開する
Ctrl+R コマンド履歴の逆方向検索 過去の入力を対話的に検索する
Ctrl+V、iTerm2 は Cmd+V、Windows と WSL は Alt+V クリップボードの画像を貼り付け カーソル位置に [Image #N] が入り、プロンプトの中で位置を指して参照できる。WSL では Ctrl+V と Alt+V の両方が有効。端末が Ctrl+V を横取りするなら Alt+V を使う
Ctrl+B 実行中のタスクをバックグラウンドへ Bash コマンドとエージェントが対象。tmux では2回押す
Ctrl+T Claude の ToDo チェックリストの表示切り替え ステータス領域に出し入れする。バックグラウンドタスクの画面ではなく、実行中のシェルやサブエージェントは /tasks で見る
Ctrl+S プロンプトの退避と復元 入力があれば退避して欄を空にする。空の欄でもう一度押すと、文字・カーソル位置・貼り付けた内容・入力モードを戻す。! のシェルコマンドはシェルモードで戻る
Ctrl+Z Claude Code を一時停止 Unix のみ。シェルへ戻り、fg で再開する
Left / Right ダイアログのタブを切り替え 権限ダイアログやメニューで、タブの行にフォーカスがあるときに切り替わる
Tab 補完候補の採用、または権限の回答にコメントを付ける 補完候補が出ているときは選択中の候補を採る。多くの権限プロンプトでは「Yes」「No」にフォーカスがあるとコメント欄が開き、もう一度押すと閉じる
Up / Down、または Ctrl+P / Ctrl+N カーソル移動、または履歴の移動 入力が複数の表示行にわたるときは、まず欄の中でカーソルが動く。最初か最後の行に来てからもう一度押すと履歴を辿る。メッセージをキューに入れている間は、最初の行での Up がキューを取り戻す
Esc Claude の中断、またはダイアログを閉じる 応答やツール呼び出しを途中で止めて方向を変えられる。それまでの作業は残る。キューにメッセージがあれば次に送られる。ダイアログが開いていれば閉じる。フッターの項目(プロンプトの下のサブエージェントパネルの行など)を選択中は、中断せず選択を外す。権限プロンプトでは、コメントなしの「No」と同じく拒否になる
Esc + Esc 入力の下書きを消す、または巻き戻し 入力に文字があれば消し、下書きは履歴に残って Up で戻せる。入力が空なら巻き戻しメニューが開く
Ctrl+Enter または Ctrl+X Ctrl+S キューのメッセージを今すぐ送る 書きかけの下書きも一緒に送る。シェルモードではコマンドをキューに入れるだけ。拡張キーを報告しない端末では Ctrl+Enter が Enter として届くので、どの端末でも使えるのは Ctrl+X Ctrl+S。v2.1.275 以降
Shift+Tab(Node や Bun の VT 入力モードが無効な Windows では Alt+M) 権限モードの切り替え default(モード表示では Manual)、acceptEdits、plan、使える場合は bypassPermissions、続けて auto の順に回る。auto からは1回で default に戻る。ファイルの権限プロンプトでは、開いているコメント欄を閉じ、欄が無ければ「このセッション中は許可」の選択肢を選ぶ
Option+P(macOS)/ Alt+P(Windows・Linux) モデルの切り替え プロンプトを消さずに切り替えられる
Option+T(macOS)/ Alt+T(Windows・Linux) 拡張思考のオン・オフ Opus 5.5・Sonnet 5.5・Fable 系のモデルは常に拡張思考を使うので効果がない。macOS では Option を Meta にしなくても動く
Option+O(macOS)/ Alt+O(Windows・Linux) fast mode のオン・オフ

権限モードは権限モード、モデルと fast mode はモデル・effort・fast modeを参照してください。

テキスト編集#

ショートカット 動作 補足
Ctrl+A 現在の行の先頭へ 複数行入力では、現在の論理行の先頭
Ctrl+E 現在の行の末尾へ 複数行入力では、現在の論理行の末尾
Ctrl+K 行末まで削除 削除した文字は貼り付け用に保存される
Ctrl+U カーソルから行頭まで削除 保存される。複数行入力では繰り返すと行をまたいで消える。macOS の iTerm2・Terminal.app などでは Cmd+Backspace がこの操作に当たる
Ctrl+W 直前の空白まで削除 保存される。パスや --flag=value が1回で消える。直前の単語だけ消すなら macOS は Option+Delete、Windows は Ctrl+Backspace
Ctrl+Y 削除した文字を貼り付け Ctrl+K・Ctrl+U・Ctrl+W など、単語や行の削除で最後に消した文字を貼る
Alt+Y(Ctrl+Y の後) 貼り付け履歴を順に切り替え 以前に削除した文字を辿る。macOS では Option を Meta にする必要がある
Alt+B 1単語戻る macOS では Option を Meta にする必要がある
Alt+F 1単語進む 現在の単語の末尾へ。単語の間にいるときは次の単語の末尾へ。macOS では Option を Meta にする必要がある
Alt+D 単語の末尾まで削除 保存される。macOS では Option を Meta にする必要がある
Ctrl+_ または Ctrl+Shift+- 直前の入力編集を取り消す 入力の文字とカーソル位置を前の状態に戻す

単語系のショートカット(Alt+B・Alt+F・Alt+D・Option+Delete・Ctrl+Backspace)は、英数字の連なりを1単語と数え、_・.・/ などの記号で区切ります。src/utils/foo.ts で Alt+B を繰り返すと、ts・foo・utils・src の頭で止まります。Ctrl+W は記号を無視して直前の空白まで消すので、1回で src/utils/foo.ts 全体が消えます。空白を置かない中国語や日本語でも、単語ごとに動きます。この挙動は v2.1.261 以降のもので、以前に有効化していた設定 keybindingFlavor は非推奨で効果がありません。これらのキーには設定ファイル側のアクションが無く、割り当て直せません。

テーマと表示#

ショートカット 動作 補足
Ctrl+T コードブロックのシンタックスハイライトの切り替え /theme のピッカーの中だけで効く。Claude の返信のコードに色を付けるかを決める

複数行入力#

方法 ショートカット 補足
手早い方法 \ + Enter どの端末でも動く
Option キー Option+Enter macOS で Option を Meta にしたあと
Shift+Enter Shift+Enter iTerm2・WezTerm・Ghostty・Kitty・Warp・Apple Terminal・Windows Terminal ではそのまま動く。ほかの端末はターミナル・表示・音声入力を見る
制御シーケンス Ctrl+J 設定なしでどの端末でも動く
貼り付け そのまま貼る コードブロックやログ向き

クイックコマンド#

入力 動作 補足
行頭の / コマンドまたはスキル スラッシュコマンド一覧・スキルを参照
行頭の ! シェルモード コマンドを直接実行し、出力をセッションに加えて Claude が応答する
@ ファイルパスのメンション パスの補完が出る。セッション間メッセージが使えるセッションでは、@ の後に1文字以上入力すると、同じマシンの生きているほかのセッションも候補に出る。v2.1.232 以降
: 絵文字ショートコード :name: を最後まで打つと絵文字になり、2文字以上で候補が出る。v2.1.217 以降
空の入力での ? ショートカットのヘルプパネルの表示切り替え 文字が入っているときの ? は、そのまま文字として入る

トランスクリプトビューア#

Ctrl+O で開いているときに使えます。どちらのレンダラーが有効かは、引数なしの /tui で確かめます。Ctrl+E は transcript:toggleShowAll で割り当て直せます。

ショートカット 動作
? キーボードショートカットのヘルプパネルの表示切り替え。フルスクリーン表示が必要
{ / } 前または次のユーザープロンプトへ移動する(vim の段落移動に似る)。フルスクリーン表示が必要
Ctrl+E すべての内容の表示切り替え。従来のレンダラーのみで、フルスクリーン表示では使えない
[ 会話全体を端末のスクロールバックへ書き出し、Cmd+F や tmux のコピーモードなどで検索できるようにする。フルスクリーン表示が必要
v 会話を一時ファイルに書き出し、$VISUAL または $EDITOR で開く。フルスクリーン表示が必要
q、Ctrl+C、Esc トランスクリプトを閉じる。3つとも transcript:exit で割り当て直せる

フルスクリーン表示の詳細はターミナル・表示・音声入力にあります。

音声入力#

ショートカット 動作 補足
Space を長押し、または軽く押す 音声ディクテーション 音声ディクテーションの有効化が必要。長押しで録音し、/voice tap でタップ切り替えにもできる。キーは割り当て直せる

設定ファイル#

~/.claude/keybindings.json は、bindings 配列を持つオブジェクトです。配列の要素は、コンテキストとキーとアクションの対応表の組です。

フィールド 説明
$schema エディタの補完用の JSON Schema の URL(省略可)
$docs ドキュメントの URL(省略可)
bindings コンテキストごとの割り当てブロックの配列

次の例は、Chat コンテキストで Ctrl+E を外部エディタの起動に割り当て、Ctrl+S を外します。

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
      }
    }
  ]
}

コンテキスト#

割り当てのブロックごとに、効く場面を context で指定します。

コンテキスト 効く場面
Global アプリ全体
Chat メインの入力欄
Autocomplete 補完メニューが開いているとき
Settings 設定メニュー
Confirmation 権限・確認のダイアログ
Tabs タブの移動部品
Help ヘルプメニューの表示中
Transcript トランスクリプトビューア
HistorySearch 履歴検索モード(Ctrl+R)
Task タスクがフォアグラウンドで動いているとき
ThemePicker テーマ選択ダイアログ
Attachments 選択ダイアログでの画像添付の移動
Footer フッターの項目(タスク・チーム・diff・アーティファクト)の移動
MessageSelector 巻き戻しと要約ダイアログのメッセージ選択
DiffDialog diff ビューア(組み込みの cc-plugin-diff mod を無効にしたときの /diff)の移動
DiffPanel diff パネルが開いているとき
Pane Mod(モッド)が描いたペインにキーボードフォーカスがあるとき
PaneField Mod のペインの中の入力欄か選択欄にキーボードフォーカスがあるとき
ModelPicker モデルピッカーの effort レベル
EffortSlider /effort で開く effort スライダー
Select 汎用の選択・リスト部品
Plugin プラグインのダイアログ(探す・見つける・管理)
Agents エージェントビュー(claude agents)
Scroll フルスクリーン表示での会話のスクロールとテキスト選択

v2.1.205 より前には、/doctor の診断画面向けの Doctor コンテキストと doctor:fix アクションがありました。

アクション#

アクションは chat:submit(メッセージ送信)や app:toggleTodos(タスクリストの表示)のように 名前空間:動作 の形です。使えるアクションはコンテキストごとに決まっています。

App(Global)#

アクション 既定 説明
app:interrupt Ctrl+C 現在の操作を中止
app:exit Ctrl+D 終了。800ms 以内に2回押して確定
app:redraw (未割り当て) 端末の再描画
app:toggleTodos Ctrl+T Claude の ToDo チェックリストの表示切り替え。/tasks の画面とは別
app:toggleTranscript Ctrl+O 詳細なトランスクリプトの切り替え

History#

アクション 既定 説明
history:search Ctrl+R 履歴検索を開く
history:previous Up 前の履歴
history:next Down 次の履歴

Chat#

アクション 既定 説明
chat:cancel Escape 現在の入力を取り消す
chat:clearInput Ctrl+L 入力と会話を残したまま画面全体を再描画
chat:clearScreen Cmd+K chat:clearInput と同じ。iTerm2 と Terminal.app での Cmd+K の挙動はフルスクリーン表示の説明を参照
chat:killAgents Ctrl+X Ctrl+K このセッションのバックグラウンドのサブエージェントをすべて止め、アーティファクトの自動返信も切る。3秒以内にもう一度押して確定する。バックグラウンドのサブエージェントの権限プロンプトが開いている間も押せる
chat:cycleMode Shift+Tab* 権限モードを切り替え
chat:modelPicker Meta+P モデルピッカーを開く
chat:fastMode Meta+O fast mode の切り替え
chat:thinkingToggle Meta+T 拡張思考の切り替え
chat:submit Enter メッセージを送信
chat:queueSubmit Ctrl+X Enter 順番を待つ形で送信する。Claude が作業中ならキューに入り、ターンを中断しない。chat:submit と違い、補完候補が選択中でも下書きを送る。v2.1.247 以降
chat:sendNow Ctrl+Enter、Ctrl+X Ctrl+S キューのメッセージと下書きを今すぐ送る。何も動いていなければ下書きを送信し、シェルモードではコマンドをキューに入れるだけ。v2.1.275 以降
chat:newline Ctrl+J 送信せずに改行を入れる
chat:undo Ctrl+_、Ctrl+Shift+- 直前の操作を取り消す
chat:externalEditor Ctrl+G、Ctrl+X Ctrl+E 外部エディタで開く。エージェントビューの送信入力も、このアクションの1キーの割り当てに従う
chat:stash Ctrl+S 現在のプロンプトを退避
chat:imagePaste Ctrl+V(Windows と WSL は Alt+V) クリップボードの画像を貼り付け。WSL では両方が既定で有効

*VT モードが無効な Windows(Node が 24.2.0 未満・22.17.0 未満、または Bun が 1.2.23 未満)では、既定が Meta+M になります。

Autocomplete#

アクション 既定 説明
autocomplete:accept Tab 候補を採用
autocomplete:dismiss Escape メニューを閉じる
autocomplete:previous Up 前の候補
autocomplete:next Down 次の候補

Confirmation#

アクション 既定 説明
confirm:yes Enter 承認
confirm:no Escape 拒否
confirm:previous Up 前の選択肢
confirm:next Down 次の選択肢
confirm:nextField Tab 次の欄
confirm:previousField (未割り当て) 前の欄
confirm:toggle Space 選択の切り替え
confirm:cycleMode Shift+Tab* 権限モードを切り替え。ファイルの権限プロンプトでは開いているコメント欄を閉じ、欄が無ければ「このセッション中は許可」の選択肢を選ぶ
permission:toggleDebug (未割り当て) 権限のデバッグ情報の切り替え。以前の既定の Ctrl+D は app:exit を覆い隠すため v2.1.146 で外された

ダイアログは、はい・いいえを聞く形でなくても confirm:yes と confirm:no で承認と取り消しを行います。y や n のような素の文字をこのコンテキストに割り当てると、その文字を表示していないダイアログにも効きます。y・n をキーとして表示するダイアログは、それらの文字を自分で読むので割り当てが要りません。多くのダイアログでは Ctrl+C か Ctrl+D を2回押すと、Claude Code を終了せずにダイアログだけが閉じます。この2つは予約済みで割り当て直せません。

次の例は、y を承認に、n を拒否に割り当てます。

json
{
  "bindings": [
    {
      "context": "Confirmation",
      "bindings": {
        "y": "confirm:yes",
        "n": "confirm:no"
      }
    }
  ]
}

この割り当てでも、後述のテキスト欄にフォーカスがある間は y と n は文字として入力できます。v2.1.280 より前は、y と n が既定でこの2つに割り当てられていました。それより前に /keybindings で作ったファイルにはその2行が書かれており、消すまで効き続けます。v2.1.257 より前には、Bash と PowerShell の権限プロンプトで、コマンドの説明をモデルに生成させて表示する confirm:toggleExplanation(既定は Ctrl+E)がありました。

Transcript#

アクション 既定 説明
transcript:toggleShowAll Ctrl+E すべての内容の表示切り替え。従来のレンダラーのみ
transcript:exit q、Ctrl+C、Escape トランスクリプトを閉じる

HistorySearch#

アクション 既定 説明
historySearch:next Ctrl+R 次の一致
historySearch:accept Escape、Tab 選択を採用
historySearch:cancel Ctrl+C 検索を取り消す
historySearch:execute Enter 選択したコマンドを実行
historySearch:cycleScope Ctrl+S 範囲(セッション・プロジェクト・すべて)を切り替え

next・accept・cancel・execute の既定は、従来のレンダラーのインライン検索に効きます(常にすべてのプロジェクトのプロンプトを検索します)。historySearch:cycleScope が効くのはフルスクリーン表示だけで、そこでは Ctrl+R が検索ダイアログを開き、Ctrl+S で範囲が切り替わります。ダイアログのほかのキーは固定です(Enter か Tab で候補を入力欄に入れ、Esc で取り消し)。

Task#

アクション 既定 説明
task:background Ctrl+B、Ctrl+X Ctrl+B 現在のタスクをバックグラウンドへ。Ctrl+X Ctrl+B は tmux のプレフィックスとの衝突を避ける

ThemePicker・Help#

アクション 既定 説明
theme:toggleSyntaxHighlighting Ctrl+T シンタックスハイライトの切り替え(ThemePicker)
help:dismiss Escape ヘルプメニューを閉じる(Help)

Tabs#

アクション 既定 説明
tabs:next Tab、Right 次のタブ
tabs:previous Shift+Tab、Left 前のタブ

タブ付きダイアログでは、タブの行にフォーカスがある間にタブが切り替わります。/help や /sandbox などでは、タブの中身の中からも切り替えられます。Up と Down でタブの行と中身の間をフォーカスが移り、中身のリストはフォーカスがある間だけキーに反応します。

Attachments#

アクション 既定 説明
attachments:next Right 次の添付
attachments:previous Left 前の添付
attachments:remove Backspace、Delete 選択した添付を削除
attachments:exit Down、Escape 添付の移動を抜ける
アクション 既定 説明
footer:next Right 次のフッター項目
footer:previous Left 前のフッター項目
footer:up Up フッター内で上へ(最上段で選択解除)
footer:down Down フッター内で下へ
footer:openSelected Enter 選択した項目を開く
footer:clearSelection Escape 選択を解除
footer:dismiss (未割り当て) キーを割り当てても効果はないが、このアクション名を書いたファイルは有効なまま。v2.1.281 より前は Backspace と Delete が割り当てられ、選択したアーティファクトのリンクをフッターから消していた

フッターの項目(プロンプトの下のエージェントパネルの行など)を選択している間は、Chat で Enter を chat:queueSubmit や chat:newline に割り当て直していても、Enter で項目が開きます。Footer が割り当てていないキー(chat:cycleMode の Shift+Tab など)の Chat の割り当ては、項目の選択中も効きます。

MessageSelector#

巻き戻しメニューのメッセージ一覧では、後述の Select アクションとその既定のキーでメッセージを移動して選びます。Select への割り当てもここに効きます。MessageSelector コンテキスト自体にアクションと既定のキーはありません。この一覧だけキーを変えたいときに使い、MessageSelector のブロックで select:accept などの Select アクションを割り当てます。

次の例は、巻き戻しメニューで強調中のメッセージを o で選べるようにします(ほかのリストは変わりません)。

json
{
  "bindings": [
    {
      "context": "MessageSelector",
      "bindings": {
        "o": "select:accept"
      }
    }
  ]
}

v2.1.283 より前は、この一覧は Select の割り当てを無視し、独自の messageSelector:up・messageSelector:down・messageSelector:top・messageSelector:bottom・messageSelector:select を持っていました。これらの名前を書いた keybindings.json は、同じ動作の Select アクションとして今も効きます。Home と End は一覧の両端へ移動します(v2.1.283 より前は Shift+K と Shift+J などが既定でした)。

DiffDialog(diff ビューア)#

ここのアクションが効くのは、Claude Code の従来の diff ビューアだけです。フルスクリーン表示でない /diff は、組み込みの cc-plugin-diff mod(/plugin で無効にできる)が有効なあいだ diff ダイアログを開きます。この従来のビューアが開くのは、mod を無効にしたあとだけです。これらのアクションを書いた keybindings.json は、どちらの場合もエラーなく読み込まれます。

アクション 既定 説明
diff:dismiss Escape diff ビューアを閉じる。詳細表示からはファイル一覧に戻る
diff:previousSource Left 前の diff の取得元
diff:nextSource Right 次の diff の取得元
diff:previousFile Up、K ファイル一覧では前のファイル、詳細表示では1行上へスクロール
diff:nextFile Down、J ファイル一覧では次のファイル、詳細表示では1行下へスクロール
diff:back (未割り当て) diff ビューアで戻る。Escape は diff:dismiss で戻る動作をする。詳細表示での Left の既定は v2.1.203 で外された

ファイル一覧は Select アクションにも反応します。select:previous と select:next で前後のファイルへ移り、Enter は select:accept で選んだファイルの diff を開きます。一覧だけキーを変えるなら、DiffDialog のブロックに Select アクションを割り当てます。v2.1.283 より前は、一覧は Select の割り当てを無視し、Enter は別アクション diff:viewDetails でした。この名前を書いたファイルは、一覧で select:accept として効き続けます。

diff の詳細表示には、ページャ風のキーが標準のスクロールアクションに割り当てられています。これらは DiffDialog の一部で詳細表示だけに効き、Scroll コンテキストの既定は変わりません。

アクション 既定 説明
scroll:pageUp PageUp 画面の半分だけ上へ
scroll:pageDown PageDown 画面の半分だけ下へ
scroll:fullPageUp Shift+Space、B 画面1枚分上へ
scroll:fullPageDown Space 画面1枚分下へ
scroll:top G、Home 先頭へ
scroll:bottom Shift+G、End 末尾へ

Diff パネル#

フルスクリーン表示で /diff が開く diff パネルのアクションです。app:cycleDiffBase はパネルが開いている間だけ有効な DiffPanel コンテキスト、ほかは Global です。

このパネルは、組み込みの cc-plugin-diff mod が描きます。mod が扱うのは app:cycleDiffBase・app:diffFileListUp・app:diffFileListDown です。app:toggleReplTab・app:toggleDiffNoiseFilter・app:toggleDiffPreSession が届くのは、/plugin で cc-plugin-diff を無効にしたときに /diff が開く従来のパネルだけです。

アクション 既定 説明
app:toggleReplTab (未割り当て) diff パネルを開閉する
app:cycleDiffBase Ctrl+X B 比較の基準を、このセッション、未コミット、ブランチの順に切り替え
app:diffFileListUp Ctrl+Up、Meta+Up ファイル一覧があふれるとき、一覧を上へスクロール
app:diffFileListDown Ctrl+Down、Meta+Down ファイル一覧があふれるとき、一覧を下へスクロール
app:toggleDiffNoiseFilter (未割り当て) テストファイルと生成ファイルの表示・非表示
app:toggleDiffPreSession (未割り当て) このセッションより前の変更の展開・折りたたみ

ModelPicker#

アクション 既定 説明
modelPicker:decreaseEffort Left effort レベルを下げる
modelPicker:increaseEffort Right effort レベルを上げる
modelPicker:thisSessionOnly s 強調中のモデルをこのセッションだけに適用

EffortSlider#

/effort を引数なしで実行すると開くスライダーのアクションです。スライダーの Enter と Escape は割り当て直せません。

アクション 既定 説明
effortSlider:decreaseEffort Left スライダーを1段低い effort に動かす。v2.1.284 以降
effortSlider:increaseEffort Right スライダーを1段高い effort に動かす。v2.1.284 以降
effortSlider:toggleUltracode Tab スライダーが ultracode を出しているとき、このセッションの ultracode をオン・オフする。v2.1.284 以降
effortSlider:thisSessionOnly s 選択中の effort レベルをこのセッションだけに適用。v2.1.257 以降

Select#

アクション 既定 説明
select:next Down、J、Ctrl+N 次の選択肢
select:previous Up、K、Ctrl+P 前の選択肢
select:pageUp PageUp 1ページ上へ
select:pageDown PageDown 1ページ下へ
select:first Home 最初の選択肢
select:last End 最後の選択肢
select:accept Enter 選択を確定
select:cancel Escape 選択を取り消す

/skills・/mcp・/tasks のようなリストパネルでは、select:pageUp・select:pageDown・select:first・select:last の割り当てが効きます。/model ピッカーなどそれ以外の多くのリストでは select:first と select:last の割り当てが効き、PageUp と PageDown は割り当てに関係なくページ送りになります。v2.1.280 より前は、それらのリストは Home・End と、select:first・select:last の割り当てを無視しました。v2.1.283 より前は、/mcp のツール一覧は割り当てに関係なく固定の PageUp・PageDown でページ送りしていました。

Plugin#

アクション 既定 説明
plugin:toggle Space プラグインの選択を切り替え
plugin:install I 選択したプラグインをインストール
plugin:favorite F 選択したプラグインをお気に入りにし、Installed タブの上のほうに並べる

Settings#

Settings コンテキストでは、select:accept と confirm:no を設定画面向けの動作で使い回します。変更は1項目ごとにすぐ適用されるので、Escape は拒否ではなく、変更を保存したままパネルを閉じます。

アクション 既定 説明
settings:search / 検索モードに入る
settings:retry R 使用量データの読み込みエラー時に再試行
select:accept Enter、Space 選んだ設定を変更する、またはサブメニューを開く
confirm:no Escape パネルを閉じる。変更は保存済み

Agents#

エージェントビュー(claude agents)で効く Agents コンテキストです。v2.1.257 以降。

アクション 既定 説明
agents:switchView Ctrl+S セッションのグループ分けを、状態別とディレクトリ別で切り替え
agents:togglePin Ctrl+T 選択したセッションのピン留めを切り替え
agents:find Ctrl+F 名前でセッションを探す(n: フィルター)。v2.1.288 以降
agents:rename Ctrl+R 選択したセッションの名前を変える。v2.1.288 以降
agents:previousGroup Ctrl+Up、Meta+Up 前のグループの見出しへ移る。v2.1.288 以降
agents:nextGroup Ctrl+Down、Meta+Down 次のグループの見出しへ移る。v2.1.288 以降

エージェントビューを開いている間、Agents が割り当てているキーは Agents の割り当てが使われ、同じキーの Chat や Global の割り当ては無視されます。たとえば Ctrl+S は、既定の chat:stash ではなくグループ分けの切り替えになります。送信入力の外部エディタのキーは Agents のアクションではなく、Chat の chat:externalEditor(既定は Ctrl+G)に従います。エージェントビューでは1キーの割り当てだけが動くので、Ctrl+X Ctrl+E の連続キーはエディタを開きません。

Voice#

音声ディクテーションが有効なとき、Chat コンテキストで使えます。

アクション 既定 説明
voice:pushToTalk Space プロンプトを音声で入力する。/voice のモードにより、長押しまたはタップ

Scroll#

フルスクリーン表示が有効なときの Scroll コンテキストです。

アクション 既定 説明
scroll:lineUp wheelup 1行上へ。マウスホイールのスクロールがこのアクションを呼ぶ
scroll:lineDown wheeldown 1行下へ。マウスホイールのスクロールがこのアクションを呼ぶ
scroll:pageUp PageUp 画面の高さの半分だけ上へ
scroll:pageDown PageDown 画面の高さの半分だけ下へ
scroll:top Ctrl+Home 会話の先頭へ
scroll:bottom Ctrl+End 最新のメッセージへ移り、自動追従を再び有効にする
scroll:halfPageUp (未割り当て) 画面の半分だけ上へ。scroll:pageUp と同じで、vi 風の割り当て用
scroll:halfPageDown (未割り当て) 画面の半分だけ下へ。scroll:pageDown と同じで、vi 風の割り当て用
scroll:fullPageUp (未割り当て) 画面1枚分上へ
scroll:fullPageDown (未割り当て) 画面1枚分下へ
selection:copy Ctrl+Shift+C / Cmd+C 選択したテキストをクリップボードへコピー
selection:clear (未割り当て) 選択を解除。v2.1.234 以降
selection:extendLeft Shift+Left 選択を1桁左へ広げる
selection:extendRight Shift+Right 選択を1桁右へ広げる
selection:extendUp Shift+Up 選択を1行上へ広げる。上端に達すると表示がスクロールする
selection:extendDown Shift+Down 選択を1行下へ広げる。下端に達すると表示がスクロールする
selection:extendLineStart Shift+Home 選択を行頭まで広げる
selection:extendLineEnd Shift+End 選択を行末まで広げる

キーの書き方#

修飾キー#

修飾キーは + でつなぎます。

書き方 意味
ctrl、control Control キー
shift Shift キー
alt、opt、option、meta Windows・Linux では Alt、macOS では Option
cmd、command、super、win macOS では Command、Windows では Windows キー、Linux では Super

cmd の仲間は、Super 修飾キーを報告する端末(Kitty キーボードプロトコルや xterm の modifyOtherKeys モードに対応した端末)でしか検出されません。多くの端末は送らないので、どこでも動かしたい割り当てには ctrl か meta を使います。

text
ctrl+k          Ctrl + K
shift+tab       Shift + Tab
meta+p          macOS では Option + P、それ以外では Alt + P
ctrl+shift+c    修飾キーを複数

キー名は大文字小文字を区別せず、K と k、ctrl+K と ctrl+k は同じ割り当てです。Shift と文字を組み合わせるなら shift+k と書きます。

英語配列以外のキーボード#

Ctrl のショートカットのキー名は、いま使っている配列がほかの文字を打つ場合でも、ラテン文字で書きます。

  • キリル文字のような非ラテン配列では、端末が Kitty キーボードプロトコルを使いキーの位置を報告する場合に、US 配列での位置で Ctrl のショートカットが照合されます。ロシア語配列で Ctrl と物理的な W キーを押すと ctrl+w になります。位置を報告しない端末では、端末が送ったものがそのまま照合されます。ASCII の制御コードならラテン文字のショートカットが働き、キリル文字として届いたキー入力はどの割り当てにも一致しません
  • AZERTY のようにラテン文字を並べ替えた配列では、そのキーが打つ文字で照合されます。Ctrl と「A」と書かれたキーを押すと ctrl+a になります

コード(連続キー)#

スペースで区切ったキーの並びがコード(chord)です。

text
ctrl+k ctrl+s   Ctrl+K を押して離し、続けて Ctrl+S

各キーは直前のキーから3秒以内に押します。超えると、コードは取り消され、短い通知が出ます。

特殊キー#

書き方 キー
escape、esc Escape
enter、return Enter
tab Tab
space スペースバー
up、down、left、right 矢印キー
pageup、pagedown Page Up・Page Down
home、end Home・End
backspace、delete 削除キー
wheelup、wheeldown マウスホイールのスクロール

既定のキーを外す#

アクションに null を割り当てると、既定のショートカットを外せます。

json
{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

コードでも同じです。同じプレフィックスを持つコードをすべて外すと、そのプレフィックスを1キーの割り当てに使えます。有効なコンテキストのどれかにコードが残っていれば、プレフィックスは予約されたままなので、コードを定義しているコンテキストごとに外します。

既定で ctrl+x をプレフィックスにしているコードは、コンテキストごとに次のとおりです。

  • Chat:ctrl+x ctrl+k・ctrl+x ctrl+e・ctrl+x enter・ctrl+x ctrl+a・ctrl+x ctrl+s・ctrl+x tab
  • Task:ctrl+x ctrl+b
  • DiffPanel:ctrl+x b
  • Pane:ctrl+x left・ctrl+x right・ctrl+x up・ctrl+x down・ctrl+x x
  • PaneField:ctrl+x x

ctrl+x enter は v2.1.247 以降、ctrl+x b・ctrl+x ctrl+a・ctrl+x tab は v2.1.260 以降、ctrl+x ctrl+s は v2.1.275 以降が必要です。

ctrl+x 自体を1キーの割り当てに取り戻すには、これらをすべて外します。

json
{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+x ctrl+b": null
      }
    },
    {
      "context": "DiffPanel",
      "bindings": {
        "ctrl+x b": null
      }
    },
    {
      "context": "Pane",
      "bindings": {
        "ctrl+x left": null,
        "ctrl+x right": null,
        "ctrl+x up": null,
        "ctrl+x down": null,
        "ctrl+x x": null
      }
    },
    {
      "context": "PaneField",
      "bindings": {
        "ctrl+x x": null
      }
    },
    {
      "context": "Chat",
      "bindings": {
        "ctrl+x ctrl+k": null,
        "ctrl+x ctrl+e": null,
        "ctrl+x enter": null,
        "ctrl+x ctrl+a": null,
        "ctrl+x ctrl+s": null,
        "ctrl+x tab": null,
        "ctrl+x": "chat:newline"
      }
    }
  ]
}

プレフィックスのコードを一部だけ外した場合、残りの割り当てのために、プレフィックスを押すとコード待ちの状態に入ります。

割り当て直せないキー#

ショートカット 理由
Ctrl+C 中断・取り消しとして固定
Ctrl+D 終了として固定
Ctrl+M Claude Code には常に Enter として届く
Ctrl+[ 常に Escape として届く。Kitty キーボードプロトコルの端末では v2.1.242 以降
Ctrl+I 常に Tab として届く
Ctrl+H ASCII のバックスペースを送る。Windows での扱いは端末と CLAUDE_CODE_BS_AS_CTRL_BACKSPACE 環境変数で変わる
Caps Lock 端末アプリには届かない

端末との衝突#

ターミナルマルチプレクサなどのショートカットとぶつかることがあります。

ショートカット 衝突相手
Ctrl+B tmux のプレフィックス(2回押すと送られる)
Ctrl+A GNU screen のプレフィックス
Ctrl+Z Unix のプロセス一時停止(SIGTSTP)

テキスト欄#

素の文字・数字・Space を割り当てても、ダイアログやパネルの中のテキスト欄では、その文字を入力できます。Claude が聞いてくる質問の「Other」の回答欄がその例です。欄にフォーカスがある間、Ctrl・Alt・Cmd なしで押した文字キーは欄に入り、割り当てとは照合されません。

次のキーは、欄にフォーカスがあっても割り当てが動きます。

  • 文字を打たないキー(Enter・Escape・Tab・矢印キー)
  • Ctrl・Alt・Cmd と一緒に押したキー
  • すでに始まっているコードの2打目

メインのプロンプトでは、すべてのキーを Chat などの有効なコンテキストと照合し、どの割り当ても取らなかったキーだけが文字として入ります。

Vim モードとの関係#

/config の Editor mode で Vim モードを有効にしているとき、Vim モードとキー割り当ては別々に動きます。

  • Vim モードは入力欄の中の動き(カーソル移動・モード・モーション)を扱い、キー割り当ては、ToDo の表示や送信のような部品レベルの動作を扱う
  • Vim モードの Escape は INSERT から NORMAL への切り替えで、chat:cancel は呼ばない
  • ほとんどの Ctrl キーのショートカットは Vim モードを通り抜けてキー割り当てへ届く
  • Vim のキーは設定ファイルでは割り当て直せない。jj のような2キーの INSERT モードの並びを Escape にしたいときは、設定 vimInsertModeRemaps を使う(対話モードの操作を参照)
  • NORMAL モードの ? は、Vim の挙動でヘルプメニューを出す
  • NORMAL モードの / は、標準モードの Ctrl+R と同じく履歴検索を開く

検証#

Claude Code は、割り当てファイルを検証し、次の場合にデバッグログへ警告を書きます。

  • 解析エラー(不正な JSON や構造)
  • ctl+k のような、綴りの誤った修飾キー。分からない部分は捨てられ、残ったキー(この例では k)への割り当てとして適用される
  • 不正なコンテキスト名
  • 文字列でも null でもないアクション値などの不正な値
  • 登録済みアクションの綴り違いなど、未知のアクション名。その割り当ては飛ばされ、そのキーの既定の割り当てが残る
  • 予約済みのショートカットとの衝突
  • 同じコンテキスト内の重複した割り当て

詳細を見るには、--debug を付けて Claude Code を起動します。

公式ドキュメント(英語)

2026年10月5日時点の内容をもとに、日本語でまとめています。

ページの一覧