SpyBara
Go Premium

agent-view.md 2026-10-05 23:58 UTC to 2026-10-06 18:02 UTC

This page contains 305 additions and 302 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sun 4 23:58 Tue 6 19:01

複数のエージェントをエージェントビューで管理する

1 つの画面から多くの Claude Code セッションをディスパッチして管理します。エージェントビューは、すべてのセッションが何をしているか、どのセッションが入力を必要としているかを表示します。

claude agents で開くエージェントビューは、すべてのバックグラウンドセッションの 1 つの画面です。実行中のもの、入力が必要なもの、完了したものが表示されます。新しいセッションをディスパッチし、トランスクリプトをスクロールする代わりに一目でセッションの状態を確認し、セッションが必要とするときだけ介入します。各バックグラウンドセッションは完全な Claude Code の会話であり、ターミナルが接続されていなくてもバックグラウンドで実行し続けるため、いつでも開いて、返信して、去ることができます。

ターミナルのエージェントビュー。上部の行は、入力を待機しているセッション、実行中のセッション、完了したセッションの数をカウントします。4 つのセッションは「入力が必要」、「実行中」、「完了」の下にグループ化されています。各行はセッションの名前、最新のステータスまたは質問、および時間を表示します。下部には新しいタスクを説明するための入力と、キーボードヒントの行があります。 ターミナルのエージェントビュー。上部の行は、入力を待機しているセッション、実行中のセッション、完了したセッションの数をカウントします。4 つのセッションは「入力が必要」、「実行中」、「完了」の下にグループ化されています。各行はセッションの名前、最新のステータスまたは質問、および時間を表示します。下部には新しいタスクを説明するための入力と、キーボードヒントの行があります。

Claude が複数の独立したタスクに対して、あなたが毎ステップを監視することなく作業できる場合に、エージェントビューを使用します。バグ修正、プルリクエストレビュー、不安定なテストの調査を 3 つの行としてディスパッチし、別のウィンドウで作業を続け、行が入力が必要であることを示すか、結果が得られたときに確認します。

任意のエージェントのセッションでより直接的に作業したい場合は、行にアタッチして完全な会話に入ります。

エージェントビューを subagents、agent teams、worktrees と比較するには、エージェントを並列で実行するを参照してください。エージェントビューはあなたのマシン上でセッションを実行し、各セッションをディスパッチします。1 つの会話からクラウドで Claude が並列セッションを開始して追跡するには、Projectsを参照してください。

クイックスタート

このチュートリアルでは、コアエージェントビューループについて説明します。タスクをディスパッチし、Claude が作業する際に行が更新されるのを見守り、ピークして確認して返信し、フル会話にアタッチします。ディスパッチしたセッションはエージェントビューを閉じた後も実行し続けるため、離れて後で戻ることができます。

1

エージェントビューを開く

シェルから以下を実行します。

claude agents

まだディレクトリのワークスペーストラストダイアログを受け入れていない場合、Claude Code はエージェントビューが開く前にそれを表示します。これは claude が表示するのと同じダイアログです。受け入れてワークスペースの信頼を保存して続行します。拒否すると、Claude Code はエージェントビューを開かずに終了します。

エージェントビューが開き、下部に入力フィールドが表示され、セッションが開始されるとテーブルが埋まります。いつでも Esc を押してシェルに戻ります。← でセッションをバックグラウンドにして開いた場合、Esc はそのセッションの会話に戻ります。セッションは離れている間も実行し続け、次にエージェントビューを開いたときに再度表示されます。

2

セッションをディスパッチする

タスクを説明するプロンプトを入力して Enter を押します。新しいバックグラウンドセッションがそのタスクで開始され、作業中か、入力を待機中か、完了しているかを示す行として表示されます。新しいセッションはエージェントビューヘッダーに表示されているモデルを使用します。どの権限モードで開始するかは、エージェントビューをどのように開いたかによって異なります。

ここで入力するすべてのプロンプトは独自の新しいセッションを開始します。別のプロンプトを入力して Enter を押すと、最初のセッションへのフォローアップを送信するのではなく、最初のセッションと並行して 2 番目のセッションが起動します。この方法で複数を並行して実行できます。

各セッションはサブスクリプションクォータを独立して使用するため、一度に多くをディスパッチする前に制限事項を参照してください。

3

ピーク表示と返信

矢印キーで行を選択し、Space を押してピークパネルを開きます。フルトランスクリプトではなく、セッションの最新の出力、または待機中の質問が表示されます。返信を入力して Enter を押すと、エージェントビューを離れずに送信できます。

4

アタッチとデタッチ

フル会話が必要な場合は、行で Enter または → を押してアタッチします。セッションはターミナルを引き継ぎ、フルインタラクティブな Claude Code セッションになります。空のプロンプトで ← を押してデタッチし、テーブルに戻ります。

5

既存のセッションを持ち込む

このステップは実行中のセッションが必要です。前のステップに従った場合、このターミナルで開いているセッションはないため、別のターミナルで通常の claude セッションを開き、最初にメッセージを送信してください。

既に開いているセッションをエージェントビューに移動するには、セッション内で /bg を実行するか、空のプロンプトで ← を押してセッションをバックグラウンドにし、1 ステップでエージェントビューを開きます。メッセージがまだない新しいセッションでは、/bg はメッセージを最初に送信するよう求めますが、← はすぐに機能します。セッションは実行し続け、ディスパッチしたセッションと並行して行として表示されます。

通常の claude セッション内では、プロンプトフッターの ← ヒントは、← 2 agents のように入力を待機中のバックグラウンドエージェントの数をカウントし、入力が必要なエージェントがない場合は ← for agents に戻ります。99 を超えるカウントは 99+ として表示されます。カウントはターミナルがフォーカスされている間は約 10 秒ごとに更新され、フォーカスが戻ると即座に更新されます。カウントが移動したときとエージェントが完了したときに色が一時的に変わり、バックグラウンドセッションが完了して入力が必要なエージェントがない場合は、← 2 done のように完了した数を一時的に表示します。prefersReducedMotion 設定がオンの場合は両方のフラッシュがオフになり、スクリーンリーダーモードではヒントは非表示になります。

デフォルトでエージェントビューを開く

引数なしの claude がエージェントビューを新しい会話の代わりに開くようにするには、/config 設定をオンにします。

1

設定をオンにする

通常の claude セッションで /config を実行し、デフォルトでエージェントビューを開くをオンにします。メニューをスキップするには、defaultToAgentsView キーを直接設定します。

/config defaultToAgentsView=true
2

Claude Code を開始する

セッションを終了し、引数なしで claude を実行します。

claude

エージェントビューが新しい会話の代わりに開きます。

設定がオンの場合に通常のセッションを開始するには、プロンプトを渡します。claude "fix the login test"。設定をオフにするには、通常のセッションで、またはエージェントビューからアタッチしたセッションで /config defaultToAgentsView=false を実行します。

エージェントビューでセッションを監視する

claude agents を実行してエージェントビューを開きます。ターミナル全体を占有し、状態でグループ化されたすべてのセッションをリストします。ピン留めされたセッションと入力が必要なセッションが上部に表示されます。各行はセッションの名前、現在のアクティビティ、およびセッションが作成されてからの経過時間を表示します。完了したセッションの経過時間は、実行にかかった時間で固定されます。

名前は、そのセッションで /color によって設定されたカラーで色付けされます。← または /background で セッションをバックグラウンドにする 場合も同様です。

デフォルトでは、リストはすべてのプロジェクト全体で開始したすべてのバックグラウンドセッションを表示します。1 つのリポジトリで作業しているセッションと別の worktree で作業している別のセッションの両方がここに表示されます。エージェントビューを開いたディレクトリに関係なく表示されます。リストを 1 つのプロジェクトに絞り込むには、--cwd を渡します:

claude agents --cwd ~/projects/my-app

これはそのディレクトリの下で開始されたセッションのみを表示します。~/projects/my-app/.claude/worktrees/ の下の worktree に移動した セッションも引き続き表示されます。

他のターミナルで開いているインタラクティブセッションは、バックグラウンドにする までは表示されません。セッションが生成する サブエージェント と チームメイト は、個別の行としてはリストされません。

Pinned
  ✽ clawd walk cycle          Drawing the walk-cycle sprite frames          3m

Ready for review
  ∙ jump physics              Opened PR with collision fix                 #2048  2h

Needs input
  ✻ power-up design           double jump or wall climb?                    1m

Working
  ✽ collision detection       Adding swept-AABB checks to CollisionSystem   2m
  ✢ playtest level 3          all checkpoints cleared ×12                in 4m

Completed
  ✻ title screen              menu, options, and credits done               9m
  ∙ sound effects             14 SFX exported to assets/audio               4h
  … 6 more

セッション状態を読む

各行はアイコンで始まり、アイコンの色とアニメーションはセッションの状態を示します:

状態 アイコン表示 意味
作業中 アニメーション Claude がアクティブにツールを実行しているか、応答を生成しています
入力が必要 黄色 Claude はユーザーにしか提供できないものを待っています。質問への回答、権限の判断、またはユーザーにしか答えられない別のプロンプト(ネットワークホストを許可する サンドボックス プロンプトや MCP サーバーの 入力リクエスト など)です。/install-github-app や /mcp 設定リストなど、アタッチされたターミナルを必要とするコマンドも、無人のセッションをここで保留します
アイドル 薄い セッションはすることがなく、次のプロンプトの準備ができています
完了 緑 タスクが正常に完了しました
失敗 赤 タスクがエラーで終了しました
停止 グレー Ctrl+X または claude stop でセッションを停止したか、そのプロセスが Claude Code の外部から終了されたか、バックグラウンドサービスがオフの間に終了しました

これとは別に、アイコンの形状にも独自の意味があります:

形状 意味
✻ またはアニメーション ✽ セッションプロセスが実行中であるか、セッションがユーザーの入力を必要としています
∙ プロセスは終了しています。行のピーク表示は引き続き可能で、返信またはアタッチすると、Claude は中断したところから再開します
✢ イテレーション間でスリープしている /loop セッションです。行は実行回数とカウントダウンを表示します

行の右端に表示される #N または !N ラベルは セッションのプルリクエストまたはマージリクエスト へのリンクであり、状態アイコンの一部ではありません。

ターミナルタブのタイトルは、エージェントビューが開いている間、入力待ちの数を表示します。セッションが入力を必要とする場合は 2 awaiting input · claude agents、そうでない場合は claude agents です。

スクリプトまたは別のプログラムからセッション状態を読み取るには、~/.claude/jobs/ の下のファイルではなく claude agents --json を使用します。

エージェントビューが開いている間、Claude Code はローカルバックグラウンドセッションが入力を必要とし始めたとき、完了したとき、または失敗したときに、設定された ターミナル通知チャネル を通じて通知を送信します。/loop セッションなどのスケジュールで実行されるセッションは、入力が必要な場合にのみ通知します。通知は Claude Code の他の部分と同じ preferredNotifChannel 設定 を使用し、agent_needs_input または agent_completed タイプで Notification フック を発火します。

バックグラウンドセッションは作業を続けるためにターミナルを開いておく必要がありません。別の スーパーバイザープロセス がセッションを実行するため、エージェントビューを閉じたり、シェルを閉じたり、新しいインタラクティブセッションを開始したりしても、ディスパッチした作業は続きます。

セッション状態はディスク上に永続化され、自動更新やスーパーバイザーの再起動後も保持されます。セッションはマシンがスリープしたときも保持されます。プロセスはウェイク時に再開され、スーパーバイザーは時間の空白をアイドルとして扱う代わりにそれらに再接続します。シャットダウンすると実行中のセッションは停止します。それらを復旧する方法については、シャットダウン後にセッションが失敗または停止として表示される を参照してください。

マシンがスリープしたときに応答の途中だったセッションは、応答しない状態で戻ってくることがあります。応答しなくなったセッションを開くと、スーパーバイザーはそのプロセスを再起動し、セッションは中断された応答を中断したところから続行します。

行の概要

各行の 1 行の概要は Haiku クラスモデル によって生成されるため、トランスクリプトを開かなくても、セッションが何をしているか、何を必要としているか、何を生成したかが行からわかります。セッションがアクティブに作業している間、行のテキストはモデルリクエストを送信せずにセッション自身の最近の出力から最大 15 秒に 1 回更新され、各ターンの終了時にはモデルが新しい概要を書きます。

作業中の行はセッションが何をしていると述べているかを示し、ブロックされた行はセッションが尋ねている質問を示します。長いターンの間は、ビジーな行が古い概要を表示し続けないよう、モデルが数分ごとに概要を書き直します。概要テキストは行の残りの幅を埋めます。ターミナルの端で切り詰められた文を読むには、ピークパネル を開きます。

リストが ディレクトリでグループ化 されている場合、概要はセッションの状態を示す色付きの単語で始まります。例えば Needs input · double jump or wall climb? のようになります。デフォルトの状態グループ化では、グループヘッダーがすでに状態を示しているため、行は概要のみを表示します。

ターン終了時の概要と各ターン途中の書き直しは、通常のプロバイダーを通じた 1 回の短い Haiku クラスリクエストであり、セッション自体と同じ データ使用条件 の下で課金および処理されます。モデルによる書き直しの間の 15 秒ごとの更新はセッション自身の出力を再利用し、リクエストを送信しません。Haiku クラスモデルが設定されていないサードパーティプロバイダーまたはゲートウェイでは、リクエストは代わりにセッションのメインモデルを使用します。モデルを選択するには ANTHROPIC_DEFAULT_HAIKU_MODEL を設定します。

プルリクエストステータス

セッションが プルリクエストを開く と、Claude Code は行の右端にプルリクエストへリンクされたラベルを追加します:

  • Claude Code はラベルを、プルリクエストの場合は #1234、GitLab マージリクエストの場合は !1234 と書きます。
  • Claude Code は、SSH や tmux 経由などハイパーリンクのサポートを検出できない場合でもリンクを出力します。ラベルをプレーンテキストとしてレンダリングするには FORCE_HYPERLINK=0 を設定します。
  • セッションにフォローアップを送信した後も、行がライブの進捗表示に戻る間、Claude Code はラベルを保持します。

既存のプルリクエストで作業するセッションも同じ方法でリンクされます。Claude Code がプルリクエストを見つける方法は、Claude が実行するコマンドによって異なります:

  • Claude が gh でプルリクエストを編集、コメント、クローズ、またはレディにマークすると、Claude Code はそのコマンド自身の出力が示すプルリクエストをリンクします。キャプチャされた出力がプルリクエストを示さない gh コマンドはリンクを作成しません。よくあるケースは gh pr merge で、結果をインタラクティブなターミナルにのみ出力するためです。
  • Claude が gh pr checkout でプルリクエストをチェックアウトするか、ブランチにプッシュすると、Claude Code は gh pr view でブランチを調べ、そのオープンなプルリクエストをリンクします。
  • Claude がプッシュする時点でプルリクエストが存在している必要はありません。Claude Code は、同じディレクトリでその後に実行される最大 5 つの git、gh、glab、または curl コマンドの後にブランチの検索を再試行するため、Claude が GitHub REST API を通じて作成したものも含め、プッシュ後に作成されたプルリクエストは、再試行で見つかった時点でリンクされます。

セッションが複数のプルリクエストにリンクされている場合、ラベルは代わりに 3 PRs のような数を表示し、最も注意が必要なオープンなプルリクエストに応じて色付けされます。すべてを確認するには ピークパネル を開きます。

プルリクエスト番号はそのステータスで色付けされます:

カラー プルリクエストステータス
黄色 チェックまたはレビューを待機中、またはチェックが失敗
緑 チェックが成功し、レビューがブロックされていない
紫 マージ済み
グレー ドラフトまたはクローズ

タスクがプルリクエストで終了する場合、このラベルで結果を確認します。番号が緑になったらプルリクエストをレビューしてマージします。

ピーク表示と返信

選択した行で Space を押してピークパネルを開きます。パネルは、行がターミナルの端で切り詰めている文とともに開き、その文がどれかはセッションの状態によって異なります:

  • ユーザーを待っているセッション:尋ねている正確な質問。返信入力の上に表示されます
  • 完了したセッション:その結果
  • 作業中のセッション:その完全なステータス文

