Ctrl+X Ctrl+K(コントロールエックス・コントロールケー)

キーバインド
Ctrl+X Ctrl+K
コントロールエックス・コントロールケー
Claude Codeのセッションで裏走りしている全subagent(裏で並列に動いている下請けの作業員)を、一括で強制終了するキー操作。Ctrl+Xを押した後、3秒以内にCtrl+Kを続けて押す2段ステップで確定する(誤発火防止)。

背景で複数の作業員を走らせていて、思った方向と違う出力が並列でどんどん出てきた時に全部を一気に止めたい人向け

Claude Codeに大量の並列作業(30種類のページを同時生成、複数言語への並列翻訳など)を裏に回して走らせた後、途中の出力を見て方針ズレや指示忘れに気づき、走っている全部をまとめて落として頭からやり直したい場面で、Ctrl+Xを1回押してから3秒以内にCtrl+Kを押す。

Claude Codeに「30種類の魚のページを並列で生成して」みたいな大規模な作業を頼んで、裏で30本の作業員が同時に走り始めた状態。ふと出力を覗いたら方針がズレてて、「これ全部やり直し」と判断した時に、まとめて一気に止めるのがこのキー操作です。

1本ずつ止めるのではなく、現在のセッションで裏走りしている作業員を全員同時に強制終了する。Ctrl+X を押した後、3秒以内Ctrl+K を続けて押す、という2段ステップになっています。誤発火防止の安全装置つき。

噛み砕くと

会議室で30人の助手にそれぞれ別の仕事を頼んで、隣の控室で同時に作業させてる状況を想像してください。途中で「指示の前提が間違ってた」と気づいた時に、各控室を1つずつ回って止める代わりに、館内アナウンスで「全員いま手を止めて」と一括停止する。それがこのキー操作の役割です。

誰か1人だけ残して他は止めたい、みたいな選別はできません。鳴らした瞬間に裏走りの作業員は全停止。前のテーブルでこちらと対話している作業員には効きません。こっちはまだ前で待たせている状態だからです。

大事な前提:止めにいくのは「裏で走ってる」作業員だけ

このキー操作は裏走り(background)のものにしか効きません。Claude Codeの作業員には2種類あって、表で待たせるタイプと裏に回して並列で走らせるタイプがあります。前者は会話を止めて待たせている状態なので、止めたい時は EscCtrl+C 経由になります。後者を一括で止めるのがこの2段ステップです。

裏に回す入り口は Ctrl+B。出口がこの2段ステップ。Ctrl+B で送り込んで、Ctrl+X→Ctrl+K で呼び戻して終わらせる、と覚えると関係性がスッキリします。

「世界の魚を紹介するサイト」で実際の手順を見る

題材は「世界の魚を紹介するサイトを作りたい」プロジェクト。Claude Codeに30種類の魚の名前を渡して、それぞれの科目別ページを並列で生成してもらう流れを想定します。

ステップ1: 大量の作業を Claude Code に頼む

Claude Code を立ち上げて、こう頼みます。

30種類の魚(マグロ、サンマ、タイ、サバ、ブリ、カツオなど)について、
それぞれの科目別ページを並列でぜんぶ生成してほしい。
1ページにつき特徴・生息地・調理法・写真の指示書をまとめて。

Claude が「並列でやります」と判断すると、内部で30人の作業員を立ち上げ始めます。

ステップ2: Ctrl+B で裏に回す

各作業員の進捗をいちいち見ていると、こっちの会話が止まって他のことができません。Ctrl+B を押して、走り続けてもらいながら自分は別の作業に移ります。たとえばヘッダー画像のラフを別途相談する、といった具合です。

tmux を使っている人はここで2連打が必要。1回押しただけだと tmux に吸われて何も起きない、というハマりがあります。

ステップ3: 出力を覗いて方針ズレに気づく

5分くらいして「マグロ」と「サンマ」の出力をチェック。すると、こっちが想定していた「子ども向けの図鑑トーン」ではなく、論文みたいに固い学術トーンで書き始めていることに気づきます。30本全部この調子で進めさせると、出来上がりを全部書き直すコストの方が重い。

ここで初心者がやりがちな勘違い。1本ずつ止めて回ろうとして、30回も停止指示を出してしまう人がいます。実際は2段ステップ1セットでまとめて落とせます。

ステップ4: Ctrl+X を押す

キーボードで Ctrl を押しながら X を1回。画面下に「全部止めますか、3秒以内にもう1回押して」という確認待ち状態が出ます。表示文言はバージョンによって違いますが、確認待ちの合図が出ます。

ここで何もせず3秒以上経つと、確認待ちはキャンセル。もう一度 Ctrl+X からやり直しです。

ステップ5: 3秒以内に Ctrl+K を押す

Ctrl を押したまま K を1回。これで現在のセッションで裏走りしていた30本の作業員が一斉に停止します。

Killed 30 background subagents.

確定ログが画面に出れば成功。Claude Code 自体は起動したままなので、続けて「今度は子ども向けの図鑑トーンで、まずマグロだけ書いて」と頼み直せます。

ステップ6: トーンを決め直してから再投入

30本まとめて走らせる前に、まず1本だけ前で会話しながら作って、出来上がりが OK なら同じ指示で他の29本を裏に回す。やり直しコストを最小化する標準的な型です。

つまり Ctrl+X Ctrl+K は何をしてくれるのか

  • やってくれる: 現在のセッションで裏走りしている全 subagent を、3秒以内2連打の確定操作で一斉停止する
  • やってくれない: 前で待たせている subagent の停止。こちらは EscCtrl+C で止める。選別停止もできない。30本中5本だけ止める、みたいな指定は不可能。Claude Code 本体の終了も別物で、こちらは Ctrl+D 担当
  • 意味が薄い場面: 裏で1本も走っていない時。確認待ちが出ても止める相手がいないので空振り

