バックグラウンドセッションを使い始めて、終わらせ方と抜け方の区別がついていない人向け
料理ブログのテスト直しなど、バックグラウンドに任せた作業が終わって、裏で動き続けているのを本当に止めたい場面で叩く。中に入っている状態で打つと、そのセッションが停止して一覧でグレー表示になる。画面から抜けるだけでは止まらないので、終わらせたいときはこれを使う
裏で動かしているバックグラウンドセッションを、中に入った状態で本当に「止める」ためのスラッシュコマンドが /stop です。バックグラウンドセッションは、ターミナルを閉じても裏で走り続けるClaude Codeの会話のこと。だからこそ「終わらせたつもりで終わってない」がよく起きます。
多くの人が混同するのが「止める」と「抜ける」。画面から抜けてもセッションは止まりません。動いたまま裏に残り続けます。本当に止めたいなら、中に入って /stop を打つ。これがこのコマンドの全部です。
噛み砕くと
テレビ会議のオンライン会議室をイメージすると分かりやすいです。あなたが会議室から退室しても、会議そのものは続いていますよね。残った人だけで話が進む。/stop は「退室」ではなく「会議そのものを終了」するボタンです。
退室にあたるのが、画面から抜ける操作(後で説明します)。/stop だけが、走っている会議を本当に閉じます。しかも閉じても議事録は残る。ここがポイントです。
大事な前提:これは「中に入っているとき」しか使えない
普通に claude で開いただけの画面では /stop は出てきません。バックグラウンドセッションにアタッチしている、つまりそのセッションの中に入っている状態のときだけ使えます。
そもそもこの仕組み(agent view)は研究プレビュー段階で、Claude Code v2.1.139以降が必要です。バージョンは claude --version で確認できます。バックグラウンドセッション自体の作り方は別ページに分けてあるので、ここでは「もう裏で1個動いている」前提で進めます。
「料理ブログのテスト直し」を例に、実際の手順を見る
料理ブログを作っていて、テストコードの直しをバックグラウンドセッションに丸ごと任せていたとします。しばらく放置して、戻ってきたら直しが終わっていた。さあ片付けよう、という場面です。
ステップ1: 一覧を開いて状態を見る
まず全セッションの一覧画面(agent view)を開きます。
$ claude agents
料理ブログのテスト直しセッションが「Completed(完了)」のあたりに並んでいます。作業はもう終わっている。でも裏のプログラムはまだ生きています。
ステップ2: そのセッションの中に入る
止めたい行で Enter か → を押すと、そのセッションの中に入れます。会話の全文が画面に出てきて、今までの直しのやり取りが読めます。
ここで初心者がやりがちな勘違いがあります。「中身を確認できた=もう終わってる」と思って、そのまま画面を閉じてしまう。これだと止まりません。次に進みます。
ステップ3: /stop を打つ
セッションの中で、入力欄に打ちます。
/stop
これでこのセッションが止まります。一覧に戻ると、さっきのセッションがグレーの行(Stopped=停止済み)になっています。色が変わったら、ちゃんと止まったサインです。
ステップ4: 記録と作業コピーは残っている
止めても、会話の記録(トランスクリプト)と、作業用コピー(ワークツリー)はそのまま残ります。消えるのは「動いていたプログラムの実体」だけ。だから後から中身をもう一度読めます。
ステップ5: 続きをやらせたくなったら再開できる
「やっぱりもう1箇所直してほしい」となったら、外から復活させられます。一覧でそのセッションの番号(ID)を確認して、ターミナルで打ちます。
$ claude respawn 7c5dcf5d
会話の中身を保ったまま、止めたところから動き出します。完全に消したわけじゃないから、こういう復活ができる。
ステップ6: もう本当に要らないなら「消す」
記録ごとサヨナラしたい場合だけ、一覧で Ctrl+X を押して、2秒以内にもう一度 Ctrl+X。これで一覧から消えます。止めるのと消すのは別操作です。慌てて2回押さないこと。
つまり /stop は何をしてくれるのか
- やってくれる: 今入っているバックグラウンドセッションの、裏で動いているプログラムを止める。一覧ではグレーの停止済み表示になる
- やってくれない: 会話の記録も作業用コピーも消さない。消したいなら別操作が要る。一覧で
Ctrl+Xを2回、またはclaude rmを使う - 意味が薄い場面: バックグラウンドセッションに入っていないとき。普通の
claude画面では出てこないので、抜けたいだけなら別の操作を使う
使いどころ3シナリオ(具体題材で再現)
シナリオ1: 料理ブログのテスト直しが終わって片付けるとき
テスト直しを任せたセッションが完了して、結果も取り込み済み。もう用済みなのに裏で生きていると、無駄に動き続けて利用量を食う可能性があります。中に入って /stop。これで安心して放置できます。記録は残るので、後で「どう直したっけ」と見返すのも問題なし。
シナリオ2: 家計簿アプリの集計ロジックを夜のうちに走らせていたとき
家計簿アプリの月次集計ロジックを、寝る前にバックグラウンドで仕込んでおいた。朝起きて一覧を開くと完了している。確認して問題なければ、その場で中に入って /stop。終わったものを溜め込まず、こまめに止めておくと一覧がスッキリして、次にどれを見ればいいか迷わなくなります。
シナリオ3: 複数のセッションを同時に走らせて整理するとき
料理ブログ・家計簿アプリ・古いコードの読み込みを、3つ同時に裏で走らせていた。読み込みだけ先に終わったので、その1個だけ止めたい。一覧で読み込みセッションに入って /stop。他の2つは触らないので動いたまま。1個ずつ狙って止められるのが /stop のいいところです。
初心者が踏みやすい落とし穴
- 抜けただけで止めたつもりになる。← / Ctrl+Z /
/exit/ Ctrl+C 2回 / Ctrl+D 2回 は全部「画面から抜ける」だけ。裏では動き続けます。終わらせたいなら中に入って/stop - 逆に、抜けたいだけなのに止めてしまう。続きをやらせたいのに
/stopすると作業が止まります。中断したくないなら ← か/exitで抜けるだけにする - 止めた=消えた、と思い込む。止めたセッションは一覧にグレーで残っています。
claude respawn そのIDで会話そのままに再開できるので、消したつもりで探し回らないこと - 「止める」を飛ばして「消す」をやる。一覧で
Ctrl+X2回で消すと、Claudeが作った作業用コピーごと消えます。まだ取り込んでいない変更があるなら、先に保存・反映してから消すこと - 外から止めたいのに、わざわざ中に入る。中に入らなくても、ターミナルで
claude stop IDで止められます。claude kill IDでも同じです。一覧を眺めながらサッと止めたいときはこっち - /goal stop と混同する。
/goal stopはゴール(達成条件)の解除で、セッション停止とは無関係です。名前が似ているだけ - Stopフックと関係があると思う。Claudeの応答終了時に動く仕掛け(Stopフック)とは、名前が同じだけの別物です
書き方
/stop
やってみるとこうなる
入力
/stop
出力例
セッションが停止し、一覧画面(claude agents)に戻るとその行がグレー(Stopped=停止済み)になる。会話の記録と作業用コピーは残ったまま
このページに出てきた言葉
- バックグラウンドセッション
- ターミナルを閉じても裏で走り続けるClaude Codeの会話。1個の作業をまるごと任せて放置しておける
- アタッチ(中に入る)
- 裏で動いているセッションを画面に呼び出して、その会話の中に入ること。一覧から選んでEnterや→で入る
- デタッチ(抜ける)
- セッションの画面から出ること。← や <code>/exit</code> で抜けられるが、これだけでは裏のプログラムは止まらない
- トランスクリプト
- そのセッションの会話の全文。パソコンの中に残り、<code>claude --resume</code> でも読み出せる
- ワークツリー
- 本体とは別に切り出した作業専用のファイル一式。複数セッションが同じ場所を取り合わないための仕組み
- respawn(再開)
- 止めたセッションを会話そのままに動かし直す操作。<code>claude respawn ID</code> で使う
- ID(セッション番号)
- セッション1個ずつに振られた識別番号。外から止めたり再開したりするときに指定する