次に、セッションにリンクされたプルリクエストがリストされます。ユーザーを待っているセッションの場合、その下に waiting 3m のような行が表示されて待機時間を示し、これがパネルに表示される唯一の時間です。行の右端の経過時間は別の数字で、セッションが開始されてからカウントされます。

ほとんどの場合、ピークパネルで十分であり、完全なトランスクリプトを開く必要はありません。

ピークパネルに返信を入力して Enter を押すと、そのセッションに送信されます。返信の先頭に ! を付けると、代わりに Bash コマンドを送信します。返信がどう扱われるかは、セッションと送信する内容によって異なります:

  • 作業中のセッション:返信は応答を中断せずにセッションの メッセージキュー に追加され、キューに入れた入力が反映されるタイミング で反映されます。コマンド は、セッション自体のプロンプトで入力するとすぐに実行されるものであっても、ターンが終了するまで待機します
  • /stop だけの返信:セッションに届けられるのではなく、セッションが作業中でもユーザーを待っている状態でも、その場でセッションを停止します
  • シェルジョブ:返信は /stop も含め、入力としてコマンドのターミナルに送られます

セッションがユーザーを待っている場合、ピークパネルからの答え方は、セッションが何を待っているかによって異なります:

  • 選択肢が用意された質問:パネルには選択肢が番号付きで表示されます。返信入力が空の状態で選択肢の番号を押すと入力され、Enter で送信できます。または、代わりに独自の回答を入力します
  • 選択肢のない質問:回答を入力します。空の入力に返信の候補が表示されている場合は、Tab を押して入力し、送信前に編集できます
  • 権限プロンプトまたはその他のダイアログ(サンドボックス プロンプトや MCP サーバーの 入力リクエスト など):返信してもダイアログには答えられません。返信はキューで待機します。ダイアログに答えるには、→ でアタッチします

PermissionRequest または PreToolUse フックが、セッションが尋ねている呼び出しについて Claude Code が検証できない出力を返した場合、行には保留中のリクエストのテキストの前に、フックイベントと hook output invalid: および検証エラーが表示されます。別の形で失敗したフックの場合、行にはフックが失敗したことが表示されます。セッションは引き続き同じリクエストで待機します。

バックグラウンドサービスに到達できない、または送信に失敗したために配信できなかった返信は保存され、そのプロセスが再び起動したときにセッションの次のプロンプトとして送信されます。エラーメッセージには返信が保存されたことが示されます。! を先頭に付けた返信は保存されません。保存されたテキストは Bash コマンドとして実行されるのではなく、通常のプロンプトとしてセッションに届いてしまうためです。

音声ディクテーション を ホールドモード で有効にしている場合、返信入力がフォーカスされている間にプッシュトゥトークキーを押し続けると、入力する代わりに返信をディクテーションできます。エージェントビュー下部のディスパッチ入力でも同じように機能します。

↑ と ↓ を使用してパネルを閉じずに隣接するセッションをピーク表示するか、→ を使用してアタッチします。

セッションにアタッチする

選択した行で Enter または → を押してアタッチします。エージェントビューは完全なインタラクティブセッションに置き換えられます。アタッチすると、Claude は不在中に何が起こったかの短い要約を投稿します。

アタッチ中、セッションは他の Claude Code セッションと同様に動作します。コマンド、キーボードショートカット、機能はすべて動作しますが、以下の例外があります。

アタッチ中は、ターミナルにいる人がダイアログを完了できるため、/install-github-app と /mcp 設定リストは通常どおり機能します。誰もアタッチしていない場合、これらのコマンドはダイアログを開けないため、セッションはエージェントビューの Needs input の下に open this session to manage MCP servers のような行とともに表示され、トランスクリプトの返信にも同じ内容が示されます。続行するにはアタッチしてコマンドを再度実行します。アタッチすると入力が必要な行はクリアされます。/mcp reconnect <server>、/mcp enable、および /mcp disable は、どちらの場合もアタッチせずに機能します。

バックグラウンドセッションには追記先となるターミナルのスクロールバックがないため、アタッチされたセッションは tui 設定に関係なく、常に フルスクリーンモード でレンダリングされます。PgUp、PgDn、またはマウスホイールでスクロールし、トランスクリプトモードには Ctrl+O を押します。ターミナルのネイティブスクロールと tmux のコピーモードは現在のビューポートのみを表示します。これはフルスクリーンアプリケーションを実行するときと同じです。

空のプロンプトで ← を押すか、/exit を実行してデタッチし、エージェントビューに戻ります。エージェントビューからセッションを開いたか、シェルから claude attach <id> を実行したかに関係なく機能します。

← は /btw オーバーレイ が開いている間もデタッチします。Claude Code v2.1.257 以降が必要です。回答中のサイド質問は、離れている間も実行を続けます。次にアタッチすると、オーバーレイがその質問、またはその回答とともに再び開きます。

Windows では、アタッチしてから約 0.5 秒以内に ← を押すと、Claude Code は Ambiguous ←, press again to detach を表示します。その時間内は、アタッチ前の押下をターミナルが再送することがあるためです。デタッチするには ← を再度押します。

Ctrl+Z もデタッチしますが、開始した場所に戻ります。エージェントビューからアタッチした場合はエージェントビュー、claude attach を実行した場合はシェルです。ダイアログがフォーカスを持っていて ← に応答しない場合は Ctrl+Z を使用します。

Ctrl+C はアタッチ中も標準的な割り込み動作を保持します。デタッチするのではなく、実行中の応答または ! シェルコマンドをキャンセルします。空のプロンプトで Ctrl+C を 2 回押すとデタッチします。これは他のセッションと同じです。

デタッチしてもバックグラウンドセッションは停止しません。←、Ctrl+Z、/exit、および Ctrl+C または Ctrl+D の 2 回押しは、いずれもセッションを実行したままにします。セッション内からセッションを終了するには、/stop を実行します。

ターミナルを離れずにセッションを切り替える

フォアグラウンドで実行しているセッション、つまりエージェントビューからアタッチするのではなくターミナルで開始したセッションでは、空のプロンプトで ← を押すとセッションがバックグラウンドになり、その行が選択された状態でエージェントビューが開くため、ターミナルを離れずにセッションを切り替えられます。同じ 1 回の押下で、アタッチされたセッションはデタッチされます。

プロンプトのテキストの最後の文字を削除した直後、またはプロンプト履歴を移動した直後に ← を押すと、Claude Code は確認を求めます。最初の押下では Press ← again to open agents(アタッチされたセッションでは Press ← again to go back to agents)が表示され、2 回目の押下で切り替わります。

← がフォアグラウンドセッションをバックグラウンドにすると、エージェントビューはリストの上に Your conversation moved to the background を表示し、そのセッションの行が既に選択されています。そこから:

  • Enter を押して会話を再度開きます。
  • Esc を押して切り替えを元に戻し、会話に戻ります。Esc で Still starting — try again in a moment が表示される場合、バックグラウンドセッションはまだ準備ができていないため、しばらくしてから Esc を再度押します。
  • Ctrl+C を 2 回押してシェルに終了します。

Claude Code が会話を再度開けない場合は、終了して会話を再開する claude --resume コマンドを出力します。

Claude のタスクリスト は会話とともにバックグラウンドセッションに移動するため、その行に戻ったときもチェックリストはそのまま残っています。

← を押した元の行は、矢印キーまたはマウスで選択を移動した後も、太字で薄くない名前を保持するため、どのセッションから来たかがわかります。

← を押したときにツールが実行中の場合、Claude Code はバックグラウンドにする前に最大約 10 秒間その完了を待ち、Claude はバックグラウンドセッションで応答を続けます。待たずにすぐにバックグラウンドにするには、← を再度押します。進行中の作業をバックグラウンドセッションに引き継げない場合、Claude Code は /background と同様に、まず Background this session? ダイアログを表示します。

Claude が会話で開始した フォアグラウンドのサブエージェント がまだ実行中の間は、10 秒の制限は適用されません。Claude Code はそれらの作業が引き継がれるよう待機を続け、待機中は Still backgrounding after the current tool 通知を表示します。待たずにバックグラウンドにするには ← を再度押しますが、その場合それらのサブエージェントは最初からやり直しになります。Claude Code は 動的ワークフロー が実行しているサブエージェントは待ちません。ワークフローでサブエージェントが実行中の場合、Claude Code は代わりに Background this session? ダイアログを表示します。

プロンプト入力に未送信のテキストがある間、Claude Code はセッションをバックグラウンドにしません。そのテキストはターミナルの入力ボックスに残り、バックグラウンドセッションには移動しないためです。Claude Code がセッションをバックグラウンドにするのを待っている間に入力欄に入力すると、Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again. と表示されて切り替えがキャンセルされます。

← を押すと、会話にまだメッセージがない場合でもセッションの行が作成されるため、→ でその行に戻れます。

フォアグラウンドセッションでのこのショートカットは、/config の leftArrowOpensAgents 設定でオフにできます。

リストを整理する

エージェントビューはセッションをグループ化し、入力が必要なセッションが上部に表示されます。Ready for review と Needs input は Working と Completed の上に表示されます。これらのグループ名は上記の 状態 と 1 対 1 で対応していません。セッションは、レビューが必要なオープンなプルリクエスト、またはチェックが失敗しているオープンなプルリクエストを持つと Ready for review に移動し、Completed には完了、失敗、および停止したセッションがまとめて入ります。

Ctrl+S を押すと、代わりにディレクトリでグループ化します。選択内容は次回以降の実行にも保持されます。

グループ内で:

  • Ctrl+T を押してセッションをトップにピン留めし、アイドル中もそのプロセスを実行し続けます
  • Shift+↑ または Shift+↓ を押してセッションを並べ替えます
  • Ctrl+R を押してセッションの名前を変更します
  • グループヘッダーで Enter を押すと、そのグループを折りたたみます。ただし、フィルター が有効な間は、すべてのグループが展開されたままになります

セッションをリストから削除するには、Ctrl+X を押して停止し、2 秒以内に Ctrl+X を再度押して削除します。グループヘッダーで Ctrl+X を押すと、確認後、そのグループ内のすべてのセッションが削除されます。

2 回目の押下は、たとえば バックグラウンドサービスが応答していない ために停止の試みが失敗した場合でも、セッションを削除します。確認はさらに 2 秒間有効なままで、削除によってセッションのプロセス自体が終了されます。削除せずに確認を閉じるには Esc を押します。

セッションを削除するときに削除されるもの で説明されている保持されるケースを除き、削除するとセッションはリストから削除され、Claude がそのセッション用に作成した worktree は、削除方法と worktree の内容に応じて、削除、保持、またはそのまま残されます。会話のトランスクリプトは常にローカルマシンに残り、claude --resume から利用できます。

Claude Code v2.1.212 以降でセッションを戻すには、ディスパッチ入力に /resume と入力します。ピッカーが開き、エージェントビューを開いたリポジトリの過去のセッションが新しい順に表示されます。リストから削除したセッションも含まれますが、既に行があるセッションは表示されません。↑/↓ で選択を移動し、Enter で選択したセッションをバックグラウンドセッションとして再開して行としてリストに戻し、Esc でピッカーを閉じます。

ピッカーは引数なしの /resume に対してのみ開きます。対象を指定した、スコープされた、または制限された再開はピッカーでは処理できないため、次の場合、エージェントビューは代わりに attach to a session to run it ヒントを表示します:

  • /resume に ID または検索語が指定されている
  • ビューが --cwd でスコープされている
  • ビューが --safe-mode で開始された
  • ビューが --permission-mode や --settings などのフラグで開かれた

画面に収まらない完了したセッションは … N more 行に折りたたまれます。Completed グループはライブグループの後に残った縦のスペースを埋め、短いターミナルではヘッダーが 1 行の概要に圧縮されるため、作業中または入力が必要なセッションは表示されたままになります。

セッションをフィルタリングする

ディスパッチ入力を次のいずれかのフィルターで始めると、入力に合わせてリストが絞り込まれます:

フィルター 表示
a:<name> 名前付きエージェントを実行しているセッション
s:<state> s:working のように指定した状態のセッション、または Ready for review に対する s:ready のように指定したグループヘッダーの下にあるセッション。s:blocked はユーザーを待っているすべてのセッションを表示します
n:<text> 名前または最初のプロンプトにそのテキストを含むセッション。例:n:login。Claude Code v2.1.287 以降が必要です
o:<text> 結果にそのテキストを含むセッション。例:o:merged。o: だけの場合は、結果を報告したすべてのセッションを表示します
#1234 などのプルリクエストまたはマージリクエストの番号、またはその URL そのプルリクエストまたはマージリクエストで作業しているセッション
その他の URL 最初のプロンプトにその URL が含まれていたセッション

フィルターを組み合わせるには、a:、s:、n:、または o: で始め、スペースで区切って追加します。リストには、そのすべてに一致するセッションが表示されます。たとえば、s:blocked a:reviewer は、ユーザーを待っている reviewer セッションを表示します。

フィルターが有効な間は、折りたたんだグループが展開されて一致するセッションが表示され、一致するセッションが選択されるため、Enter を押すとそのセッションが開きます。入力をクリアするとフィルターが解除され、それらのグループは再び折りたたまれます。

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

エージェントビューで ? を押すと、ショートカットをコンテキスト内で確認できます。下の表はそれらをまとめたものです。

ショートカット アクション
↑ / ↓ 行間を移動
PgUp / PgDn 1 画面分の行だけ上または下に移動
Home / End 最初または最後の行にジャンプ
Enter 選択したセッションにアタッチするか、入力のテキストが フィルター でない場合はそのテキストを送信
Space 選択したセッションのピークパネルを開くまたは閉じる
Shift+Enter メインプロンプトと同様に、ディスパッチ入力に改行を挿入
Ctrl+Enter ディスパッチしてすぐにアタッチ。? オーバーレイに ctrl+enter to start and open が表示されるターミナルで利用可能
→ 選択したセッションにアタッチ
Alt+1..Alt+9 フォーカスされたセッションのディレクトリ内のセッション 1~9 にアタッチ
Tab 空の入力では、すべてのサブエージェントを参照。それ以外の場合はハイライトされた候補を適用
Ctrl+S グループ化を状態とディレクトリの間で切り替え
Ctrl+T 選択したセッションをピン留めまたはピン留め解除
Ctrl+F n: フィルター を使って名前でセッションを検索
Alt+↑ / Alt+↓ 前または次のグループヘッダーにジャンプ
Ctrl+R 選択したセッションの名前を変更
Ctrl+G $VISUAL または $EDITOR でディスパッチプロンプトを開く
Ctrl+J ディスパッチ入力に改行を挿入
Ctrl+X セッションを停止。2 秒以内に再度押して削除
Shift+↑ / Shift+↓ 選択したセッションを並べ替え
Esc ピークパネルを閉じるか、入力をクリアするか、終了します。← でセッションをバックグラウンドにしてエージェントビューを開いた場合、最後の Esc は終了する代わりにその会話に戻ります。vim エディターモード がオンの場合、入力で Esc を押すと、メインプロンプトと同様に INSERT から NORMAL モードに切り替わり、テキストは保持されます
Ctrl+C 入力をクリア。2 回押して終了
? ショートカットを表示

Agents コンテキスト にアクションがあるショートカットは、keybindings.json に従います。Ctrl+G も、Chat コンテキストの chat:externalEditor バインディングを通じて同様に従います。

新しいエージェントをディスパッチする

エージェントビューから新しいバックグラウンドセッションをディスパッチしたり、既存のインタラクティブセッションをバックグラウンドに送信またはコピーしたり、シェルから直接開始したりできます。

エージェントビューから

エージェントビューの下部の入力にプロンプトを入力して Enter キーを押すと、新しいバックグラウンドセッションが開始されます。セッションはプロンプトから自動的に名前が付けられます。後で Ctrl+R で名前を変更できます。

自動名は Haiku クラスのモデル が書いた短いラベルです。セッションが後から取得した名前もその行に表示されます。これには、そのセッションで プランを承認 したときにセッションに付けられる 生成されたタイトル も含まれます。

