Interactive mode
概要
Claude Code の対話セッションにおけるキーボードショートカット、入力モード、対話機能のリファレンス。
仕様
一般操作
| ショートカット | 説明 |
|---|---|
Ctrl+C | 実行中の操作を中断する。何も実行中でなければ 1 回目でプロンプト入力をクリアし、2 回目で Claude Code を終了する |
Ctrl+X Ctrl+K | このセッションのバックグラウンド subagent をすべて停止する。3 秒以内に 2 回押して確定する |
Ctrl+D | セッションを終了する。1 回目で確認ヒントを表示し、800ms 以内の 2 回目で終了する。プロンプトにテキストがある場合はカーソル後の文字を削除する |
Ctrl+G または Ctrl+X Ctrl+E | 既定のテキストエディタで開く。Ctrl+X Ctrl+E は readline ネイティブのバインディング。/config の Show last response in external editor を有効にすると、Claude の直前の返信が # コメントとしてプロンプトの上に付き、保存時に除去される |
Ctrl+L | 画面を再描画する。入力と会話履歴は保つ。fullscreen rendering では 1 回押すと再描画に加えて「もう一度押すと /clear」のヒントを出し、2 秒以内に 2 回押すと /clear を実行する |
Ctrl+O | transcript viewer をトグルする。ツールの使用と実行の詳細、各アシスタントメッセージのタイムスタンプと使用モデルを表示する。既定で "Called slack 3 times" のように 1 行に畳まれる MCP 呼び出しも展開する |
Ctrl+R | コマンド履歴を逆方向検索する |
Ctrl+V、iTerm2 では Cmd+V、Windows / WSL では Alt+V | クリップボードから画像を貼り付ける。カーソル位置に [Image #N] チップを挿入する。WSL では Ctrl+V と Alt+V の両方がバインドされている |
Ctrl+B | 実行中のタスクをバックグラウンド化する(Bash コマンドと agent)。tmux ユーザーは 2 回押す |
Ctrl+T | Claude のタスクチェックリストをトグルする。バックグラウンドタスクの表示ではない(そちらは /tasks) |
Ctrl+S | プロンプトを stash / 復元する。入力があれば stash してクリアし、空のプロンプトで再度押すと stash したテキスト・カーソル位置・貼り付け内容を復元する |
Ctrl+Z | Claude Code をサスペンドする(Unix のみ)。fg で再開する |
Left/Right | permission dialog やメニューのタブを切り替える |
Up/Down または Ctrl+P / Ctrl+N | 入力が複数表示行にわたる場合はまずプロンプト内でカーソルを移動する。先頭行または最終行にいる状態でもう一度押すとコマンド履歴を移動する。v2.1.169 以降、折り返した 1 行入力も複数行と同じ挙動 |
Esc | Claude を中断する、またはダイアログを閉じる。ターン途中で応答やツール呼び出しを止め、そこまでの作業は保つ。permission prompt などのダイアログが開いている場合は Claude を中断せずダイアログを閉じる |
Esc + Esc | 入力があれば下書きをクリアして履歴に保存する(Up で呼び戻せる)。入力が空なら rewind メニューを開く |
Shift+Tab(Node / Bun ランタイムが VT input mode を有効にしない Windows では Alt+M) | permission mode を循環する。default(モードインジケータでは Manual と表示)、acceptEdits、plan、および有効にしているモード(auto、bypassPermissions など) |
Option+P(macOS)/ Alt+P(Windows・Linux) | プロンプトをクリアせずにモデルを切り替える |
Option+T / Alt+T | extended thinking をトグルする。Fable 5 では効果が無い(常に extended thinking を使う)。macOS では Option を Meta に設定しなくても動く |
Option+O / Alt+O | fast mode をトグルする |
macOS で Option / Alt キーのショートカット(Alt+B、Alt+F、Alt+Y、Alt+P)を使うにはターミナルで Option を Meta に設定する必要がある。
- iTerm2: Settings → Profiles → Keys → General → Left/Right Option key を "Esc+" に
- Apple Terminal: Settings → Profiles → Keyboard → "Use Option as Meta Key" をチェック
- VS Code:
"terminal.integrated.macOptionIsMeta": true
テキスト編集
| ショートカット | 説明 |
|---|---|
Ctrl+A | 現在行の先頭へ移動(複数行入力では論理行の先頭) |
Ctrl+E | 現在行の末尾へ移動(複数行入力では論理行の末尾) |
Ctrl+K | 行末まで削除。削除テキストは貼り付け用に保存される |
Ctrl+U | カーソルから行頭まで削除。macOS の iTerm2 / Terminal.app では Cmd+Backspace がこれに割り当てられている |
Ctrl+W | 前の単語を削除。macOS では Option+Delete、Windows では Ctrl+Backspace も同じ |
Ctrl+Y | Ctrl+K / Ctrl+U / Ctrl+W で削除したテキストを貼り付ける |
Alt+Y(Ctrl+Y の後) | 貼り付け履歴を循環する |
Alt+B | 単語 1 つ分カーソルを戻す |
Alt+F | 単語 1 つ分カーソルを進める |
Ctrl+_ または Ctrl+Shift+- | 直前の入力編集を取り消す |
Ctrl+T は /theme ピッカー内でのみ、コードブロックのシンタックスハイライトをトグルする。
複数行入力
| 方法 | ショートカット | 備考 |
|---|---|---|
| Quick escape | \ + Enter | すべてのターミナルで動く |
| Option key | Option+Enter | macOS で Option as Meta を有効にした後 |
| Shift+Enter | Shift+Enter | iTerm2 / WezTerm / Ghostty / Kitty / Warp / Apple Terminal / Windows Terminal でネイティブに動く |
| Control sequence | Ctrl+J | 設定なしでどのターミナルでも動く |
| Paste mode | 直接貼り付け | コードブロックやログ向け |
VS Code / Cursor / Devin Desktop / Alacritty / Zed では /terminal-setup を実行してバインディングを入れる。
入力先頭のクイックコマンド
| 入力 | 説明 |
|---|---|
先頭の / | コマンドまたは skill |
先頭の ! | shell mode。コマンドを直接実行し、その出力をセッションに追加し、Claude に応答させる |
@ | ファイルパスの補完 |
: | emoji shortcode。:name: を完全入力すると絵文字を挿入、2 文字以上で候補を表示。v2.1.217 以降 |
空入力での ? | ショートカットヘルプパネルをトグルする。入力にテキストがある状態で ? を打つと文字が挿入される |
transcript viewer(Ctrl+O)
| ショートカット | 説明 |
|---|---|
? | キーボードショートカットのヘルプパネルをトグルする(fullscreen rendering が必要) |
{ / } | 前後のユーザープロンプトへジャンプする(fullscreen rendering が必要) |
Ctrl+E | すべての内容の表示をトグルする(classic renderer のみ)。transcript:toggleShowAll でリバインド可 |
[ | 会話全体をターミナルのネイティブ scrollback に書き出す(fullscreen rendering が必要) |
v | 会話を一時ファイルに書き出し $VISUAL または $EDITOR で開く(fullscreen rendering が必要) |
q, Ctrl+C, Esc | transcript view を抜ける。3 つとも transcript:exit でリバインド可 |
- どのレンダラーが有効かは引数なしの
/tuiで確認する
音声入力
Spaceの長押しまたはタップで voice dictation(有効化が必要)。長押しで録音、/voice tapでタップ切り替えにできる。キーはリバインド可能
コマンド一覧
/を入力すると利用可能なコマンドがすべて表示される。文字を続けると絞り込める/メニューには組み込みコマンド、同梱およびユーザー作成の skill、plugin と MCP サーバーが提供するコマンドが並ぶ- 一部の組み込みコマンドはプラットフォームやプランに依存するため全ユーザーには見えない
- fullscreen rendering では
/コマンドと@ファイル候補のリストがマウスに反応する
vim editor mode
/config → Editor mode で有効にする。
モード切り替え(Esc で NORMAL、i / I / a / A / o / O で INSERT、v / V で VISUAL)。
NORMAL モードの移動: h/j/k/l、Space、w、e、b、0、$、^、gg、G、f{char}、F{char}、t{char}、T{char}、;、,、/(Ctrl+R と同じ逆方向履歴検索)。
- NORMAL モードでカーソルが入力の先頭・末尾にあってそれ以上動けない場合、
j/kと↑/↓はコマンド履歴を移動する - 空のプロンプトでの
←は NORMAL / INSERT の両方で agent view を開く。v2.1.219 より前は NORMAL モードでは何も起きなかった
NORMAL モードの編集: x、dd、D、dw/de/db、cc、C、cw/ce/cb、s(v2.1.211 以降)、S(v2.1.211 以降)、yy/Y、yw/ye/yb、p、P、>>、<<、J、u、.。
text object(d / c / y と組み合わせる): iw/aw、iW/aW、i"/a"、i'/a'、i(/a(、i[/a[、i{/a{。
VISUAL モード: d/x、y、c/s、p、r{char}、~/u/U、>/<、J、o、text object、v/V。Ctrl+V の block-wise visual mode は非対応。
vimInsertModeRemaps
- INSERT モードの 2 キー列を Escape にマップする。v2.1.208 以降
- 各キーは連続して打つちょうど 2 文字の印字可能文字。ターゲットは
"<Esc>"のみ。長さやターゲットが異なるエントリは無視される - 1 文字目は通常どおり挿入される。1 秒以内に 2 文字目を押すと保留中の文字を取り除いて NORMAL モードへ切り替え、どちらの文字も入力に残らない。1 秒を過ぎるか別のキーが続くと両方がリテラルとして残る
- user settings ファイル、
--settingsフラグ、managed settings からのみ読まれる。プロジェクトの.claude/settings.json/.claude/settings.local.jsonのエントリは無視される
コマンド履歴
- 入力履歴は作業ディレクトリごとに保存される
/clearは新しいセッションを開始する。呼び戻しでは新しいセッションのプロンプトが先に、以前のセッションのプロンプトがその後に並ぶ- 同じプロンプトを 2 回続けて送信すると履歴エントリは 1 つ
- 貼り付けを含むプロンプトを呼び戻して再送すると、貼り付け内容全体が再送される
!による history expansion は既定で無効
Ctrl+R の逆方向検索
- fullscreen rendering では検索ダイアログが開く。入力で絞り込み、
Up/Downで移動、Ctrl+Sでスコープ(このセッション / このプロジェクト / 全プロジェクト)を循環、EnterまたはTabでプロンプト入力へ、Escでキャンセル - classic renderer のインライン検索:
Ctrl+Rで開始、テキストを入力(一致部分がハイライトされる)、Ctrl+Rを再度押すと古い一致へ移動、Tab/Escで採用して編集継続、Enterで採用して即実行、Ctrl+Cで元の入力に戻す、空の検索でBackspaceでキャンセル - インライン検索は常に全プロジェクトのプロンプトを対象にし、新しい順に走査して重複は最新のものにまとめる
- fullscreen のダイアログは選択スコープ内の最新のユニークなプロンプト 100 件を表示する
バックグラウンド Bash コマンド
- バックグラウンド実行するとコマンドは非同期に走り、即座にバックグラウンドタスク ID が返る
- 実行方法: Claude にバックグラウンド実行を指示する、または
Ctrl+Bで通常の Bash ツール呼び出しをバックグラウンドへ移す(tmux では 2 回) - 出力はファイルに書かれ、Claude は Read ツールで取得できる
- バックグラウンドタスクは追跡と出力取得のための一意な ID を持つ
- Claude Code 終了時に自動でクリーンアップされる。セッションをバックグラウンド化した場合はバックグラウンドセッションへ引き継がれ、実行が続く
- 出力が 5GB を超えると自動終了し、理由を stderr に記す
- macOS と Linux では、OS がメモリ逼迫を通知し、セッションが 30 分以上アイドルで、ターンも subagent も動いていない場合に、実行中のバックグラウンドタスクを終了する。
CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAPを1にすると無効化できる(v2.1.193 以降)。subagent が所有するバックグラウンドコマンドは代わりに 60 分後に終了し、CLAUDE_SUBAGENT_BG_SHELL_MAX_MSでミリ秒指定できる。v2.1.218 より前はどちらの制限もCtrl+Bでバックグラウンド化したコマンドには適用されなかった - バックグラウンドタスク機能全体を無効にするには
CLAUDE_CODE_DISABLE_BACKGROUND_TASKSを1に設定する
shell mode(! プレフィックス)
- コマンドとその出力を会話コンテキストに追加する
- リアルタイムの進捗と出力を表示する
- 長時間実行には同じ
Ctrl+Bのバックグラウンド化が使える - Claude による解釈・承認を必要としない
- 履歴ベースの補完に対応。部分入力後
Tabで同一プロジェクトの過去の!コマンドから補完する - v2.1.193 以降、全プラットフォームでライブのファイルパス補完に対応。
./src/や~/のようにスラッシュを含むトークンを入力すると候補が出てTabで確定する。Windows でもスラッシュを使う(トリガーは/であり\ではない) - 空プロンプトで
Escape/Backspace/Ctrl+Uにより抜ける - 空プロンプトに
!で始まるテキストを貼り付けると自動的に shell mode に入る - v2.1.186 以降、出力がトランスクリプトに入ると Claude が自動で応答する。応答のコストは通常のプロンプト送信と同じ。応答なしで出力だけをコンテキストに追加する以前の挙動に戻すには
settings.jsonのrespondToBashCommandsをfalseにする
prompt suggestions
- セッションを開いた直後、プロンプト入力にグレーの例が表示される。プロジェクトの git 履歴から選ばれる
- Claude の応答後も会話履歴に基づいて候補が出る
TabまたはRight arrowで候補を入力欄に入れ、Enterで送信する。入力を始めると消える- 候補生成は親会話の prompt cache を再利用するバックグラウンドリクエストとして走る。キャッシュがコールドのときは生成をスキップする
- 会話の最初のターン後と plan mode では自動的にスキップされる
- print モードでは既定で無効。
-p "<prompt>" --output-format stream-json --verboseとともに--prompt-suggestionsを渡すと各ターン後にprompt_suggestionメッセージを出力する - 無効化:
/configの Prompt suggestions をオフ、settings のpromptSuggestionEnabledをfalse、環境変数CLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONをfalse(設定より優先される)
emoji shortcodes
:heart:のように完全な shortcode を入力すると、閉じる:を打った時点で絵文字に置換される:に続けて名前を 2 文字以上入力すると候補ポップアップが開き、TabまたはEnterで挿入する- shortcode は入力の先頭かスペースの直後で始まる必要がある。単語や URL の中の
:では候補は開かない - 無効化は
settings.jsonのemojiCompletionEnabledをfalse。候補ポップアップとインライン置換の両方が無効になる - v2.1.217 以降
/btw(side questions)
- 会話履歴に追加せず現在の作業について質問する。質問と回答は破棄可能なオーバーレイに表示され、会話履歴には入らない
- 現在の会話全体を参照できる
- Claude が処理中でも実行でき、メインのターンを中断しない
- ツールアクセスは無い。コンテキストにある情報だけで答える
- オーバーレイ内での追加ターンは無い。続けるには
fで独自セッションに fork する - 親会話の prompt cache を再利用する
- 同一セッションの過去の side question は現在の回答の上に薄く一覧表示される
- 質問なしで
/btwを実行すると直近のやり取りでオーバーレイが再度開く。Leftで過去の回答へ戻る。v2.1.212 より前は使用法メッセージを表示していた
| キー | 動作 |
|---|---|
Space, Enter, Escape | 回答を閉じてプロンプトへ戻る |
Up / Down | 回答をスクロールする |
Left / Right | セッション内の過去の /btw 回答の間を移動する。v2.1.187 以降 |
c | 回答を raw Markdown としてクリップボードにコピーする |
f | 新しいセッションに fork する。fork は親会話とこの質問・回答を実トランスクリプトのターンとして継承する。元のセッションは /resume に残る。ローカルセッションのみ |
x | 現在の回答の上に表示される過去の /btw 一覧をクリアする |
task list
- Claude が複数ステップの作業を計画するために作った to-do チェックリスト。バックグラウンドタスクの表示とは別(そちらは
/tasks) Ctrl+Tで表示をトグルする。一度に最大 5 件表示する。チェックリスト項目が無いときはトグルしても見た目は変わらない- 全件表示やクリアは Claude に直接依頼する
- タスクは context compaction をまたいで保持される
- セッション間で共有するには
CLAUDE_CODE_TASK_LIST_IDを設定して~/.claude/tasks/内の名前付きディレクトリを使う(例:CLAUDE_CODE_TASK_LIST_ID=my-project claude)
session recap
- 直近の完了ターンから 3 分以上経過し、ターミナルが非フォーカスのときにバックグラウンドで生成される 1 行の要約
- セッションが 3 ターン以上ある場合にのみ表示され、2 回続けては表示されない
/recapでオンデマンド生成する。自動 recap を切るには/configの Session recap を無効にする- すべてのプラン・プロバイダで既定で有効。非対話モードでは常にスキップされる
PR review status
- open な pull request のあるブランチで作業していると、フッターに "PR #446" のようなクリック可能な PR リンクが表示される
- 下線の色がレビュー状態を示す: 緑 = approved、黄 = pending review、赤 = changes requested、灰 = draft
- pull request がマージまたはクローズされるとバッジは消える
Cmd+click(macOS)/Ctrl+click(Windows・Linux)でブラウザで開く- 状態は 60 秒ごと、およびセッション内で
gh prやgit pushを実行した直後に更新される - ターミナルのハイパーリンク対応を検出できない場合でもハイパーリンクとして描画する。
FORCE_HYPERLINK=0でプレーンテキストになる。v2.1.217 より前は検出成功時のみハイパーリンクだった - PR status には
ghCLI のインストールと認証(gh auth login)が必要
設定
{
"editorMode": "vim",
"vimInsertModeRemaps": { "jj": "<Esc>" }
}
! npm test
! git status
! ls -la
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
制約・注意点
- キーボードショートカットはプラットフォームとターミナルによって異なりうる
- 組織全体で prompt suggestions を切る場合、managed settings で
promptSuggestionEnabledをfalseにしたうえで、managed のenvキーでCLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONもfalseにする(ユーザーが自分の環境変数で再有効化できないようにするため)
関連
facts/claude-code/cli-reference.mdfacts/claude-code/commands.mdfacts/claude-code/settings.mdfacts/claude-code/checkpointing.mdfacts/claude-code/skills.mdfacts/claude-code/sub-agents.mdfacts/claude-code/permission-modes.mdfacts/claude-code/env-vars.md