使いどころ3シナリオ(具体題材で再現)

シナリオ1: 料理ブログで100記事を並列下書きさせた直後、語尾の指示を忘れたと気づいた時

「100種類の家庭料理レシピをそれぞれ別ページで下書きして」と頼んで裏に回した直後、「あ、語尾を『〜です・ます』じゃなく『〜だよ』のフレンドリー調にする指示を入れ忘れた」と気づく。100本全部書き直すより、Ctrl+X Ctrl+K で全停止して語尾指示を加えてから再投入する方が早い。3秒以内2連打で迷う暇もなく落とせます。

シナリオ2: 家計簿アプリ開発でテストを30ファイル分並列生成中、テストフレームワークを間違えていた時

「30個のモジュールにそれぞれユニットテストを並列で書いて」と頼んだものの、Jest で書かせるはずが Vitest で書き始めていた。1本目の出力を確認して気づいた段階で Ctrl+X Ctrl+K。Jest を使うことを明示して再依頼。並列作業は「最初の1本が出てきた段階で方針ズレを検知できる」のが強みなので、検知したら躊躇なく一括停止していい。

シナリオ3: OSSのドキュメントを各言語版で並列生成中、原文の解釈ミスを発見した時

取ってきたOSSのREADMEを「日本語・中国語・スペイン語・ドイツ語など10言語で同時翻訳して」と裏に回した。途中で原文の専門用語を Claude が誤解していることが英訳の中間出力から発覚。誤解した英訳を元に他9言語が派生するので、Ctrl+X Ctrl+K で全停止し、専門用語の定義を渡してから再投入する。原文解釈の修正は1箇所だけど影響は全言語に及ぶので、まとめ止めが正解。

初心者が踏みやすい落とし穴

  • 3秒以内に2連打しないと発動しない。Ctrl+X を押した後ぼーっとしていると確認待ちが消えて空振り。誤発火防止の安全装置として正しい設計なので、「押したのに動かない」と感じたら2連打のタイミング切れを疑う
  • Ctrl+D との混同に注意。Ctrl+D は Claude Code 全体を終了する操作です。こっちを押すとセッションごと落ちて、続けて指示を出すこともできなくなる。Ctrl+X Ctrl+K はあくまで裏走り作業員だけ落とす操作で、本体は起きたまま
  • 前で待たせている作業員には効かない。許可を求める画面で止まっている前の作業員や、結果を待っている前の作業員は対象外。こっちは Esc または Ctrl+C で止める
  • 停止後の自動復活トラップ(agent teams 有効時のみ)CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を設定している場合、一度落とした subagent でも、後から SendMessage で同じID宛にメッセージを送ると裏走りで自動再開する仕様が公式に明記されています。「完全消去したつもりが復活してた」事故の原因。この設定をしていないデフォルト環境では SendMessage ツール自体が利用不可なので、このトラップは発生しません。agent teams を使っている場合のみ、落としたら同じIDに追加メッセージを送らない癖をつける
  • 背景タスク機能を切っていると無効CLAUDE_CODE_DISABLE_BACKGROUND_TASKS という設定値を 1 にしていると、そもそも裏走りの仕組みが動かない。当然このキー操作の対象も存在しない
  • 選別停止はできない。30本中、出力が良かった5本だけ残して25本止めたい、のような選別はこの2段ステップでは無理。claude agents で agent view を開いて、1本ずつ claude stop <id> で停止する経路を使う
  • fork mode 下では対象が増えやすい。fork mode が有効だと、subagent の background 指定がどうあれ全部が裏走りになる仕様。意図せず大量の裏走り作業員が立ち上がっているケースがあるので、止める時の手応えが普段より大きい

書き方

Ctrl+X を押した後、3秒以内に Ctrl+K を押す(2段ステップ)

やってみるとこうなる

入力

(裏で30本のsubagentが走っている状態で)Ctrl+X → 3秒以内に Ctrl+K

出力例

Killed 30 background subagents.
(裏走りしていた全作業員が同時に停止し、Claude Code本体は起きたまま継続)

このページに出てきた言葉

subagent(サブエージェント)
Claude Codeが本体とは別に走らせる小さな作業員。「このフォルダを調べて要約だけ返して」みたいな下請けの仕事を任せる存在で、本体の会話とは別の場所で動く
セッション
Claude Codeを1回起動してから終了するまでの一連の時間。同じ画面で続けて指示しているうちは同じセッション
background / foreground
裏で並列に走らせる状態が background、表で自分との会話を止めて待たせている状態が foreground
Ctrl+B
いま走っている作業を裏に回すキー操作。tmuxを使っている人は2回連打が必要
Ctrl+D
Claude Code全体を終了する操作(EOF)。Ctrl+X Ctrl+Kとは完全に別物で、本体ごと落ちる
tmux
黒い画面(コマンドを打ち込む画面)を画面分割したり、抜けても作業を残しておいたりするためのアプリ
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS
パソコンが起動時に覚える設定値の1つ。1 にセットすると裏走りの仕組み自体が動かなくなる
SendMessage
走っているsubagentに追加メッセージを送る仕組み。止めたsubagentにこれが届くと裏走りで自動再開する
fork mode
1本のsubagentから派生で複数を分岐させるモード。有効にすると派生で生まれた子も全部裏走りになる
agent view
claude agents と打つと開ける、各subagentの状態一覧画面。ここからなら1本ずつ個別に停止できる

関連項目

公式ドキュメント

https://code.claude.com/docs/en/interactive-mode

-

← 戻る