プロンプトに画像を貼り付けて、スクリーンショットや図をタスクに含めることができます。

800 文字を超えるか 3 行を超える貼り付けテキストは [Pasted text #N] プレースホルダーに折りたたまれるため、入力は 1 行のままになります。ディスパッチ時には完全なテキストが送信されます。ディスパッチ前に折りたたまれたテキストを確認または編集するには、同じテキストを再度貼り付けると、プレースホルダーが入力内に展開されます。

プロンプトの一部にプレフィックスを付けたりメンションしたりして、セッションの開始方法を制御します。

入力 効果
<agent-name> <prompt> 最初の単語がカスタム サブエージェント 名と一致する場合、そのサブエージェントがフロントマターの設定でセッションのメインエージェントとして実行されます
@<agent-name> プロンプト内の任意の場所でカスタムサブエージェントをメンションして、メインエージェントとして実行します
@<repo> リポジトリをメンションして、そこでセッションを実行します。どのリポジトリがリストされるかについては 特定のディレクトリにディスパッチする を参照してください
/<command> プロンプトとしてディスパッチする スキル と コマンド を候補表示します
! <command> Claude セッションを開始する代わりに、シェルコマンドをバックグラウンドジョブとして実行します。ジョブは行として表示され、アタッチ、監視、デタッチできます
#<number> またはプルリクエストまたはマージリクエストの URL そのプルリクエストまたはマージリクエストで既に作業しているセッションがある場合、Claude Code は新しいセッションをディスパッチする代わりにその行を選択します

少数のコマンドは、ディスパッチする代わりにエージェントビュー自体で実行されます。

  • /exit と /quit はエージェントビューを閉じます
  • /logout はサインアウトします
  • /model は ディスパッチモデル を設定します
  • /login はサインインダイアログを開き、セッションにアタッチせずに再度サインインできます
  • 引数なしの /resume、またはそのエイリアス /continue は、リポジトリの過去のセッションのピッカーを開き、1 つをバックグラウンドセッションとして 復帰させます。Claude Code v2.1.212 以降が必要です

スキル、独自のコマンド、および /init などのプロンプトを展開する組み込みコマンドは、新しいバックグラウンドセッションの最初のプロンプトとして送信されます。その他の組み込みコマンドは、代わりに attach to a session to run it ヒントを表示します。入力した内容はすべてヒントの横の入力に残るため、編集できます。

繰り返しのタスクを スキル としてパッケージ化すると、プロンプトを再入力することなく、エージェントビューから同じワークフローを繰り返し開始できます。

同じ @name がサブエージェントと兄弟リポジトリの両方に一致する場合、サブエージェントが優先されます。最初の単語のみによる一致も適用されるため、たまたまサブエージェント名のいずれかで始まるプロンプトは、その単語をプレーンテキストとして扱わずにそのサブエージェントをディスパッチします。明示的にしたい場合は @ 形式を使用し、一致を避けるには別の単語でプロンプトを開始します。

特定のディレクトリにディスパッチする

新しいセッションは、エージェントビューを開いたディレクトリで実行されます。別のディレクトリを対象にするには、以下のいずれかを使用します。

  • そのディレクトリで claude agents を開きます。

  • 親ディレクトリで claude agents を開き、プロンプトで @<repo> を使用して子リポジトリをメンションします。@ を入力すると、以下の対象がリストされます。

    • 起動ディレクトリの 1 階層下にある Git リポジトリ
    • 起動元のリポジトリに登録された git worktree のうち、そのディレクトリツリー内にあるもの(Claude が .claude/worktrees/ の下に作成したものなど)。チェックアウトされたブランチでラベル付けされます。git worktree add ../feature などでリポジトリの外に追加された worktree はリストされません
    • リストに既にセッションがあるディレクトリ

    名前にスペースを含むディレクトリはリストされません。

  • シェルから、そのディレクトリに cd して claude --bg "<prompt>" を実行します。

エージェントビューがディレクトリでグループ化されている場合、ディスパッチは選択した行のディレクトリにプロンプトを送信するため、パスを再入力することなくグループを選択してそこにディスパッチできます。

セッション内から

2 つのコマンドで、作業中のセッションからバックグラウンドに作業を移動できます。/background は現在の会話をバックグラウンドに送信してターミナルを解放し、/fork はコピーを送信して、元の場所で作業を続けられるようにします。

セッションをバックグラウンドに送信する

/background またはそのエイリアス /bg を実行すると、現在の会話がバックグラウンドセッションに移動します。/bg run the test suite and fix any failures のようにプロンプトを渡すと、先にもう 1 つ指示を与えられます。/bg の実行時に Claude が応答中の場合、応答はバックグラウンドセッションで続行されます。

サブエージェント、バックグラウンドシェルコマンド、ワークフロー、モニター などのバックグラウンド作業がまだ実行中のセッションを終了しようとすると、すぐに終了する代わりに Background work is running ダイアログが表示されます。Move to background and exit を選択すると、/background と同じ方法でセッションをバックグラウンドに移動してシェルに戻ります。エージェントビューが オフになっている 場合、このオプションは表示されません。

リスト上のバックグラウンドセッションが既にその会話の名前を持っている場合、Claude Code は新しい行の名前に my-session (2) のような番号を付け、既存の行の名前はそのままにします。新しい行の名前を変更するには、エージェントビューでその行を選択して Ctrl+R を押します。

/fork でセッションをコピーする

/fork を実行すると、元のセッションを実行したまま、現在の会話を新しいバックグラウンドセッションにコピーします。コピーはその時点までの会話のすべてを持って開始されます。コピーが実行される場所については、以下の箇条書きを参照してください。また、モデル、権限モード、effort レベル、およびセッション中に追加したディレクトリや「今後は確認しない」権限付与も引き継ぎます。コピーはエージェントビューに独自の行として表示されます。

フォーク後、2 つの会話は独立しています。コピーが行ったことが自動的に元の会話に入ることはありません。ただし、クロスセッションメッセージング が有効なセッションでは、どちらのセッションの Claude も明示的にもう一方にメッセージを送信できます。

セッションのコピーには Claude Code v2.1.212 以降が必要です。v2.1.161 から v2.1.211 では、/fork は代わりに フォークされたサブエージェント を開始します。これは現在の /subtask です。エージェントビューがオフになっている 場合、/fork はフォークされたサブエージェントの動作を維持し、/subtask は利用できません。

/fork open a draft pull request with the work so far のようにプロンプトを渡すと、コピーはすぐにその作業を開始します。プロンプトがない場合、コピーは最初の指示を待ちます。claude agents でその行を選択して Space を押して指示を送信するか、claude attach <id> を実行します。待機中、選択された行には space to send it a prompt が表示されます。

/fork の確認は 1 行で、コピーの状態(session running など)、エージェントビューの行の名前、および claude attach 用のセッション ID を表示します。名前をクリックするとコピーに切り替わります。← を押した場合と同様にこのセッションはバックグラウンドに移動し、エージェントビューがコピーのセッションを開きます。

コピーが その場で編集する 場合を除き、Claude Code はコード変更を行う前に独自の worktree を作成するようコピーに指示します。git リポジトリの外では、フックが作成した worktree から移動したコピーのみがこの指示を受けます。WorktreeCreate フック がない場合、コピーはその場で編集します。元のセッションの worktree から移動したコピーには、分離設定に関係なく、その worktree を編集したり、そこでコマンドを実行したり、そこに入ったりしないようにも指示されます。

コピーが開始される場所は、現在のセッションが実行されている場所によって異なります。

  • ディスパッチされた他のセッションと同様に、コピーは ファイルを編集する前に独自の worktree に移動します。その場合、確認にはコピーが実行される場所は記載されません。
  • セッションが開始後にリンクされた worktree に移動した場合、コピーは移動前にセッションがあった場所で開始され、その場で編集する 場合を除き、そこで独自の worktree を作成してコード変更を行います。元のセッションの worktree がブランチをチェックアウトしている場合、その指示には、元のセッションの作業に基づくタスクを行うコピーが新しいブランチを元のブランチに基づいて作成するよう伝える内容も含まれます。元のブランチは worktree でチェックアウトされたままだからです。確認は runs in the origin tree で終わります。
  • メインの作業ツリーを持つリポジトリのリンクされた worktree 内でセッションを起動した場合、コピーはそのメインの作業ツリーで開始され、独自の worktree を作成するルールは同じですが、ブランチについての指示はありません。この場合も確認は runs in the origin tree で終わります。
  • ベアリポジトリ構成の worktree 内で起動されたセッションには戻るべきメインの作業ツリーがないため、コピーはその場所にとどまり、確認は edits this checkout で終わります。リンクされた worktree 内にないセッションで worktree 分離が オフになっている 場合も、コピーが開いているファイルを編集することになるため、同じ注記が表示されます。

置き換えられたシステムプロンプトや --tools 許可リストなど、コピーが継承しない起動フラグで開始されたセッションはフォークできません。Claude Code は部分的なコピーを作成する代わりに、その旨を伝えます。エージェントビューからディスパッチされたセッションは通常どおりフォークできます。コピーは元のセッションと同じ エージェント定義 と追加指示で起動されます。

バックグラウンドに移動するときに引き継がれるもの

バックグラウンドへの移動では、保存された会話から再開する新しいプロセスが開始され、進行中の作業はそのプロセスに移動します。実行中のバックグラウンドシェルコマンド、バックグラウンド化されたサブエージェント、動的ワークフロー、/loop で作成したスケジュールタスク、および Claude の アーティファクトコメントへの自動返信 はすべて引き継がれ、そこで実行を続けます。サブエージェントは自身が開始したすべてのものと一緒に移動するため、その作業のすべてが移動できる場合にのみ引き継がれます。進行中の作業を引き継がずに停止するには、CLAUDE_DISABLE_ADOPT=1 環境変数を設定します。その場合、Claude Code はバックグラウンドに移動する前に確認を求めます。

動的ワークフロー でまだサブエージェントが実行中の場合、Claude Code はバックグラウンドに移動する前に Background this session? ダイアログで確認を求め、再起動されるサブエージェントの数を示します。先に完了させるには Stay を選択します。確認すると、Claude Code はバックグラウンドセッションで実行を再生します。まだ実行中だったサブエージェントは最初からやり直されるため、それまでに使用したトークンは再度消費されます。完了したサブエージェントのうち、保存された結果を返すものと再実行されるものについては、一時停止後の再開 を参照してください。

Claude Code は、実行中の モニター など引き継げない作業を停止し、モニターを所有するバックグラウンド化されたサブエージェントも一緒に停止します。そのような作業が実行中の場合、Claude Code は Background this session? ダイアログを表示し、作業を停止する前に確認できるようにします。

バックグラウンドに移動した後、セッションは新しいサブエージェント、モニター、バックグラウンドコマンドを開始でき、それらはその後のデタッチや再アタッチをまたいで実行を続けます。

元の起動時の設定フラグはバックグラウンド化されたセッションに引き継がれるため、その MCP サーバー、設定、フォールバックモデルは引き続き有効です。

  • --mcp-config と --strict-mcp-config
  • --settings
  • --setting-sources
  • --add-dir
  • --plugin-dir
  • --fallback-model
  • --allow-dangerously-skip-permissions

セッション中に /add-dir で追加したディレクトリも引き継がれます。--allow-dangerously-skip-permissions を引き継ぐと、バックグラウンド化されたセッションでも bypassPermissions に切り替えられる状態が維持されますが、新たに何かを付与するわけではありません。このモードには引き続き、権限モード、モデル、effort で説明されている 1 回限りのインタラクティブな同意が必要です。

シェルから

--bg またはその長い形式 --background を渡すと、直接バックグラウンドで動作するセッションを開始します。

claude --bg "investigate the flaky SettingsChangeDetector test"

プロンプトは位置引数であり、-p の値ではありません。Claude Code は、-p または --print と組み合わせた --bg をセッションの作成前に拒否します。--print は claude agents がアタッチするインタラクティブセッションを開始しないためです。

信頼していない ディレクトリのターミナルから claude --bg を実行すると、最初にワークスペース信頼ダイアログが表示され、同意するとセッションが開始されます。拒否すると、Claude Code はセッションを開始せずに終了します。スクリプト内など、ダイアログを表示できない場所では、コマンドは代わりに Workspace not trusted エラーで終了します。

code-reviewer など、定義済みの特定の サブエージェント をセッションのメインエージェントとして実行するには、--bg を --agent と組み合わせます。

claude --agent code-reviewer --bg "address review comments on PR 1234"

名前がどのサブエージェントにも一致しない場合、起動は失敗します。Claude Code は no agent named 警告を出力し、セッションをバックグラウンド化したと報告しますが、セッションは --agent '<name>' not found エラーで直ちに終了します。

バックグラウンド化されたセッションが後で再開または再起動されると、Claude Code はエージェントとそのツール制限を復元します。システムプロンプトについては、再開された会話でのシステムプロンプトフラグ を参照してください。そのワークスペースを信頼している 場合、Claude Code はまずセッション自身のディレクトリでエージェントを検索するため、プロジェクトスコープのエージェントは、セッションが別のディレクトリから再開された場合でも読み込まれます。エージェントが存在しなくなった場合、セッションはデフォルトのツールで続行され、そのトランスクリプトは エージェント名を示す警告 とともに開きます。

既存の会話をバックグラウンドで続行するには、その完全なセッション ID を --resume で渡します。

claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"

Claude Code v2.1.257 以降では、Claude Code はそのセッションを同じ ID で続行するか、新しい ID でコピーを開始し、その場で続行できなかった理由を説明する note: 行を出力します。セッションがその場で続行される場合、claude agents にはそのセッションの行が 1 つ表示されます。

--bg を --continue、引数なしの --resume、または名前やファイルパスを指定した --resume と組み合わせると、Claude Code は常にそのようなコピーを開始します。注記なしで意図的にコピーを開始するには、--fork-session を追加します。

エージェントビューでの表示名を自動生成されたものの代わりに設定するには、--name を渡します。

claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

バックグラウンド化の後、Claude はセッションの短い ID と、セッションを管理するためのコマンドを出力します。バックグラウンドセッションをホストするサービスがまだ実行されていない場合、--bg はこの出力の前に Starting background service… を出力することがあります。--name を渡すと、名前は短い ID の後に表示されます。

backgrounded · 7c5dcf5d · flaky-test-fix
  claude agents             list sessions
  claude attach 7c5dcf5d    open in this terminal
  claude logs 7c5dcf5d      show recent output
  claude stop 7c5dcf5d      stop this session

シェルコマンドを実行する

Claude セッションの代わりにシェルコマンドをバックグラウンドジョブとして実行するには、--exec を渡します。次の例は pytest -x をバックグラウンドジョブとして実行します。

claude --bg --exec 'pytest -x'

エージェントビューでは、ディスパッチ入力の最初の文字として ! を入力すると、同じ種類のジョブをディスパッチできます。! はプレフィックスとして表示され、その後に続くものすべてがコマンドとなり、Enter でジョブが開始されます。

コマンドは PTY ベースのジョブとして実行され、エージェントビューに行として表示され、出力の最新行がそのステータスになります。シェルジョブは Claude の代わりにコマンドを実行するため、モデルは呼び出されず、出力はどのセッションにも送信されません。

出力を表示するには、行にアタッチするか、Space を押してアタッチせずにプレビューするか、シェルから claude logs <id> を実行します。キャプチャされた出力はメモリ内に保持され、ディスクには書き込まれません。行とその出力はコマンドの終了から約 5 分後に自動的にクリーンアップされるため、結果が必要な場合はそれまでに確認してください。

ファイル編集の分離方法

エージェントビューからバックグラウンドセッションをディスパッチするか、claude --bg で開始すると、セッションは作業ディレクトリで開始されます。ファイルを編集する前に、Claude はセッションを .claude/worktrees/ の下にある分離された git worktree に移動します。これにより、並列セッションは同じチェックアウトを読み取りつつ、それぞれ独自の場所に書き込めます。セッションが worktree に入ると、Claude Code はそのセッションと、セッションが生成するすべてのサブエージェントに対して worktree 分離を強制します。

Claude は以下の場合に worktree をスキップします。

  • 既に開いていたセッションを ← または /background で バックグラウンドに移動した 場合。そのセッションは、既に作業していた場所でファイルの編集を続けます
  • セッションが既にリンクされた git worktree 内にある場合。Claude が .claude/worktrees/ の下に作成したものか、git worktree add で別の場所に作成したものかは問いません
  • Claude が編集しているファイルが、セッションまたはそのサブエージェントが git worktree add で作成したものなど、リンクされた git worktree 内にある場合
  • 作業ディレクトリが git リポジトリではなく、WorktreeCreate フック も設定されていない場合
  • 書き込み先が作業ディレクトリの外にある場合

git worktree が実用的でないリポジトリで worktree 分離をオフにするには、worktree.bgIsolation を "none" に設定します。バックグラウンドセッションは、先に worktree に移動することなく、作業コピーを直接編集するようになります。プロジェクトの .claude/settings.json に設定を追加します。

{
  "worktree": {
    "bgIsolation": "none"
  }
}

git リポジトリの外では、セッションは作業ディレクトリに直接書き込み、互いに分離されないため、同じファイルを編集する並列セッションのディスパッチは避けてください。別のバージョン管理システムを使用している場合は、WorktreeCreate フック を設定すると、Claude は git の場合と同じ方法で編集を分離します。

git リポジトリではないディレクトリでフックが失敗した場合、Claude はそのディレクトリの分離をスキップし、作業ディレクトリをその場で編集します。git リポジトリ内では、編集前に Claude が worktree に移動させるセッションは、その移動が行われるまで共有チェックアウト内のファイルを編集できません。

セッションの worktree のパスを確認するには、アタッチしてその作業ディレクトリを確認します。

バックグラウンドセッションが生成する サブエージェント は、セッションの作業ディレクトリを継承します。セッションが worktree に入ると、サブエージェントのファイル編集は作業コピーではなくその worktree に反映されます。代わりにサブエージェントに独自の別の worktree を与えるには、そのフロントマターで isolation: worktree を設定するか、生成時に isolation: "worktree" を渡します。

Claude が入った worktree でバックグラウンドセッションがコード変更を行った場合、Claude Code は完了前に作業を保存するよう Claude に指示します。これにより、セッションとその worktree を削除しても作業が失われません。

  • コミットとプッシュ: Claude は確認なしでコミットし、リポジトリにリモートがある場合はブランチをプッシュします。
  • ドラフトプルリクエスト: タスクが必要とする場合、Claude はプルリクエストを作成し、行に #N ラベル が表示されます。
  • 行わないこと: main または master へのプッシュ、フォースプッシュ、マージ。
  • ユーザーの git に関する指示が優先されます: タスク、CLAUDE.md、または メモリ で、コミットやプッシュはユーザー自身が行うと指定されている場合、Claude は git 操作をユーザーに任せます。

自身で分離したのではないチェックアウトを編集するセッションは、コミットやブランチの切り替えの前に引き続き確認を求めます。これは、分離が "none" に設定されている場合、worktree への移動が失敗した場合、または既存の worktree 内でセッションが開始された場合に適用されます。

タスクの内容にかかわらず、Claude は何を行ったか、および作業がどこにあるか(パス、ブランチ、プルリクエスト、または回答そのもの)を示すレポートでジョブを終えます。

セッションを削除すると何が削除されるか

セッションを削除するには、エージェントビュー で Ctrl+X を 2 回押すか、claude rm を使用します。以下で保持されるケースを除き、セッションはリストから削除されます。そのトランスクリプトは claude --resume で利用できるようマシン上に残り、削除はスーパーバイザーの再起動後も維持されます。

Claude がセッション用に作成した worktree がどうなるかは次のとおりです。

  • エージェントビューは、コミットされていない変更も含めて worktree を削除するため、残しておきたいものは先にコミットしてください。

  • claude rm は、コミットされていない変更がある場合、セッションの行と一緒に worktree を保持します。

  • エージェントビューも claude rm も、別の実行中のセッションが使用中またはロック中の worktree は削除せず、再度削除しても変わりません。Claude Code は worktree とセッションを保持し、保持したディレクトリとその理由を示します。エージェントビューでは、セッションの行に not deleted が表示されます。もう一方のセッションを閉じてから、再度削除してください。

  • 他の場所に保存されていることを Claude Code が確認できないコミットが worktree にあるセッションを削除すると、Claude Code は worktree とセッションを保持し、メッセージには worktree のブランチと未プッシュのコミット数が示されます。メッセージには、コミットをプッシュするか、再度削除してコミットを破棄するかの 2 つの対処方法も示されます。

    リモート上のコミットは削除を妨げません。origin リモートのデフォルトブランチのローカルコピー上のコミットも、そのブランチがメインチェックアウト(worktree ではなくリポジトリディレクトリ自体)でチェックアウトされている限り、削除を妨げません。

    このように拒否された後は、次のいずれかを選択します。

    • コミットを残すには、プッシュするか、そのデフォルトブランチにマージしてから、セッションを再度削除します。
    • コミットを破棄するには、プッシュせずにセッションを再度削除します。エージェントビューでその行に対して Ctrl+X を 2 回押すか、拒否時に出力された claude rm <id> --discard-unpushed コマンドを実行します。これにより、セッションと worktree がそのブランチとともに削除され、未プッシュのコミットとコミットされていない変更は破棄されます。

    再度削除するとき、Claude Code は拒否時に示された内容のみを破棄します。その後 worktree に新しいコミットが追加されていた場合、Claude Code は再び worktree を保持し、更新された状態を表示します。

    別の完了済みセッションの記録にもその worktree が記載されている場合、再度削除しても worktree は残ります。コミットをプッシュしてから、再度削除してください。

  • git worktree prune の後など、git がもはや認識しない worktree は削除を妨げません。Claude Code はセッションを削除し、ディレクトリはディスク上に残します。

  • git または WorktreeRemove フック が worktree の削除に失敗した場合、Claude Code は worktree とセッションを保持し、メッセージにその原因を示します。フックの場合、メッセージには exited 1 などの終了状況が示され、stderr の冒頭が引用されます。メッセージでは、次に行うべきことも以下から示されます。

    • セッションを再度削除して、それでもディレクトリを削除します。エージェントビューでその行に対して Ctrl+X を 2 回押すか、claude rm の拒否時に出力された claude rm <id> --force-remove-worktree <worktree-id> コマンドを実行します。worktree のブランチはリポジトリに残ります。

      Claude Code がこの方法を提示するのは、以下のすべてを確認できる場合のみです。

      • ディレクトリが、.claude/worktrees/ の下にあるリポジトリのリンクされた worktree の 1 つである
      • worktree にも、チェックアウトされたサブモジュールにも、追跡対象ファイルへのコミットされていない変更がない
      • 他のセッションの記録にそのディレクトリが記載されていない

      別の git リポジトリに置き換えられたものなど、サブモジュールのチェックアウトの状態を Claude Code が確認できない場合も、この方法は提示されません。

    • コミットされていない変更をコミットまたはスタッシュする、別の git リポジトリを worktree の外に移動する、ディレクトリを使用しているものを閉じる、フックを修正するなど、障害となっているものを解消してから、セッションを再度削除します。

    • ディレクトリを自分で削除してから、セッションを再度削除します。

自分で作成し、その中でセッションを開始した worktree は、いずれの場合もそのまま残ります。

リポジトリが削除された場合や、WorktreeCreate フック が別の場所にディレクトリを作成した場合など、worktree ディレクトリがどの git リポジトリにも属さないセッションも削除できます。ディレクトリにファイルが残っている間は、次のようになります。

  • エージェントビューは、ファイルを破棄する前に同じく Ctrl+X の 2 回押しを求めます。フックが作成したディレクトリの場合は、代わりに WorktreeRemove フック を実行し、そのフックがない場合は削除を拒否してセッションを保持します。
  • claude rm はセッションと worktree を保持し、その理由を示します。

どちらの方法でも、別の完了済みセッションの記録に記載されているディレクトリは保持されます。

モデルを設定する

エージェントビューのヘッダーに表示されるモデル名が、ディスパッチのデフォルトです。入力から開始する新しいセッションはこのモデルを使用します。これはユーザー設定の model 設定 から取得されます。/model ピッカー でモデルを選択するか、設定を直接編集して設定します。

エージェントビューのセッション全体でディスパッチのデフォルトを上書きするには、エージェントビューを開くときに --model を渡します。権限モード、モデル、effort を参照してください。

エージェントビュー内からディスパッチのデフォルトを変更するには、ディスパッチ入力に /model に続けてモデル名を入力し、Enter を押します。ヘッダーが更新されてそのモデルが (session) マーカー付きで表示され、以降にディスパッチするセッションはそのモデルを使用します。/model default と入力すると上書きが解除され、ディスパッチのデフォルトに戻ります。この上書きは現在の claude agents の実行が終わるまで有効で、設定ファイルには書き込まれません。次の例は、1 つ目のセッションを Opus で、次のセッションを Sonnet でディスパッチします。

/model opus
refactor auth
/model sonnet
run the test suite

各バックグラウンドセッションは異なるモデルで実行できます。1 つのセッションについて上書きするには、次のようにします。

  • シェルから、claude --bg に --model を渡します。
  • 実行中のセッションにアタッチして /model を実行して切り替えます。ピッカーでの選択、または入力した /model <name> は、ピッカーで s を押してセッション限定の切り替えにしない限り、新しいセッションのデフォルトとして保存されます。セッション限定の切り替えは、セッションが再生成されても維持されます。
  • フロントマターで model フィールドを設定している サブエージェント をディスパッチします。

権限モード、モデル、effort

バックグラウンドセッションは、どこからどのようにディスパッチされたかに応じて、設定、プロバイダー、権限モード、モデル、effort を取得します。以下のサブセクションでは、それぞれの取得元と、スーパーバイザーがセッションを再起動したときに維持されるものについて説明します。

設定とプロバイダー

バックグラウンドセッションは、実行されるディレクトリから 設定 を読み取ります。これは、引き継いだ設定フラグ を付けてそのディレクトリで claude を開始した場合と同じです。これにはプロジェクト設定の env 値 も含まれるため、そこで設定された ANTHROPIC_MODEL やプロバイダーの変数は、そのディレクトリ内のすべてのバックグラウンドセッションに適用されます。

バックグラウンドセッションは、ディスパッチ元のシェルの PATH でも実行されるため、実行するコマンドはターミナルと同じツールを見つけられます。また、CLAUDE_CODE_USE_BEDROCK や CLAUDE_CODE_USE_VERTEX などのそのシェルでのクラウドプロバイダーの選択も、その ANTHROPIC_DEFAULT_*_MODEL エイリアスや、そこでエクスポートした CLAUDE_CODE_EXTRA_BODY の上書きとともに保持します。

LLM ゲートウェイ

LLM ゲートウェイ を経由して Claude Code をルーティングする場合は、ゲートウェイの変数をシェルでエクスポートするのではなく、設定ファイルの env ブロックに記述してください。そうすれば、バックグラウンドセッションは他の設定と一緒にそれらを読み取ります。設定ファイルで設定する では、そのブロックと、認証情報に使用する設定ファイルを示しています。

代わりにゲートウェイの ANTHROPIC_BASE_URL をシェルでのみエクスポートした場合、それが一緒にエクスポートした ANTHROPIC_CUSTOM_HEADERS や認証情報とともにバックグラウンドセッションに届くのは、スーパーバイザー 自体が同じゲートウェイをエクスポートしたシェルから開始された場合で、かつ次のいずれかの場合に限られます。

  • ← または /background で自分のセッションをバックグラウンドに移動する場合
  • 現在いるディレクトリにセッションをディスパッチする場合
  • 現在いるディレクトリの停止したセッションに、アタッチまたは返信して起動する場合

Claude Code は、クラウドプロバイダーの前段にあるゲートウェイも転送します。ディスパッチ元のシェルでプロバイダーを選択し、そのゲートウェイエンドポイントを認証バイパスフラグとともにエクスポートしている場合、Claude Code は ANTHROPIC_BASE_URL に適用されるのと同じ条件で、エンドポイントとフラグの組を ANTHROPIC_CUSTOM_HEADERS と一緒にセッションに転送します。たとえば、CLAUDE_CODE_USE_VERTEX=1 を ANTHROPIC_VERTEX_BASE_URL および CLAUDE_CODE_SKIP_VERTEX_AUTH=1 と一緒にエクスポートすると、Claude Code はそのエンドポイントとフラグを転送します。

Claude Code は、転送したゲートウェイをそのセッションの実行中のプロセスにのみ適用し、ディスクには決して書き込みません。

権限モード

権限モード は、セッションの開始方法によって異なります。

  • /bg または ← でバックグラウンドに移動した場合: Claude Code はセッションの権限モードを維持するため、acceptEdits や auto に切り替えていたセッションは、デタッチ後もそのモードのままです
  • ← で開いたエージェントビューからディスパッチした場合: 対象自身の設定が優先され、他に何も設定されていない場合は移動元のセッションの権限モードが適用されます
  • シェルで開始した claude agents から、または claude --bg でディスパッチした場合: ディスパッチのデフォルト を指定して開いたエージェントビューからディスパッチした場合を除き、新しいセッションはそのディレクトリで新しい claude セッションを開始した場合と同じように開始されます。順序は セッションがどの権限モードで開始されるか に記載されています

← で開いたエージェントビューからディスパッチするセッションでは、Claude Code は以下のうち最初に該当するものから権限モードを取得します。

  1. 対象ディレクトリの permissions.defaultMode。取得元について 2 つのルールが適用されます。
  2. 移動元のセッションの権限モード

Claude Code がある取得元のモードを許容度が高すぎるとして拒否した場合、リストの次の取得元で決まります。たとえば、plan モードのセッションから、チェックインされた設定で acceptEdits を要求するディレクトリにディスパッチした場合、新しいセッションは plan モードで開始されます。その defaultMode を ~/.claude/settings.json に移すと、移動元のセッションの権限モードに関係なく適用されます。

許容度は、plan、次に Manual と dontAsk、次に acceptEdits と auto(互いに相手より許容度が高いとみなされます)、次に bypassPermissions の順に高くなります。

ディスパッチのデフォルト

エージェントビューからディスパッチするすべてのセッションのデフォルトを設定するには、開くときに --permission-mode、--model、--effort、--agent のいずれかを渡します。

claude agents --permission-mode plan --model opus --effort high

ここでの --effort は、ultracode を含め、トップレベルの --effort フラグ と同じ値を受け付けます。

--agent は、ディスパッチのプロンプトで @name または最初の単語としてサブエージェントが指定されていない場合に使用される サブエージェント を設定します。デフォルトは、agent 設定 が設定されていればその値、そうでなければ組み込みの汎用 claude エージェントです。ディスパッチ入力でサブエージェントを指定すると、その両方が上書きされます。

claude agents は、--permission-mode bypassPermissions の短縮形として --dangerously-skip-permissions も受け付けます。また、--allow-dangerously-skip-permissions を指定すると、そのモードで開始せずに、ディスパッチした各セッションの Shift+Tab サイクルで bypassPermissions を利用可能にします。どちらも トップレベルの CLI フラグ と同じです。

--restricted を渡すと、ビューからディスパッチするすべてのセッションが、それぞれトップレベルの --restricted フラグで起動されたかのように 制限モード で開始されます。Claude Code v2.1.248 以降が必要です。

有効なデフォルトは、ディスパッチ入力の下のフッターに表示されます。

claude --dangerously-skip-permissions を一度インタラクティブに実行してバイパスの免責事項に同意するまで、Claude Code は claude --bg --permission-mode bypassPermissions を拒否します。このモードでは、監視していないセッションが承認なしに操作を行えるためです。claude agents に --dangerously-skip-permissions または --permission-mode bypassPermissions を渡すと、以前に同意していない場合は同じ免責事項が表示され、同意するとビューから起動するセッションに bypassPermissions が適用されます。--allow-dangerously-skip-permissions を渡した場合も同じ免責事項が表示され、同意すると、それらのセッションをそのモードで開始せずに、Shift+Tab サイクルで bypassPermissions を利用可能にします。

再起動後も維持されるもの

バックグラウンドセッションに選択した権限モード、モデル、effort は、引き継いだ設定フラグ とともに、スーパーバイザーが後でそのプロセスを 停止して再起動 しても維持されます。claude --bg --dangerously-skip-permissions または claude --bg --permission-mode bypassPermissions で起動したセッションは、その再起動後も bypassPermissions のままです。セッションの途中で /model や /effort で変更したモデルや effort も保持されます。

セッションが --effort や /effort ではなく設定から effort を取得していた場合、Claude Code はそのセッションのプロセスを開始するたびに設定を読み直します。settings.json で保存された effort を編集すると、その変更は ← または /bg でバックグラウンドに移動するセッションと、その後の再起動に反映されます。保存された effort とは、effortLevel キーまたは modelSettings のエントリです。

Claude Code は、/rename または Ctrl+R で設定した名前もその再起動後に保持するため、引き続き claude --resume <name> を実行してセッションにアクセスできます。

アタッチ中に Ctrl+S でスタッシュしたプロンプトもセッションとともに保持されます。プロセスが停止または再起動された後にセッションを再度開き、Ctrl+S を押すとスタッシュしたテキストが復元されます。スタッシュ内の貼り付けたコンテンツは再起動後には残りません。

設定、プラグイン、MCP サーバー

エージェントビューは、設定、プラグイン、MCP サーバー、追加ディレクトリを読み込むための claude と同じ設定フラグを受け付けます。エージェントビューは --settings、--setting-sources、--plugin-dir を自身に適用し、すべての設定フラグをビューからディスパッチするセッションに渡すため、この方法で読み込んだプラグインや MCP サーバーはそれらのセッションで利用できます。

フラグ 効果
--settings <file-or-json> エージェントビューとディスパッチされたセッションの設定を上書きします
--setting-sources <sources> エージェントビューとディスパッチされたセッションで、指定した設定ソースのみを読み込みます
--add-dir <path> 追加ディレクトリへのファイルアクセスを付与します
--plugin-dir <path> ローカルディレクトリからプラグインを読み込みます
--mcp-config <file-or-json> 設定ファイルまたは JSON 文字列から MCP サーバーを読み込みます
--strict-mcp-config --mcp-config の MCP サーバーのみを使用し、他の MCP 設定を無視します。管理 MCP ファイルがある場合のこのフラグの動作については、managed-mcp.json による排他的制御 を参照してください

--add-dir、--plugin-dir、--mcp-config は値ごとに 1 回ずつ繰り返して指定します。claude agents は、--add-dir a b c のようなスペース区切りの形式をサポートしていません。

--settings、--setting-sources、--plugin-dir は agents の前後どちらにも配置できます。--add-dir と --mcp-config は agents の後に配置してください。どちらかを agents の前に配置すると、claude agents --json が unknown option エラーで失敗します。

次の例は、設定の上書きと 1 つの追加ディレクトリを指定してエージェントビューを開きます。

claude agents --settings ./ci-settings.json --add-dir ../shared-lib

--settings はファイルパスまたはインライン JSON 文字列を受け付けます。ファイルパスは既存のファイルを指している必要があり、そうでない場合、Claude Code は Settings file not found エラーで終了します。

シェルからセッションを管理する

すべてのバックグラウンドセッションには、シェルから使用できる短い ID があります。ID は claude --bg でセッションを開始するときに出力され、各セッションの ID は ~/.claude/jobs/ の下のディレクトリ名です。これらのコマンドはスクリプティングまたはエージェントビューを開きたくない場合に便利です。

コマンド 目的
claude agents エージェントビューを開く
claude agents --cwd <path> <path> の下で開始されたセッションにスコープされたエージェントビューを開く
claude agents --json セッションを JSON 配列として出力して終了します。セッションを JSON として一覧表示を参照してください
claude attach <id|name> このターミナルでセッションにアタッチする
claude logs <id|name> セッションの最新出力を出力する
claude stop <id> セッションを停止する。claude kill も受け入れます
claude respawn <id> セッションを再開する。実行中または停止状態のセッションを再開します。例えば、更新された Claude Code バイナリを取得するため。再開されたセッションは保存された会話を再開します。ディスク上に会話がない場合は、新しい会話として元のプロンプトを再度実行します
claude respawn --all すべての実行中のセッションを再開する。例えば、すべてのセッションを一度に更新された Claude Code バイナリに移動するため
claude rm <id> セッションをリストから削除します。削除が安全な場合、Claude が作成した worktree も削除します。セッションの削除で何が削除されるかを参照してください。会話トランスクリプトはローカルマシンに保存され、claude --resume を通じて利用可能なままです
claude rm <id> --discard-unpushed <commit>@<worktree-id> プッシュされていないコミットで削除が拒否されたセッションを削除し、worktree をそのブランチとコミットとともに破棄します。拒否が出力した正確な値を渡します。セッションの削除で何が削除されるかを参照してください。v2.1.260 以降が必要です
claude rm <id> --force-remove-worktree <worktree-id> git または WorktreeRemove フックが worktree を削除できなかったために削除が拒否されたセッションを削除し、worktree ディレクトリを削除してそのブランチをリポジトリに残します。拒否が出力した正確な値を渡します。セッションの削除で何が削除されるかを参照してください。v2.1.268 以降が必要です
claude daemon status supervisor の状態、バージョン、ソケットディレクトリ、およびワーカー数を出力する
claude daemon stop --any supervisor プロセスとそれがホストするバックグラウンドセッションを停止します。--keep-workers を渡して、バックグラウンドセッションを実行したままにして、次の supervisor が再接続できるようにします。次の claude agents または claude --bg は新しい supervisor を開始します

claude attach と claude logs は、claude logs "auth refactor" のように、ID の代わりに実行中のセッション名の一部を受け取ることができます。名前を渡すには Claude Code v2.1.290 以降が必要です。

セッションを JSON として一覧表示

claude agents --json はアクティブなセッションを JSON 配列として出力して終了します。すべてのライブセッション、およびプロセスが終了した場合でも引き続き動作またはブロックされているバックグラウンドセッションが含まれます。--all を追加して、完了したバックグラウンドセッションも含めます。--cwd <path> を追加して、そのディレクトリの下で開始されたセッションに一覧を制限します。

各エントリは 1 つのセッションを説明します。

フィールド 存在する場合 説明
cwd、kind、startedAt 常に 作業ディレクトリ、interactive または background、および Unix ミリ秒での開始時刻
id バックグラウンドセッション claude attach、claude logs、claude stop で使用可能な短い ID
state バックグラウンドセッション working、blocked、done、failed、stopped のいずれか。各値の意味についてはスクリプトからセッション状態を読み取るを参照してください
pid、status プロセスが生きている間 プロセス ID および busy、waiting、idle のいずれか
waitingFor status が waiting の場合 セッションがブロックされている内容。承認のための permission prompt、Claude または MCP サーバーからの質問のための input needed、sandbox request、worker request、dialog open
sessionId、name 設定されている場合 sessionId は claude --resume で使用可能な完全なセッション UUID です。インタラクティブセッションの name は、セッションに名前を付けるか、その中でプランを受け入れるまで、そのデフォルト表示名です

スクリプトからセッション状態を読み取る

claude agents --json は Claude Code の外からセッション状態を読み取るためのサポートされている方法です。例えば、ステータスバー、スケジューラー、またはバックグラウンド作業を監督する別の Claude セッションから。claude agents --json --all をポーリングします。これはプロセスが終了したセッションをリストし続け、各エントリの state、status、waitingFor を読み取ります。

state 意味
working ターンが実行中、またはセッションが /loop イテレーションや CI での待機など、独自に駆動する作業のステップ間にあります。status は、そのプロセスが現在 busy かどうかを示します
blocked セッションはユーザーを待っています。セッションが尋ねた質問、権限またはサンドボックスの決定、ユーザーだけが解決できるエラー(期限切れのログインなど)、またはプロンプトなしで開始した場合の最初のプロンプト。待機がライブプロセスで開いているプロンプトの場合、waitingFor がそれに名前を付けます
done 最後のターンが求められたことを完了し、セッションは次のプロンプトの準備ができています。プロセスがまだ生きているかどうかに関わらず
failed、stopped タスクがエラーで終了したか、セッションが停止されました

ターンを完了し、次の指示を待っているセッションは blocked ではなく done を読み取ります。blocked は常にセッションが続行する前にユーザーから何かが必要であることを意味します。

~/.claude/jobs/<id>/ の下のファイルは安定したインターフェースではありません。セッションまたは別のプログラムが state、detail、tempo、needs に書き込む値は、次の更新時に置き換えられます。

セッションが独自の言葉で進捗を報告するようにしたい場合は、state.json を編集する代わりに、例えば $CLAUDE_JOB_DIR/tmp の下など、独自のファイルを書き込むようにしてください。

バックグラウンドセッションのホスティング方法

Claude Code は、エージェントビューに表示されているすべてのセッションをバックグラウンドセッションとして扱います。現在接続しているかどうかに関わらず、バックグラウンドセッションとして扱われます。これに対して、claude を直接実行して開始したセッションはそのターミナルに紐付けられ、ターミナルが閉じると終了します。ただし、バックグラウンドに送信することはできます。

どのような種類のセッションにいるかを確認するには、/status を実行してください。バックグラウンドセッションでは、Session kind の行に background job · attached または background job · unattended と表示されます。ターミナルが接続されているかどうかによって異なります。その他のセッションでは interactive と表示されます。

スーパーバイザープロセス

スーパーバイザーはバックグラウンドサービスで、バックグラウンドセッションを実行し、エージェントビューやターミナルを閉じた後もセッションが動作し続けるようにします。Claude Code は、セッションをバックグラウンドに送信するか、エージェントビューを開いた時点で最初にスーパーバイザーを起動します。自分で管理する必要はありません。

各セッションはスーパーバイザーの下で独自の Claude Code プロセスであり、そのプロセスに何が起こるかはセッションの状態によって異なります。

  • 動作中、権限プロンプトまたは他のダイアログで一時停止中、または接続中:プロセスは実行を続けます。実行中のサブエージェント、ワークフロー、またはモニターは動作中としてカウントされます。
  • 完了したか次のメッセージを待機中で、約 1 時間未接続:スーパーバイザーはリソースを解放するためにプロセスを停止します。質問を投げかけてターンを終了したセッションは、次のメッセージを待機中としてカウントされます。会話はディスクに保存され、次回接続または返信するときに、セッションは中断したところから再開されます。Ctrl+T でセッションをピンして、プロセスの実行を継続させます。
  • スーパーバイザーが実行中に予期せず終了した:スーパーバイザーはプロセスを再起動します。← または /background で自分でバックグラウンドに送信したセッションを、たとえば kill で終了した場合は、再起動されずに停止済みとしてマークされます。シャットダウンで終了したセッションについては、セッションがシャットダウン後に失敗または停止として表示される を参照してください。
  • 自動更新後:スーパーバイザーは新しいバージョンに再起動し、アイドル状態のセッションをバックグラウンドで移動します。動作中、ユーザーの応答を待機中、または接続中のセッションは中断されません。

セッションのプロセスが停止または再起動されると、Claude が開始したバックグラウンドシェルコマンド、動的ワークフロー、およびバックグラウンドサブエージェントは次のプロセスに引き継がれます。実行中のモニターとサブエージェントが開始したシェルコマンドはプロセスで停止します。セッションを削除すると、引き継がれたすべてのものが停止します。代わりにプロセスで停止させるには、CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF を 1 に設定してください。

スーパーバイザーとそのセッションは、インタラクティブセッションと同じ保存された認証情報で認証されます。セッションに到達する設定とシェル変数(PATH を含む)については、設定とプロバイダー を参照してください。ゲートウェイエンドポイントについては、LLM ゲートウェイ を参照してください。

状態の保存場所

セッション状態は Claude Code 設定ディレクトリの下に保存されます。CLAUDE_CONFIG_DIR を設定した場合、スーパーバイザーは ~/.claude の代わりにそのディレクトリを使用し、独自のセッションを持つ別のインスタンスとして実行されます。

パス 内容
~/.claude/daemon.log スーパーバイザーログ
~/.claude/daemon/roster.json 実行中のバックグラウンドセッションのリスト。再起動後の再接続に使用されます
~/.claude/jobs/<id>/state.json エージェントビューに表示されるセッションごとの状態。ファイルを解析する代わりに、claude agents --json を通じて読み取ってください
~/.claude/jobs/<id>/tmp/ セッションごとのスクラッチディレクトリ。Claude の Write および Edit 呼び出しはここで権限を求めるプロンプトを表示しません。セッションが削除されると削除されます

各バックグラウンドセッションには、CLAUDE_JOB_DIR 環境変数が ~/.claude/jobs/<id> ディレクトリに設定されているため、セッションが実行するシェルコマンドは、並列セッションと衝突することなく、$CLAUDE_JOB_DIR/tmp に一時ファイルを書き込むことができます。

ファイルを直接読み取らずにこの状態を検査するには、claude daemon status を実行してください。スーパーバイザーに到達可能かどうか、そのプロセス ID とバージョン、ソケットディレクトリ、およびライブバックグラウンドセッションの数を報告します。

このコマンドは、実行中のスーパーバイザーが呼び出した claude とは異なるバージョンにある場合に警告を表示します。これは、スーパーバイザーがまだ再起動していない更新後に発生します。警告は両方のバージョンを表示し、claude daemon stop --any を実行して新しいバージョンを取得するよう指示します。Claude Code が OS サービスとしてインストールされている場合、提案されるコマンドはフラグなしの claude daemon stop です。

セッションはそのバージョンの不一致を無傷で生き残ります。セッションの state.json を更新する古い Claude Code バージョンは、認識しないフィールドを保持し、セッションをリストに保ちます。roster.json のセッションリストも同じルールに従うため、新しいバージョンで開始されたセッションは到達可能なままで、スーパーバイザーが再起動した後も入力を受け付け続けます。

エージェントビューをオフにする

バックグラウンドエージェントとエージェントビューを完全にオフにするには、disableAgentView 設定 を true に設定するか、CLAUDE_CODE_DISABLE_AGENT_VIEW 環境変数を設定してください。管理者は 管理設定 を通じてこれを強制できます。

トラブルシューティング

`claude agents` がエージェントビューを開く代わりにサブエージェントをリストする

claude agents が数を出力した後、設定されたサブエージェントを表示してから終了する場合、エージェントビューはお使いの環境では利用できません。claude update を実行して最新バージョンをインストールしてください。

更新後もエージェントビューが開かない場合は、設定または環境変数によってオフになっているかどうかを確認してください。

エージェントビューがセッションなしで開く

最初のセッションをディスパッチする前に、エージェントビューは空のセクションヘッダーを表示し、各セクションの下に説明があり、セッションリストの代わりに入力の上に 1 行の説明があります。下部の入力にプロンプトを入力して Enter を押して、最初のセッションをディスパッチします。

バックグラウンド化が `Background this session?` ダイアログを表示する

← を押して現在のセッションをバックグラウンドに移すと、Claude Code が Background this session? ダイアログを表示する場合、セッションには実行中の作業があり、バックグラウンド化によって停止、再開、または無人で実行されたままになる可能性があり、Claude Code はそれを実行する前に確認します:

  • 移動できない作業:セッションには、実行中の monitor などのバックグラウンドセッションに移動できない作業があります。ダイアログは Claude Code が停止する作業を名前で表示し、別に転送されるタスクをカウントします。
  • 実行中のサブエージェントを持つワークフロー:動的ワークフローにはまだ実行中のサブエージェントがあります。ワークフロー自体は転送されますが、実行中のサブエージェントは最初から再開され、ダイアログはその数を表示します。
  • 自動アーティファクト返信:Claude がアーティファクトのコメントに自動で返信している場合があります。これらの返信はバックグラウンドセッションで続行され、ダイアログはそのことを表示します。

/tasks を実行してすべての実行中のものを確認し、確認してバックグラウンド化するか、Stay を選択して作業が完了するまで待機します。バックグラウンド化するときに転送されるものを参照して、どのタスク種が転送され、どのタスク種が Claude Code によって停止されるかを確認してください。

プロンプトが短すぎるとして拒否される

ディスパッチ入力は会話の開始ではなく、タスクの説明を期待しています。4 文字未満のプロンプトは Too short ヒントで拒否されるため、誤ったキー入力がセッションを開始しません。セッションで何をしたいかを説明してください。例えば investigate the flaky checkout test のようにします。

シャットダウン後、セッションが失敗または停止として表示される

マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止します。入力を待機していたセッションは、戻ってきたときに Needs input の下に留まります。その他の実行中のセッションについては、エージェントビューが表示する内容は、最後に進捗があってからどのくらい前かによって異なります:

  • 48 時間以内の場合、セッションは失敗として表示されます。アタッチまたは返信すると、中断したところから再開します。
  • 48 時間以上経過した場合(マシンが数日間オフになっていた後など)、セッションは ended while the background service was off として停止として表示されます。行で Enter を押すと、フッターに Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it. が表示されます。同じ行で再度 Enter を押して、保存された会話を再開します。返信または claude attach <id> でそのフッタープロンプトなしで再開します。

トランスクリプトクリーンアップが停止したセッションの保存された会話を削除した場合、Claude Code は行を開くことを拒否します。メッセージは再開するものがないことを示しています。claude rm <id> は行を削除します。ただし、保持されたケースで説明されている場合を除き、claude respawn <id> は元のプロンプトを再度実行します。このセッションの保存された会話はディスク上にもはやありませんを参照してください。

スリープだけではセッションを停止しません。セッションはスリープ全体で保持され、スーパーバイザーはウェイク時にそれらに再接続します。

セッションを開くと、会話が既に開いていると表示される

2 つのプロセスが同じトランスクリプトに書き込むことはできません。停止したセッションの保存された会話が別の実行中の Claude Code プロセスで既に開いている場合、Claude Code はセッション自体のプロセスを開始することを拒否します。何が表示されるかは、会話を保持しているものによって異なります:

  • 例えば claude --resume または /resume で会話を再開したターミナル:行は Open in a terminal を表示し、そこで続行するというヒントが表示され、行を開くと Can't open — this session is running in another terminal が表示されます。そのターミナルで続行するか、終了して行を再度開きます。
  • 別の非インタラクティブ Claude Code プロセス(例えば、同じ会話のバックグラウンドセッションプロセスがまだ終了していない):行を開くと This conversation is already open in another running Claude session が表示されます。そのプロセスを使用するか、終了するまで待機して行を再度開きます。

Claude Code は拒否された試みで入力した返信を保存し、セッションが次に開始するときに送信します。

セッションを開くと、保存されたトランスクリプトがないと表示される

別の会話からバックグラウンド化された停止したセッションが最初の応答が完了する前に停止した場合、再開するものはありません。最初の応答が完了するまで、会話はバックグラウンド化された会話にのみ存在します。claude attach は This session has no saved transcript で開くことを拒否します。

エージェントビューでは、その行を開くとリストの下に Press enter again to restart this session fresh が表示されます。同じ行で再度 Enter を押して、空の会話でセッションを再開するか、シェルから claude respawn <id> を実行します。

元の会話は無傷です。claude --resume で再開するか、それで作業を続けます。詳細については、エラーリファレンスを参照してください。

ターミナルホストが停止したか、セッションが応答しなくなった

スーパーバイザーは各バックグラウンドセッションのターミナルを独自のホストプロセスで実行します。そのプロセスが停止したか応答しなくなった場合、Claude Code は理由を表示し、再開を提供します。どちらの場合も会話は保存され、再開はそれを再開します。エラーリファレンスは完全なメッセージを引用しています。

Claude Code は、Enter からまたは claude attach から実行されるシェルコマンドを実行している行を再開しません。これはコマンドを再度実行するためです。行のメッセージと claude attach の両方は、コマンドが再度実行されないことを示しています。

セッションが `possibly low memory` ノートで開始前に失敗する

バックグラウンドセッションのプロセスが開始を完了する前に終了し、ホストのメモリが不足している場合、行のステータスは終了を名前で表示し、possibly low memory — free some up and retry を追加します。

ノートは仮説であり、確認された原因ではありません。Claude Code はプロセスがエラーを書き込まずに静かに終了し、シグナルによって停止されず、ホストがその時点で低メモリを報告した場合にのみ追加します。プロセスが終了前にエラーを書き込んだ場合、行はそのエラーを代わりに表示します。

マシンのメモリを解放してから、行にアタッチまたは返信すると、スーパーバイザーがセッションの新しいプロセスを開始します。メモリが低いままの場合、スーパーバイザーはアイドルセッションを停止して独自にリソースを解放し、他のセッションを停止しても何も解放されない場合は、アイドル状態のピン留めセッションも停止します。

エージェントビューがバックグラウンドサービスが応答しなかったと表示される

アタッチ、ピーク表示、または claude logs がバックグラウンドサービスが応答しなかったと報告する場合、スーパーバイザープロセスがスタールしている可能性があります。それを停止して、次の claude agents に新しいものを開始させてください。バックグラウンドセッションを再起動全体で実行し続けるには、--keep-workers を渡してください:

claude daemon stop --any --keep-workers

新しいスーパーバイザーは実行中のセッションに再接続します。--keep-workers がない場合、コマンドはバックグラウンドセッションも終了します。--any フラグは、デフォルトであるインストール済みサービスではなく、オンデマンドで開始されたスーパーバイザーを停止したいことを確認します。

スーパーバイザーが起動しても接続を受け入れることができない場合は、独自に終了してロックを解放するため、次の claude agents は手動停止なしで新しいものを開始します。上記の手順は、実行中のスーパーバイザーがスタールしている場合に適用されます。

コマンドが代わりに記録されたプロセスがスーパーバイザーとして検証できなかったと言って終了する場合は、報告されたプロセス ID を確認してください。それが自分が所有するスーパーバイザーの場合は、自分で停止してから、~/.claude/daemon.lock を削除して、次の claude agents が新しく開始するようにします。

Windows では、スーパーバイザーが停止要求に応答しない場合、コマンドはそのプロセス ID を出力します。taskkill /PID <pid> でそのプロセスを終了して復旧を完了します。--keep-workers を渡した場合、バックグラウンドセッションは引き続き保持されます。

ディスパッチが `Could not resolve authentication method` で失敗する

バックグラウンドディスパッチが Could not resolve authentication method で失敗し、インタラクティブセッションが正常に認証される場合、ディスパッチを受け取ったワーカーは認証情報を取得しませんでした。バックグラウンドセッションはスーパーバイザーから認証情報を取得するため、このエラーはスーパーバイザープロセス自体で利用可能な保存された認証情報がないことを意味します。/login を実行したか、API キーを設定したことを確認してから、スーパーバイザーを停止してください:

claude daemon stop --any --keep-workers

次の claude agents または claude --bg は、保存された認証情報を読み取る新しいスーパーバイザーを開始します。/login ではなく ANTHROPIC_API_KEY などの環境変数で認証する場合は、変数が設定されているシェルからその次のコマンドを実行してください。

原因と修正の完全なリストについては、エラーリファレンスを参照してください。

macOS でバックグラウンドセッションが Desktop、Documents、または Downloads を読み取ることができない

macOS では、バックグラウンドセッションホストは独自のプロセスとして実行され、ターミナルとは別に保護されたフォルダへのアクセスをリクエストします。バックグラウンドセッションが ~/Desktop、~/Documents、~/Downloads、または別の保護された場所を読み取るときに Operation not permitted を報告する場合、System Settings の Privacy & Security > Files and Folders でアクセスを許可するか、エントリの Full Disk Access を有効にしてください。

ネイティブインストーラーを使用すると、エントリは Claude Code として表示され、許可は更新全体で保持されます。Homebrew または npm などの他のインストール方法を使用すると、エントリはバイナリパスを表示し、更新後に再度許可が必要になる場合があります。

macOS でバックグラウンドセッションがローカルネットワークホストに到達できない

macOS 15 以降では、システムはローカルネットワークアクセス権限を付与するまで、プロセスがローカルネットワーク上のデバイスに到達することをブロックします。そのため、LAN アドレスをターゲットとするコマンドは、同じコマンドがフォアグラウンドターミナルで機能していても、バックグラウンドセッションで connect: no route to host で失敗する可能性があります。バックグラウンドセッションでローカルネットワークアドレスに接続する最初のコマンドは、Claude Code の macOS ローカルネットワークアクセス権限プロンプトをトリガーします。一度許可すると、これらのコマンドはフォアグラウンドターミナルと同じ方法で LAN ホストに到達します。

セッションがアタッチ後に応答が遅い

完了したセッション、または次のメッセージを待機しているセッションが約 1 時間アタッチされないままの場合、スーパーバイザーはリソースを解放するためにそのプロセスを停止します。アタッチすると、中断したところから新しいプロセスが開始され、プロセスが再起動している間にセッションにすぐに切り替わります。作業中のセッション、権限プロンプトまたは別のダイアログで一時停止しているセッション、またはピン留めされたセッションはこの方法で停止されることはありません。セッションを Ctrl+T でピン留めして、応答性を保つことができます。

プロセスが開始している間、Claude Code はセッションのトランスクリプトの末尾を、ライブセッションが描画する方法でフォーマットして表示します。マークダウン、ハイライトされたコードブロック、ツール呼び出しは薄暗い行として表示され、Session is starting ノートを持つ薄暗いプロンプト領域の上に表示されます。ライブセッションは準備ができるとすぐにそれを置き換えます。

`.claude/worktrees/` が満杯になっている

エージェントビューでセッションを削除すると、Claude が作成した worktree が削除されます。ただし、いくつかの削除は worktree を保持するか、そのディレクトリをディスク上に残すため、孤立したディレクトリが蓄積する可能性があります。Git がもはや認識しないディレクトリは git worktree list に表示されないため、それらを手動で削除します。

プロジェクトディレクトリで git worktree list を使用して孤立したエントリをリストし、各エントリを git worktree remove <path> で削除します。worktree をクリーンアップするを参照してください。

制限事項

Agent view はリサーチプレビューであり、以下の制限事項があります。

  • レート制限が適用される:バックグラウンドセッションはインタラクティブセッションと同じようにサブスクリプション使用量を消費するため、10 個のエージェントを並行して実行するとクォータが 10 倍速く消費されます。
  • セッションはローカル:バックグラウンドセッションはマシンで実行され、スリープ中は保持されますが、マシンがシャットダウンすると停止します。
  • Claude が作成した worktrees はエージェント view のセッションで削除される:セッションが独自の worktree でファイルを編集した場合、セッションを削除する前に変更をコミットしてください。削除によって worktree が保持される場合もあります。

Claude を並列実行する他の方法、および実行するセッション間で検出結果を渡す方法については、以下を参照してください。

バージョン履歴

Agent view はリサーチプレビュー中に急速に進化しました。古い Claude Code バージョンを使用している場合、このページの一部の動作が異なる可能性があります。特に、claude agents はまだサポートしていないフラグを unknown option エラーで拒否します。下の表は各フラグと動作がいつ追加されたかをリストしています。

バージョン 変更
v2.1.290 claude attach と claude logs は、ID の代わりに実行中のセッションの名前の一部を受け付けます。
v2.1.288 Ctrl+F は名前でセッションを検索し、Alt+↑ / Alt+↓ はグループヘッダー間を移動します。これらのキーと Ctrl+R は再割り当てできます。
v2.1.287 n:<text> フィルターは、名前または最初のプロンプトでセッションを検索します。いずれかのフィルターが有効な間は、折りたたんだグループが展開されて一致するセッションが表示され、最初の一致が選択されるため、Enter でそれを開けます。
v2.1.287 ピーク返信として送信されたコマンドは、セッションの現在のターンが終了したときに実行されます。これには、セッション自身のプロンプトで入力するとすぐに実行されるコマンドも含まれます。/stop だけの返信は、セッションを直ちに停止します。
v2.1.281 --setting-sources による制限は、← または /bg でバックグラウンド化したセッションと、agent view からディスパッチするセッションに引き継がれます。このリリースより前は、生成されたセッションはすべての設定ソースを読み込んでいました。
v2.1.281 claude --bg と、セッションを再起動するコマンドは、まずセッションのディレクトリに対するワークスペースの信頼を確認します。そのディレクトリのターミナルから実行した場合、まだ承諾していなければ信頼ダイアログが表示されます。スクリプト内など、ダイアログを表示できない場所では、コマンドは Workspace not trusted エラーで終了します。
v2.1.274 自動更新後、約 1 時間操作していなかった agent view は、新しいビルドで自身を再起動することがあります。その場合、開いたときのディスパッチのデフォルト(--model、--effort、--permission-mode、--allow-dangerously-skip-permissions、--agent)が保持されます。このリリースより前は、再起動されたビューは --cwd と、--settings や --mcp-config などの設定フラグしか保持しなかったため、その後ディスパッチしたセッションはこれらのデフォルトなしで開始されていました。
v2.1.274 git または WorktreeRemove フックが worktree を削除できなかったために削除が拒否された場合、追跡対象ファイルにコミットされていない変更がないことを Claude Code が確認したチェックアウト済みサブモジュールは、再度削除してディレクトリを強制的に削除する選択肢の提示を妨げなくなりました。チェックアウト済みサブモジュール内のコミットされていない作業はコミットされていない変更として扱われ、メッセージにそのサブモジュール名が示されます。このリリースより前は、worktree 内にサブモジュールのチェックアウトがあると常にこの選択肢が提示されず、worktree にネストされたリポジトリが含まれている旨のメッセージが表示されていました。
v2.1.268 git または WorktreeRemove フックが worktree を削除できなかったために削除が拒否された場合、メッセージに原因が示されるようになりました。これには、フックがどのように終了したかと、その stderr の冒頭が含まれます。リポジトリの .claude/worktrees/ 配下にあるリンクされた worktree で、追跡対象ファイルにコミットされていない変更がなく、内部にネストされたリポジトリがなく、他のセッションのレコードがその worktree を参照していない場合は、agent view から、または claude rm <id> --force-remove-worktree <worktree-id> でセッションを再度削除すると、ディレクトリが強制的に削除されます。このリリースより前は、行には worktree could not be removed (WorktreeRemove hook failed) または git のエラーのみが表示され、フックの stderr はデバッグログにのみ出力され、再度削除しても同じように拒否されていました。
v2.1.268 最初の ← で Press ← again to open agents(アタッチ中のセッションでは Press ← again to go back to agents)が表示された後、その間の素早い押下が無視された場合でも、少なくとも 1 秒後の最初の押下で切り替わります。このリリースより前は、無視された押下のたびに待機時間がリセットされたため、一定のペースで ← を押し続けても、1 秒以上間を置くまで切り替わりませんでした。
v2.1.260 セッションをバックグラウンド化すると、他のセッションのエージェント一覧ではその会話がバックグラウンドセッションとして 1 回だけ表示され、それらのセッションからのメッセージは移動元のターミナルに届かなくなります。このリリースより前は、そのターミナルが会話の名前で 2 つ目の対話型セッションとして一覧に残ることがあり、移動前にその会話にメッセージを送っていたセッションは、そのターミナルへの配信を続けていました。
v2.1.260 プッシュされていないコミットを理由に削除が拒否された場合、メッセージに worktree のブランチ名とプッシュされていないコミット数が示され、セッションを再度削除すると worktree とそのコミットが破棄されます。このリリースより前は、拒否メッセージは worktree has commits that are not pushed anywhere のみで、再度削除しても同じように拒否されたため、セッションを削除するにはコミットをプッシュするか worktree を手動で削除する必要がありました。
v2.1.257 ← で、回答の途中であっても/btw オーバーレイが開いている間にアタッチ中のセッションからデタッチでき、次にアタッチしたときにオーバーレイが再び開きます。このリリースより前は、オーバーレイが開いている間は ← でデタッチできませんでした。
v2.1.257 claude --resume <session-id> --bg を実行すると、Claude Code はそのセッションを同じ ID のまま続行するか、新しい ID でコピーを開始して理由を説明する note: 行を出力します。--continue、引数なしの --resume、名前またはパスを指定した --resume は、同じ注記とともにコピーを開始します。このリリースより前は、--resume と --bg を併用すると常に新しい ID でコピーが開始され、何も表示されませんでした。
v2.1.257 ← で開いた agent view からセッションをディスパッチすると、Claude Code は permissions.defaultMode で対象ディレクトリに設定された権限モードでセッションを開始します。ディレクトリで設定されていない場合は、移動元のセッションの権限モードが適用されます。このリリースより前は、ディスパッチされたセッションは常に移動元のセッションの権限モードで開始され、ディレクトリの設定を上書きしていました。
v2.1.257 agent view の Ctrl+S、Ctrl+T、Ctrl+G は keybindings.json に従います。Ctrl+S と Ctrl+T は Agents コンテキストの agents:switchView と agents:togglePin アクション、Ctrl+G は Chat コンテキストの chat:externalEditor バインディングに従います。このリリースより前は、agent view は keybindings.json を無視し、これらのキーは固定されていました。
v2.1.257 バックグラウンドサービスの起動時に、2 つの失敗原因から回復するようになりました。macOS の npm インストールでは、自己更新中の起動は、npm がバイナリの置き換え中に配置するプレースホルダーを実行する代わりに、インストールの完了を待ちます。Windows では、マシンの最後の起動より前に書き込まれた古い daemon.lock、または記録されたプロセス ID が現在別のプロセスに属している daemon.lock が置き換えられます。このリリースより前は、macOS ではインストール中の起動が Error: claude native binary not installed. で失敗し、Windows では ~/.claude/daemon.lock を削除するまで、このロックによってすべての起動が exited before it became reachable で失敗していました。
v2.1.257 別の Claude Code プロセスが npm の更新をダウンロードしている間にバックグラウンドセッションを開くかディスパッチすると、Claude Code はインストールの実行中は最大 2 分間待機し続け、その後 Claude Code is being updated by npm on this machine というメッセージで失敗します。このリリースより前は、待機は 10 秒で打ち切られたため、ダウンロードの実行中に Couldn't start the background service で開く処理が失敗していました。
v2.1.257 承認待ちのクロスセッションメッセージを保持しているバックグラウンドセッションは、Needs input 行に approve message from と、送信者のアドレスおよび送信者が名乗る名前を表示します。このリリースより前は、行は Needs input に移動しても以前のテキストのままだったため、claude agents には待機中のメッセージやその送信者が示されませんでした。
v2.1.257 開いたバックグラウンドセッション内で Ctrl+S によりスタッシュしたプロンプトはセッションとともに保持されるため、セッションのプロセスが停止して再起動された後も Ctrl+S で復元できます。このリリースより前は、スタッシュは実行中のプロセス内にのみ存在し、セッションが長時間アイドル状態になってプロセスが停止したときや、停止してから再度開いたときに失われていました。
v2.1.251 worktree に移動していないバックグラウンドセッションでは、Claude とそれが生成するサブエージェントは、リンクされた git worktree 内のファイルを編集できます。
v2.1.251 Claude Code は、ディスパッチ元のシェルでエクスポートされたクラウドプロバイダーのゲートウェイ(ANTHROPIC_VERTEX_BASE_URL や、認証バイパスフラグを伴う ANTHROPIC_BEDROCK_BASE_URL など)を、ANTHROPIC_BASE_URL と同じ条件でセッションのワーカーに転送します。このリリースより前は、そのようなゲートウェイ経由でのみ認証されたシェルからバックグラウンド化またはディスパッチすると、エンドポイントとフラグがセッションの環境から削除されていたため、セッションのすべてのリクエストが失敗していました。
v2.1.251 別の Claude Code プロセスがプラグインマーケットプレイスを更新している間(マーケットプレイスの自動更新を実行している兄弟セッションなど)にバックグラウンドセッションが開始された場合も、Claude Code はそのマーケットプレイスのプラグインを利用可能な状態に保ちます。このリリースより前は、そのようなセッションがそのマーケットプレイスのスキル、エージェント、フック、MCP サーバーを一切持たずに開始され、実行中ずっとその状態のままになることがありました。
v2.1.248 ディスパッチ入力での Shift+Enter はメインプロンプトと同様に改行を挿入し、? オーバーレイに ctrl+enter to start and open が表示されるターミナルでは、Ctrl+Enter でディスパッチしてすぐにアタッチします。このリリースより前は、Shift+Enter でディスパッチしてアタッチしていました。
v2.1.248 worktree のコミットが origin リモートのデフォルトブランチのローカルコピーに既に含まれていて、メインのチェックアウトでそのブランチがチェックアウトされている場合、セッションの削除が成功するようになりました。このリリースより前は、has commits that are not pushed anywhere で削除が拒否されていました。
v2.1.248 ← または /background でバックグラウンド化されたセッションは、実行中、その worktree の git worktree lock を保持します。このリリースより前は、バックグラウンド化するとロックが解放され、クリーンアップや git worktree remove によって実行中のセッションの worktree が削除されることがありました。
v2.1.248 入力待ちではなかったバックグラウンドセッションが、最後のアクティビティから 48 時間以上経過してから終了していると検出された場合(マシンが何日も電源オフだった後など)、ended while the background service was off とともに停止済みとして表示され、その行で Enter を押すと、保存された会話を再開する前に確認を求めます。このリリースより前は、そのようなセッションは新たな失敗としてリストの先頭に並べ替えられて再表示され、Enter を 1 回押すだけで数週間前の会話がフォアグラウンドに読み込まれていました。
v2.1.248 会話を別のターミナルで再開した停止済みの行を開こうとすると Can't open — this session is running in another terminal で拒否され、その行は Working の下に表示される代わりに Open in a terminal と表示されます。このリリースより前は、その行を開くと、同じ会話に書き込む 2 つ目のプロセスが開始されていました。
v2.1.248 PermissionRequest または PreToolUse フックが無効な回答を出力した状態で権限の決定を待っているバックグラウンドセッションは、その行にフックイベントとスキーマエラーを表示します。このリリースより前は、行には保留中のリクエストのみが表示されていました。
v2.1.248 Windows では、以前のプログラムによって win32-input-mode のままにされたターミナルタブで起動した場合も、claude agents がキーボード入力に応答します。このリリースより前は、Claude Code はそのようなタブが送信するキーレコードをデコードしていませんでした。
v2.1.247 Linux と WSL では、ターミナルホストプロセスが終了したセッションは数秒以内に理由とともに失敗します。出力のないまま開こうとした場合は約 10 秒後に再起動の提案とともに終了し、行で Enter を押すと会話を保ったままセッションが再起動されます。claude attach <id> は原因を報告して終了します。このリリースより前は、そのようなセッションを開くと opening… · esc to cancel が無期限に表示され、claude attach <id> はエラーを報告せずに待機し続けていました。
v2.1.246 npm インストールで、npm install -g @anthropic-ai/claude-code がバイナリを置き換えている間にバックグラウンドサービスの起動に失敗した場合、Claude Code はインストールの完了を最大 10 秒間待って再試行してから、EACCES: permission denied を報告します。
v2.1.246 バックグラウンドサービスのプロセスがエラーを出力した後に終了した場合、Claude Code は失敗を報告し、サービスの最初のエラー行を引用します。
v2.1.246 バックグラウンドサービスの起動中にマシンがスリープした場合、Claude Code は失敗せずに起動を 1 回再試行します。
v2.1.246 新たに起動されたバックグラウンドサービスが動作しているものの接続の受け入れが遅い場合、Claude Code は 45 秒ではなく約 2 分間待機します。
v2.1.246 バックグラウンドサービスはホームディレクトリから起動するため、macOS と Linux では、起動元のディレクトリが削除または移動されていても起動が妨げられなくなりました。
v2.1.246 /fork は、それ自体がコピーとして開始され、その後新しいプロンプトを記録していないセッションからも会話全体をコピーします。このようなセッションには、アタッチした /fork のコピー、← または /background でバックグラウンドに移動した後に再アタッチしたセッション、claude --resume <id> --fork-session で開始したセッションがあります。このリリースより前は、そのようなセッションで新しいプロンプトを送信する前に /fork を実行すると、Claude Code は通常の確認を出力するものの、空の会話でコピーを開始していました。そのようなセッションを ← または /background でバックグラウンドに移動した場合も、同様に会話が失われていました。
v2.1.246 ディスパッチした直後のセッションを、ワーカープロセスの起動中に開いた場合(行で Enter を押した場合など)、Claude Code はプロセスの起動を待ってからアタッチします。このリリースより前は、プロセスの起動中に Enter を押すと、Claude Code が Session <id> was stopped while the respawn was in flight でセッションを停止することがありました。
v2.1.246 名前付きセッションをバックグラウンド化すると、Claude Code はそれを 1 回だけ一覧に表示し、同じ会話を再度バックグラウンド化した場合は、既存の行の名前はそのままで、新しい行の名前に my-session (2) のように番号を付けます。このリリースより前は、← を押したターミナルが同じ名前の 2 つ目のセッションとして claude agents --json に表示されることがあり、同じ会話を再度バックグラウンド化すると、Claude Code はまったく同じ名前で別の行を追加していました。
v2.1.239 vim エディターモードがオンの場合、agent view の入力で Esc を押すと、メインプロンプトと同様にテキストを保持したまま INSERT モードから NORMAL モードに切り替わります。Esc ショートカットの説明どおり、NORMAL モードで入力にテキストが残っている場合は Esc でクリアされ、入力が空の場合は Esc で終了します。このリリースより前は、Esc で入力がクリアされていました。
v2.1.233 GitLab マージリクエストにリンクされたセッションでは、Claude Code は行のラベルを GitLab の !1234 参照構文で表記します。マージリクエストの URL をディスパッチ入力に貼り付けて、そのセッションを選択することもできます。このリリースより前は、ラベルは #1234 と表示され、貼り付けたマージリクエストの URL は、最初のプロンプトにその URL が含まれるセッションにのみ一致していました。
v2.1.227 別の実行中の Claude Code セッションがその worktree ディレクトリ内で動作している間は、セッションを削除してもセッションとその worktree が保持されます。agent view では行に not deleted が、フッターに理由が表示され、claude rm は kept <id> と理由を出力します。理由には他のセッションのプロセス ID が示されます。このリリースより前は、他のセッションがまだ worktree 内で作業しているにもかかわらず、セッションを削除すると worktree が削除されていました。
v2.1.225 信頼していないディレクトリで claude agents を実行すると、agent view が開く前に、claude の起動時と同じワークスペースの信頼ダイアログが表示されます。承諾するとそのワークスペースの信頼が保存され、拒否すると agent view を開かずに終了します。このリリースより前は、claude agents は確認なしで開いたため、そこからディスパッチしたセッションは、信頼を一度も求められていないディレクトリで実行されていました。

リストがディレクトリ別にグループ化されている場合、行にマウスを重ねるとハイライトされますが、ディスパッチ先は変わりません。矢印キーまたはクリックで行を選択すると、引き続きディスパッチ先が変わります。このリリースより前は、別のプロジェクトのセッションにマウスを重ねるだけで、次にディスパッチするセッションの開始ディレクトリが気付かないうちに変わっていました。
v2.1.221 /status に Session kind 行が表示されます。バックグラウンドセッションでは、ターミナルがアタッチされているかどうかに応じて background job · attached または background job · unattended、それ以外のセッションでは interactive が表示されます。このリリースより前は、/status はセッションの種類を報告していませんでした。

/fork:Claude Code はコピーに対し、作業を元のセッションの作業から分離するよう指示します。コピーはコードを変更する前に独自の worktree を作成し、元のセッションの worktree には立ち入らず、タスクが元のセッションの作業を前提とする場合は、元のセッションのブランチを基に新しいブランチを作成します。正確な条件については、リンク先のセクションを参照してください。このリリースより前は、コピーは分離の指示を受け取らず、元のセッションがまだ作業している worktree やチェックアウトを編集してしまうことがありました。

vim エディターモードがオンの場合、u でプロンプトを空になるまで元に戻した直後に ← を押すと、テキストを削除したときやプロンプト履歴を移動したときと同じ確認が表示され、2 回目の押下でのみ切り替わります。このリリースより前は、押すとすぐに切り替わっていました。
v2.1.219 vim エディターモードがオンの場合、空のプロンプトで ← を押すと、INSERT モードだけでなく NORMAL モードからも agent view が開き、フッターの ← ヒントも NORMAL モードで表示されます。このリリースより前は、この操作とヒントは INSERT モード限定で、NORMAL モードでは空のプロンプトで ← を押しても何も起きませんでした。Claude Code がセッションのバックグラウンド化を待っている間に入力欄に入力すると、Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again. と表示されて切り替えがキャンセルされるため、入力した下書きが失われません。
v2.1.218 プロンプトを空にした削除や、プロンプト履歴の移動から 2 秒以内に ← を押すと、Press ← again to open agents(アタッチ中のセッションでは Press ← again to go back to agents)が表示され、少なくとも 1 秒後の 2 回目の押下でのみ切り替わります。このリリースより前は、押すとすぐに切り替わっていました。貼り付けやスクリプトによる入力の中に含まれる ← では切り替わらなくなりました。フォアグラウンドセッションを ← でバックグラウンド化すると、リストの上に Your conversation moved to the background が表示され、agent view のルートで Esc を押すと、シェルに終了する代わりにその会話に戻ります。終了するには引き続き Ctrl+C を 2 回押します。会話を再度開けない場合、Claude Code は終了し、その会話の claude --resume コマンドを出力します。Windows では、アタッチから約 0.5 秒以内に押された ← は Ambiguous ←, press again to detach を表示し、2 回目の押下でデタッチします。
v2.1.217 セッションの行のプルリクエストバッジは、SSH や tmux 経由など、Claude Code がターミナルのハイパーリンク対応を検出できない場合でもハイパーリンクとして表示されます。プレーンテキストとして表示するには FORCE_HYPERLINK=0 を設定します。このリリースより前は、対応が検出されない場合、バッジはプレーンテキストとして表示されていました。
v2.1.216 /fork:確認メッセージは 1 行になり、コピーの状態、agent view でのその行の名前、claude attach 用のセッション ID が表示されます。コピーがメインの作業ツリーで実行される場合や、開いているチェックアウトを編集する場合にのみ、末尾に runs in the origin tree または edits this checkout が付きます。名前をクリックすると、このセッションがバックグラウンド化され、コピーのセッションで agent view が開きます。確認メッセージでは、コピーが継承した権限モードが繰り返し表示されなくなりました。以前のバージョンでは、クリック可能な名前のない複数行の確認メッセージが出力されていました。

Needs input:誰もアタッチしていない間に /install-github-app と /mcp の設定リストを実行すると、そのコマンド名を示す行とともにセッションが Needs input の下に表示され、アタッチしてコマンドを再実行すると続行されます。v2.1.208 から v2.1.215 までは、その状態ではこれらは一律に拒否されていました。

--agent の復元:バックグラウンド化された --agent セッションを再開または再起動すると、ワークスペースが信頼されている場合、エージェントのシステムプロンプトとツール制限が復元されます。エージェントはまずセッション自身のディレクトリで検索されます。エージェントが存在しなくなったセッションは、デフォルトのエージェントに黙って戻るのではなく、デフォルトのツールとシステムプロンプトで続行され、警告が表示された状態で開きます。

Ctrl+X:2 回押すと、停止の試行が失敗した場合でもセッションが削除されます。以前は停止の失敗によって保留中の削除がキャンセルされていました。また、ワーカープロセスが終了していた削除済みセッションが、次回の更新で再表示されなくなりました。

worktree の削除:worktree ディレクトリがどの git リポジトリにも属していないセッションを削除できるようになりました。このリリースより前は、そのようなセッションの削除はすべて拒否されていました。既に存在しないディレクトリはすぐにクリアされます。agent view でのダブルプレスでは、他のセッションのレコードがそのディレクトリを参照していない限り、ファイルが残っているディレクトリも削除され、フックで作成されたディレクトリについては WorktreeRemove フックが実行されます。claude rm は、ファイルが残っている場合は常にそのようなディレクトリを保持します。
v2.1.214 ← または /background でバックグラウンド化され、何も実行せずにアイドル状態のまま放置されたセッションは、プロセスとバックグラウンドサービスを無期限に実行し続けるのではなく、他のアイドルセッションと同様にプロセスが停止されます。完了したセッションは、バックグラウンドサービスがアイドル状態になった後でも claude rm または agent view から削除できます。また、マルチリポジトリのワークスペースフォルダなど git リポジトリではないディレクトリからディスパッチされた後に worktree に入ったセッションは、worktree 自体が git リポジトリに属していれば agent view から削除できます。クリーンアップがディスパッチ元のディレクトリではなく worktree から解決されるためです。以前はどちらの削除も毎回拒否されていました。停止したセッションを再度開くと、トランスクリプトストア内のフォルダを読み取れない場合でも、保存された会話が復元されます。
v2.1.213 /install-github-app、/mcp の設定リスト、MCP 認証アクションは、ターミナルがアタッチされている間はバックグラウンドセッションでも動作し、誰もアタッチしていない場合にのみ、アタッチしてコマンドを再実行するよう促すメッセージとともに拒否されます。v2.1.208 から v2.1.212 までは、ターミナルがアタッチされていても拒否されていました。
v2.1.212 対話型セッションでの /fork は、会話を新しいバックグラウンドセッションにコピーします。このセッションは独自の行として表示され、元のセッションの名前、または名前のないセッションをプロンプト付きでフォークした場合はフォークのプロンプトに基づいて名前が付けられます。元のセッションは実行を続けます。従来の /fork のフォーク型サブエージェントの動作は /subtask に移りました。agent view をオフにしている場合、/fork はフォーク型サブエージェントの動作のままです。最初のプロンプトを待っているフォーカス中の行には space to send it a prompt が表示されます。拡張キーレポートに対応したターミナルでは、ディスパッチ入力で Ctrl+J を押すと改行が挿入され(以前はこのキー入力は無視されていました)、? オーバーレイにこのショートカットが表示されます。対話型セッションのフッターの ← ヒントには、入力を必要とするセッションがない状態でバックグラウンドセッションが完了すると、一時的に N done が表示されます。agent view で引数なしの /resume を入力すると、agent view を開いたリポジトリの過去のセッション(一覧から削除したセッションを含む)のピッカーが開き、選択したセッションがバックグラウンドセッションとして再開されます。このリリースより前は、agent view では /resume を使用できず、削除したセッションには claude --resume または対話型セッションの /resume でしかアクセスできませんでした。対象指定、スコープ指定、制限付きの形式では、以前のバージョンがすべての形式で表示していた attach to a session to run it ヒントが引き続き表示されます。サンドボックスのネットワークホストのプロンプト、MCP の入力リクエスト、または管理設定のプロンプトを待っているセッションは、agent view と claude agents --json で Working ではなく Needs input として表示され、Claude からの質問は permission prompt ではなく waitingFor: input needed として報告されます。プロセスが停止したセッションにアタッチすると、トランスクリプトが生のテキストではなく、実行中のセッションと同じ形式で表示されます。トランスクリプトが想定外の場所にある停止済みセッションは、保存済みトランスクリプトを最後の手段としてスキャンすることで再開され、保存済みトランスクリプトがない行を開くと Press enter again to restart this session fresh が表示され、2 回目の押下で新規に再起動されます。v2.1.211 では拒否メッセージが表示されるだけで、agent view から再起動する方法はありませんでした。
v2.1.211 停止したセッションを、そのセッションが実行されるディレクトリからアタッチまたは返信して起動すると、新規ディスパッチと同じ条件で、シェルのゲートウェイ ANTHROPIC_BASE_URL が再び転送されるようになりました。そのため、ゲートウェイの ANTHROPIC_AUTH_TOKEN で認証されたセッションは、Not logged in を報告せずにゲートウェイ上で再開されます。最初の応答が完了する前に別の会話からバックグラウンド化された停止済みセッションにアタッチすると、同じセッション ID で空の会話を黙って開始するのではなく、This session has no saved transcript で拒否されます。agent view から同じ行を開いた場合は、フッターに拒否メッセージが表示されていました。← または /background のセッションのプロセスを Claude Code の外部から終了すると、スーパーバイザーが再起動するのではなく停止済みとしてマークされます。ディスクに既に記録されている停止は、送信した返信がまだ配信待ちでない限り尊重されます。クラッシュ後に再起動されたセッションには再起動されたことが伝えられ、再起動された ← または /background のセッションは、約 1 時間より古い中断された応答を再開しません。セッションに名前を付けるための応答が、ラベルを付けるのではなくプロンプトに回答したり拒否したりした場合(プロンプトの大半がリンクである場合など)、その応答は破棄され、行にはプロンプトのテキストから取った名前が保持されます。git が worktree をもはや認識していないセッションの削除は、毎回拒否されるのではなく成功するようになり、worktree ディレクトリはディスク上に残され、そのパスが示されます。拒否された削除は、行が黙って再表示されるのではなく、セッションの行に理由を表示します。worktree を削除できなかった場合は、根本の git エラーも含まれます。
v2.1.210 claude attach は、バックグラウンドサービスの起動中または再接続中は、job not found や still starting エラーで失敗するのではなく待機し、アタッチ中に終了したセッションは終了済みとして報告し、時間のかかるアタッチ中に行われたターミナルのサイズ変更をアタッチ完了時に適用します。プロンプトフッターの ← の入力待ち件数は、以前は通常の ← for agents 形式を表示していたサードパーティプロバイダーを含め、すべてのプロバイダーで表示されます。← でセッションをバックグラウンド化すると、Claude のタスクリストが破棄されずにバックグラウンドセッションに引き継がれます。← を押した行は、選択が移動した後も名前が太字で淡色表示されずに残ります。claude agents --effort は ultracode を黙って無視せずに受け付けます。
v2.1.208 プロセスが停止したセッションにアタッチすると、プロセスの起動中、Session is starting という注記だけでなく、トランスクリプトの最後の 1 画面分が表示されます。バックグラウンドサービスに到達できない、または送信に失敗したために配信できない返信は保存され、プロセスが再び起動したときにセッションの次のプロンプトとして送信されます。このリリースより前は、バックグラウンドサービスに到達できない間に失われた返信は破棄されていました。自身のバイナリが更新によって置き換えられたプロセスも、Claude Code を再起動するまで失敗し続けるのではなく、インストール済みの claude ランチャーまたはディスク上の最新バージョンからスーパーバイザーを起動できます。古いバージョンを実行しているスーパーバイザーが、新しいバージョンで開始されたアイドルセッションを自身の古いバイナリで再起動することはありません。セッションを削除すると、セッションが worktree を別のブランチに移した後でも worktree が削除されます。また、worktree にどこにもプッシュされていないコミットがある場合や、別のセッションがその worktree を使用している場合は、コミットを破棄したり worktree を孤立させたりするのではなく、worktree をセッションの行とともに保持します。/install-github-app、/mcp の設定リストとその認証アクションは、バックグラウンドセッションでは代替手段を示すメッセージとともに拒否されます。v2.1.208 のみ、/model ピッカーも同様に拒否され、/model <name> を入力するとデフォルトモデルは保存されず、そのセッションのみが切り替わりました。
v2.1.207 ピークパネルは、行で切り詰められている文(セッションが入力を待っている場合の正確な質問など)から始まり、ブロックされたセッションの待機時間を、ステータス文と質問に同じタイムスタンプを付けるのではなく、単一の waiting 3m 行として表示します。ディスパッチ入力に同じテキストを再度貼り付けると、2 つ目のプレースホルダーを追加する代わりに、折りたたまれた [Pasted text #N] プレースホルダーが展開されます。プランの承諾によって名前が付けられたバックグラウンドセッションは、その名前を行に表示します。worktree に移動したバックグラウンドセッションは、agent view からプロセスが再起動されても会話を保持します。
v2.1.206 行の概要は行の残りの幅いっぱいに表示され、64 列ではなくターミナルの右端でのみ切り詰められます。スーパーバイザーが新しい Claude Code バージョンで再起動した後、残りのアイドル状態のバックグラウンドセッションを、1 分あたり数個ずつではなくバックグラウンドでそのバージョンで再起動します。Ctrl+X または claude rm でセッションを削除すると、スーパーバイザーのセッションリストからもクリアされるため、スーパーバイザーの再起動後に行が再表示されなくなりました。ディスパッチ元のシェルでエクスポートされた CLAUDE_CODE_EXTRA_BODY によるリクエストボディの上書きが、無視されずにバックグラウンドセッションに適用されます。
v2.1.205 通常の claude セッションのプロンプトフッターにある ← ヒントは、入力を待っているバックグラウンドエージェントの数を ← 2 agents のように表示します。行の概要には、生のツール呼び出しや done/total カウントではなく、セッション自身による 1 行のレポートが 64 列で切り詰めて表示されます。ディレクトリ別にグループ化された行は、色付きの状態を表す語で始まります。ピークパネルは完全なステータス文から始まり、入力を待っているセッションの場合は、返信入力の上にその正確な質問が表示されます。プルリクエストを作成またはチェックアウトするセッションだけでなく、gh でプルリクエストを編集、コメント、クローズ、またはレディ状態にするセッションもそのプルリクエストにリンクされます。ローカルブランチ名が一致しなくてもプッシュによってプルリクエストがリンクされ、作成コマンドの出力がインライン制限を超えたプルリクエストもリンクされます。読み取れるテキストがないターンでは、状態が Working に戻らず、セッションの以前の状態が保持されます。claude attach は、再起動中のセッションに対して、失敗せずに理由を示すステータスラインを表示しながら最大約 60 秒間待機します。
v2.1.203 ディスパッチ元のシェルでエクスポートされたゲートウェイ ANTHROPIC_BASE_URL は、スーパーバイザーがそのゲートウェイ環境を共有している場合、一緒にエクスポートされた API キーだけが保持されて破棄されるのではなく、同じディレクトリにディスパッチされたセッションに届きます。ディスパッチ元のシェルの PATH が各セッションのワーカーに適用されます。サブエージェントの実行中に ← を押すと、10 秒後にサブエージェントを再起動するのではなく、その完了を待ちます。空のリストには常にセクションヘッダーが表示され、各ヘッダーの下に説明が表示されます。ディスパッチ入力で @ を入力すると、起動元リポジトリのディレクトリツリー内にある登録済みの git worktree も一覧表示されます。effortLevel 設定から継承された effort は、ディスパッチ時に固定されるのではなく、その設定の後の変更に追従します。会話が既に別の実行中のセッションで開かれている停止済みセッションを開くと、行が失敗するのではなく、メッセージとともに拒否されます。agent view で利用できないコマンドを入力すると、入力したテキストが入力欄に残ります。git リポジトリの外で失敗した WorktreeCreate フックによって、セッションのファイル編集がブロックされなくなりました。
v2.1.202 /rename または Ctrl+R でバックグラウンドセッションに設定された名前は、スーパーバイザーがそのプロセスを停止して再開しても、セッションがディスパッチされた時の名前に戻るのではなく、永続化されます。
v2.1.200 古い Claude Code バージョンが roster.json のセッションリストを書き換える場合も、既存の state.json の保証と同様に新しいバージョンが書き込んだフィールドを保持するため、新しいバージョンで開始されたセッションはスーパーバイザーの再起動後も入力を受け付け続けます。応答しなくなったセッションを開くと、スーパーバイザーがそのプロセスを再起動し、セッションは中断された応答を中断した箇所から続行します。agent view は、agents の後に指定された --plugin-dir フラグを、ディスパッチされたセッションだけでなく、ディスパッチ入力での自身のサブエージェントとスキルのオートコンプリートにも適用します。
v2.1.199 プロセスが低メモリホストで起動を完了する前に終了するバックグラウンドセッションは、単に終了理由だけではなく、その行ステータスに possibly low memory — free some up and retry を表示します。← または /background でセッションをバックグラウンド化すると、その /color が新しい行に引き継がれます。
v2.1.198 バックグラウンドセッションが入力を必要とするとき、完了したとき、または失敗したときに、agent view は preferredNotifChannel を通じて通知を送信し、agent_needs_input または agent_completed タイプで Notification フックを発火します。claude attach <id> 内での ← と /exit は、シェルに戻るのではなく agent view に戻ります。Ctrl+Z でシェルに戻ります。作業を worktree に分離したバックグラウンドセッションは、完了時に事前に確認することなくコミットし、独自の分離ブランチをプッシュして(main や master は決してプッシュしません)、ドラフトのプルリクエストを開きます。/login は agent view で実行され、サインインダイアログを開きます。Background work is running 終了ダイアログは Move to background and exit を提供します。終了ハンドオフはバックグラウンドサブエージェントもカバーし、失敗として報告される代わりに次の起動時にトランスクリプトから再開します。claude --bg を -p または --print と組み合わせるとエラーで拒否されます。バックグラウンドセッションホストは、connect: no route to host で失敗する代わりに、最初の LAN アクセス時に macOS のローカルネットワーク権限を要求します。
v2.1.196 単一の ← 押下でフォアグラウンドセッションがバックグラウンド化されます。以前のバージョンでは 2 回の押下が必要で、フッターヒントと確認がありました。claude agents に渡された --dangerously-skip-permissions は、黙って無視されるのではなく、バイパスの免責事項を表示します。名前を付けていない対話型セッションには、セッション一覧と claude agents --json で my-app-3f のようなデフォルト名が付きます。バックグラウンドのシェルコマンドと動的ワークフローは、Windows を含め、セッションのプロセスが停止、再起動、または更新されても存続します。このハンドオフをオフにするには CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1 を設定します。再起動時に空と誤って読み取られたトランスクリプトは、削除されるのではなく .orphaned- サフィックス付きの名前に変更されます。
v2.1.195 Windows でも、セッションをバックグラウンド化する際に実行中の作業が引き継がれます。代わりに停止させるには CLAUDE_DISABLE_ADOPT=1 を設定します。Completed グループは残りの垂直スペースを埋め、ヘッダーは短いターミナルでコンパクトになります。古い Claude Code バージョンが、新しいセッションの state.json フィールドを破棄したり、それらのセッションを claude agents から隠したりしなくなりました。停止されたセッションにアタッチすると、最大 5 秒間の空白画面を表示する代わりに直ちに切り替わります。接続を受け入れることができないスーパーバイザーは自ら終了してロックを解放します。
v2.1.191 どのサブエージェントとも一致しない --agent 名を指定して claude --bg を実行すると、起動が失敗します。セッションはデフォルトのエージェントで実行されるのではなく、--agent '<name>' not found エラーで直ちに終了します。
v2.1.174 バックグラウンドセッションはスーパーバイザーの起動シェルからゲートウェイエンドポイント変数(ANTHROPIC_BASE_URL など)を継承しなくなります。スーパーバイザーは事前にウォームアップされたワーカーに新しい認証情報スナップショットを提供し、誤った Could not resolve authentication method エラーを修正します。
v2.1.172 ディスパッチ入力の /model は、セッションスコープのディスパッチモデルの上書きを設定します。
v2.1.161 行の概要は並列作業項目の done/total カウントを表示します。ピークパネルは最も長く実行されている並列作業項目を名前で表示します。
v2.1.157 claude agents は --agent を受け入れます。ディスパッチされたセッションは agent 設定を尊重します。
v2.1.145 ピークパネルの返信入力とディスパッチ入力で音声ディクテーションに対応しました。
v2.1.143 worktree.bgIsolation 設定が追加されました。claude agents は --allow-dangerously-skip-permissions を受け入れます。
v2.1.142 claude agents は --permission-mode、--model、--effort、--dangerously-skip-permissions、--settings、--add-dir、--plugin-dir、--mcp-config、--strict-mcp-config を受け入れます。
v2.1.141 claude agents は --cwd を受け入れてリストを 1 つのプロジェクトにスコープします。
v2.1.139 Agent view はリサーチプレビューとして導入されました。