複数のエージェントをエージェントビューで管理する
1 つの画面から多くの Claude Code セッションをディスパッチして管理します。エージェントビューは、すべてのセッションが何をしているか、どのセッションが入力を必要としているかを表示します。
claude agents で開くエージェントビューは、すべてのバックグラウンドセッションの 1 つの画面です。実行中のもの、入力が必要なもの、完了したものが表示されます。新しいセッションをディスパッチし、トランスクリプトをスクロールする代わりに一目でセッションの状態を確認し、セッションが必要とするときだけ介入します。各バックグラウンドセッションは完全な Claude Code の会話であり、ターミナルが接続されていなくてもバックグラウンドで実行し続けるため、いつでも開いて、返信して、去ることができます。
Claude が複数の独立したタスクに対して、あなたが毎ステップを監視することなく作業できる場合に、エージェントビューを使用します。バグ修正、プルリクエストレビュー、不安定なテストの調査を 3 つの行としてディスパッチし、別のウィンドウで作業を続け、行が入力が必要であることを示すか、結果が得られたときに確認します。
任意のエージェントのセッションでより直接的に作業したい場合は、行にアタッチして完全な会話に入ります。
エージェントビューを subagents、agent teams、worktrees と比較するには、エージェントを並列で実行するを参照してください。
エージェントビューはリサーチプレビューであり、Claude Code v2.1.139 以降が必要です。claude --version でバージョンを確認してください。インターフェースとキーボードショートカットは機能の進化に伴って変更される可能性があります。
このページでは以下をカバーしています。
- クイックスタート:Claude にバックグラウンドで作業するタスクを与え、確認し、必要なときに介入する
- エージェントビューでセッションを監視する。状態アイコン、ピーク表示と返信、アタッチ、整理、キーボードショートカットを含みます
- 新しいエージェントをディスパッチする。エージェントビューから、セッション内から、またはシェルから
- シェルからセッションを管理する
- バックグラウンドセッションがどのようにホストされるか。スーパーバイザープロセスによって
クイックスタート
このチュートリアルでは、コアエージェントビューループについて説明します。タスクをディスパッチし、Claude が作業する際に行が更新されるのを見守り、ピークして確認して返信し、フル会話にアタッチします。ディスパッチしたセッションはエージェントビューを閉じた後も実行し続けるため、離れて後で戻ることができます。
エージェントビューを開く
シェルから以下を実行します。
claude agents
エージェントビューが開き、下部に入力フィールドが表示され、セッションが開始されるとテーブルが埋まります。いつでも Esc を押してシェルに戻ります。セッションは離れている間も実行し続け、次にエージェントビューを開いたときに再度表示されます。
セッションをディスパッチする
タスクを説明するプロンプトを入力して Enter を押します。新しいバックグラウンドセッションがそのタスクで開始され、作業中か、入力を待機中か、完了しているかを示す行として表示されます。新しいセッションはエージェントビューヘッダーに表示されているモデルと、そのディレクトリで claude を実行する場合と同じパーミッションモードを使用します。
ここで入力するすべてのプロンプトは独自の新しいセッションを開始します。別のプロンプトを入力して Enter を押すと、最初のセッションへのフォローアップを送信するのではなく、最初のセッションと並行して 2 番目のセッションが起動します。この方法で複数を並行して実行できます。
各セッションはサブスクリプションクォータを独立して使用するため、一度に多くをディスパッチする前に制限事項を参照してください。
ピーク表示と返信
矢印キーで行を選択し、Space を押してピークパネルを開きます。フルトランスクリプトではなく、セッションの最新の出力、または待機中の質問が表示されます。返信を入力して Enter を押すと、エージェントビューを離れずに送信できます。
アタッチとデタッチ
フル会話が必要な場合は、行で Enter または → を押してアタッチします。セッションはターミナルを引き継ぎ、フルインタラクティブな Claude Code セッションになります。空のプロンプトで ← を押してデタッチし、テーブルに戻ります。
既存のセッションを持ち込む
既に開いているセッションをエージェントビューに移動するには、セッション内で /bg を実行するか、空のプロンプトで ← を押してセッションをバックグラウンドにし、1 ステップでエージェントビューを開きます。セッションは実行し続け、ディスパッチしたセッションと並行して行として表示されます。
claude agents を claude の代わりにプライマリエントリーポイントとして使用できます。エージェントビューからすべてのタスクをディスパッチし、フル会話が必要な場合はアタッチし、← を押してテーブルに戻ります。
エージェントビューでセッションを監視する
claude agents を実行してエージェントビューを開きます。ターミナル全体を占有し、状態でグループ化されたすべてのセッションをリストします。ピン留めされたセッションと入力が必要なセッションが上部に表示されます。各行はセッションの名前、現在のアクティビティ、最後に変更されてからの経過時間を表示します。
デフォルトでは、リストはすべてのプロジェクト全体で開始したすべてのバックグラウンドセッションを表示します。1 つのリポジトリで作業しているセッションと別のワークツリーで作業している別のセッションの両方がここに表示されます。エージェントビューを開いたディレクトリに関係なく表示されます。リストを 1 つのプロジェクトに絞り込むには、--cwd を渡します(Claude Code v2.1.141 以降が必要です)。
claude agents --cwd ~/projects/my-app
これはそのディレクトリの下で開始されたセッションのみを表示します。~/projects/my-app/.claude/worktrees/ の下の ワークツリーに移動した セッションは、~/projects/my-app に属するものとしてカウントされます。
他のターミナルで開いているインタラクティブセッションは、バックグラウンドにする までは表示されません。Subagents と teammates はセッションが生成しても個別の行としてリストされません。
Pinned
✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m
Ready for review
∙ jump physics Opened PR with collision fix PR #2048 2h
Needs input
✻ power-up design needs input: double jump or wall climb? 1m
Working
✽ collision detection Edit src/physics/CollisionSystem.ts 2m
✢ playtest level 3 run 12 · all checkpoints cleared in 4m
Completed
✻ title screen result: menu, options, and credits done 9m
∙ sound effects result: 14 SFX exported to assets/audio 4h
… 6 more
セッション状態を読む
各行は、セッションの状態を示すアイコンで始まります。アイコンの色とアニメーションはセッションの状態を示します。
| 状態 | アイコン表示 | 意味 |
|---|---|---|
| 作業中 | アニメーション | Claude がアクティブにツールを実行しているか、応答を生成しています |
| 入力が必要 | 黄色 | Claude は特定の質問または許可決定をあなたから待機しています |
| アイドル | 薄い | セッションはすることがなく、次のプロンプトの準備ができています |
| 完了 | 緑 | タスクが正常に完了しました |
| 失敗 | 赤 | タスクがエラーで終了しました |
| 停止 | グレー | セッションは Ctrl+X または claude stop で停止されました |
別に、アイコンの形状は基盤となるプロセスが実行しているかどうかを示します。
| 形状 | 意味 |
|---|---|
✻ またはアニメーション ✽ |
セッションプロセスは生きており、すぐに返信します |
∙ |
プロセスは終了しました。ピーク表示、返信、またはアタッチはできます。Claude は中断したところから再開します |
✢ |
/loop セッションはイテレーション間でスリープしています。行は実行回数とカウントダウンを表示します |
行の右端に表示される PR #N ラベルは セッションが開いたプルリクエスト であり、状態アイコンの一部ではありません。セッションが複数のプルリクエストを開いた場合、ラベルはカウントを表示します。例えば 3 PRs のようになります。
ターミナルタブのタイトルは、エージェントビューが開いている間、待機中の入力カウントを表示します。セッションが入力を必要とする場合は 2 awaiting input · claude agents、そうでない場合は claude agents です。
バックグラウンドセッションは作業を続けるためにターミナルを開く必要がありません。別の スーパーバイザープロセス がセッションを実行するため、エージェントビューを閉じたり、シェルを閉じたり、新しいインタラクティブセッションを開始したりしても、ディスパッチされた作業は続きます。
セッション状態はディスク上に永続化され、自動更新とスーパーバイザー再起動を通じて保存されます。セッションはマシンがスリープするときも保存されます。プロセスはウェイク時に再開され、スーパーバイザーはアイドルとして時間ギャップを扱う代わりにそれらに再接続します。シャットダウンはまだ実行中のセッションを停止します。シャットダウン後にセッションが失敗として表示される を参照して、それらを復旧する方法を確認してください。
行の概要
各行の 1 行の概要は Haiku クラスモデル によって生成されるため、行はトランスクリプトを開かずにセッションが何をしているか、何が必要か、または何を生成したかを伝えることができます。セッションがアクティブに作業している間、概要は最大 15 秒ごとに 1 回、および各ターンが終了したときに 1 回更新されます。
v2.1.161 以降では、セッションが subagents、バックグラウンドシェルコマンド、またはモニターなど、2 つ以上の並列作業項目を実行している場合、2/5 などの done/total カウントが概要テキストの前に表示されます。
各更新は通常のプロバイダーを通じた 1 つの短い Haiku クラスリクエストであり、セッション自体と同じ データ使用条件 の下で請求および処理されます。Bedrock、Vertex AI、Microsoft Foundry、カスタムゲートウェイなどのサードパーティプロバイダーでは、Haiku モデルが設定されていない場合、リクエストはセッションのメインモデルにフォールバックします。これらのプロバイダーでこれらの概要のモデルを選択するには、ANTHROPIC_DEFAULT_HAIKU_MODEL を設定します。
プルリクエストステータス
セッションがプルリクエストを開くと、PR #1234 ラベルが行の右端に表示され、ハイパーリンクをサポートするターミナルではプルリクエストにリンクされます。セッションにフォローアップを送信するときもラベルは保存されるため、行がライブプログレスに戻るときもプルリクエストは表示されたままです。
セッションが複数のプルリクエストを開いた場合、ラベルはカウントを表示します。例えば 3 PRs のようになり、最も注意が必要なオープンプルリクエストで色付けされます。ピークパネル を開いてすべてを表示します。
プルリクエスト番号はそのステータスで色付けされます。
| 色 | プルリクエストステータス |
|---|---|
| 黄色 | チェックまたはレビューを待機中、またはチェックが失敗 |
| 緑 | チェックが成功し、レビューがブロックされていない |
| 紫 | マージ済み |
| グレー | ドラフトまたはクローズ |
ほとんどのタスクでは、この列が結果を収集する場所です。プルリクエスト番号が緑になったときにプルリクエストをレビューしてマージします。
ピーク表示と返信
選択した行で Space を押してピークパネルを開きます。セッションが何を必要としているか、最新の出力、および開いたプルリクエストが表示されます。ほとんどの場合、これで十分であり、フルトランスクリプトを開く必要はありません。
v2.1.161 以降では、セッションが並列作業項目を実行している場合、パネルは最も長く実行されているものとその実行時間を名前で表示するため、アタッチせずにセッションが何を待機しているかを確認できます。
ピークパネルに返信を入力して Enter を押すと、そのセッションに送信されます。セッションが複数選択肢の質問をしている場合、ピークパネルはオプションを表示し、数字キーを押して 1 つを選択できます。他のブロックされたセッションの場合は、Tab を押して入力に提案された返信を入力し、送信前に編集できます。返信の前に ! を付けて Bash コマンドを代わりに送信します。
v2.1.145 以降では、音声ディクテーション が有効な場合、返信入力がフォーカスされている間、プッシュトゥトークキーを押したままにするか、タップして返信をディクテーションします。これはエージェントビューの下部のディスパッチ入力でも同じように機能します。
↑ と ↓ を使用してパネルを閉じずに隣接するセッションをピーク表示するか、→ を使用してアタッチします。
セッションにアタッチする
選択した行で Enter または → を押してアタッチします。エージェントビューはフルインタラクティブセッションに置き換えられます。アタッチすると、Claude は不在中に何が起こったかの短い要約を投稿します。
アタッチ中、セッションは他の Claude Code セッションのように動作します。すべての コマンド、キーボードショートカット、および機能が機能します。
アタッチされたセッションは、tui 設定に関係なく、常に フルスクリーンモード でレンダリングされます。バックグラウンドセッションには追加するターミナルスクロールバックがないためです。PgUp、PgDn、またはマウスホイールでスクロールし、トランスクリプトモードの場合は Ctrl+O を押します。ターミナルのネイティブスクロールと tmux コピーモードは現在のビューポートのみを表示します。これはフルスクリーンアプリケーションを実行するときと同じです。
空のプロンプトで ← を押してデタッチし、エージェントビューに戻ります。ダイアログがフォーカスを持っており、← に応答していない場合は、Ctrl+Z を押して直ちにデタッチします。
Ctrl+C はアタッチ中に標準的な割り込み動作を保持します。実行中の応答または ! シェルコマンドをキャンセルするのであり、デタッチするのではありません。空のプロンプトで Ctrl+C を 2 回押すとデタッチします。これは他のセッションと同じです。
デタッチはバックグラウンドセッションを停止しません。←、Ctrl+Z、/exit、および二重 Ctrl+C または二重 Ctrl+D はすべてセッションを実行し続けます。セッション内からセッションを終了するには、/stop を実行します。
空のプロンプトで ← を押すと、エージェントビューからアタッチしたセッションだけでなく、任意の Claude Code セッションから機能します。現在のセッションをバックグラウンドにし、そのセッションが事前に選択された状態でエージェントビューを開くため、ターミナルを離れずにセッションを切り替えることができます。行は会話履歴がない新しいセッションからでも作成されるため、→ はそれに戻ります。その行が唯一の行である場合、エージェントビューはその下にオンボーディングヒントを表示します。このショートカットは /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 を押すと、確認後、そのグループ内のすべてのセッションが削除されます。
削除するとセッションがエージェントビューから削除されます。Claude が ワークツリーを作成した 場合、削除するとそのワークツリーも削除されます。コミットされていない変更を含みます。保持したい作業をプッシュまたはコミットしてから削除します。自分で作成したワークツリーとセッションを開始した場合は、そのままにしておきます。会話トランスクリプトはローカルマシンに残り、claude --resume を通じて利用可能です。
古い完了したセッションは「… N more」行に折りたたまれ、リストを短く保ちます。失敗とオープンなプルリクエストを持つセッションは常に表示されます。
セッションをフィルタリングする
ディスパッチ入力に入力してディスパッチの代わりにフィルタリングします。
| フィルター | 表示 |
|---|---|
a:<name> |
名前付きエージェントを実行しているセッション |
s:<state> |
指定された状態のセッション。例えば s:working。また s:blocked はあなたを待機しているすべてのセッションを受け入れます |
#<number> または PR URL |
そのプルリクエストで作業しているセッション |
| その他の URL | 最初のプロンプトにその URL が含まれていたセッション |
キーボードショートカット
エージェントビューで ? を押してコンテキスト内のすべてのショートカットを表示します。下の表はそれらをまとめています。
| ショートカット | アクション |
|---|---|
↑ / ↓ |
行間を移動 |
Enter |
選択したセッションにアタッチするか、入力にテキストがある場合はディスパッチ |
Space |
選択したセッションのピークパネルを開くまたは閉じる |
Shift+Enter |
ディスパッチして直ちにアタッチ |
→ |
選択したセッションにアタッチ |
Alt+1..Alt+9 |
フォーカスされたセッションのディレクトリ内のセッション 1~9 にアタッチ |
Tab |
空の入力で、すべての subagents を参照します。それ以外の場合はハイライトされた提案を適用 |
Ctrl+S |
グループ化を状態とディレクトリの間で切り替え |
Ctrl+T |
選択したセッションをピン留めまたはピン留め解除 |
Ctrl+R |
選択したセッションの名前を変更 |
Ctrl+G |
$VISUAL または $EDITOR でディスパッチプロンプトを開く |
Ctrl+X |
セッションを停止。2 秒以内に再度押して削除 |
Shift+↑ / Shift+↓ |
選択したセッションを並べ替え |
Esc |
ピークパネルを閉じるか、入力をクリアするか、終了 |
Ctrl+C |
入力をクリア。2 回押して終了 |
? |
すべてのショートカットを表示 |
新しいエージェントをディスパッチする
エージェントビューから新しいバックグラウンドセッションをディスパッチするか、既存のインタラクティブセッションをバックグラウンドに送信するか、シェルから直接開始できます。
エージェントビューから
エージェントビューの下部の入力にプロンプトを入力して Enter を押すと、新しいバックグラウンドセッションが開始されます。セッションはプロンプトから自動的に名前が付けられます。後で Ctrl+R で名前を変更できます。
プロンプトに画像を貼り付けて、タスクにスクリーンショットまたは図を含めます。
プロンプトの一部をプレフィックスまたは言及してセッションの開始方法を制御します:
| 入力 | 効果 |
|---|---|
<agent-name> <prompt> |
最初の単語がカスタム subagent 名と一致する場合、その subagent はセッションのメインエージェントとして実行され、frontmatter の設定を使用します |
@<agent-name> |
プロンプト内の任意の場所でカスタム subagent を言及してメインエージェントとして実行 |
@<repo> |
エージェントビューを開いたディレクトリの下のリポジトリを言及してセッションをそこで実行 |
/<command> |
skills および commands をディスパッチプロンプトとして提案 |
! <command> |
Claude セッションを開始する代わりに、シェルコマンドをバックグラウンドジョブとして実行します。ジョブは行として表示され、アタッチ、監視、デタッチできます |
#<number> または pull request URL |
セッションが既にその PR で作業している場合は、ディスパッチの代わりに選択 |
Shift+Enter |
ディスパッチして新しいセッションに直ちにアタッチ |
エージェントビュー自体で実行される少数のコマンドがあります。ディスパッチの代わりに:/exit および /quit はエージェントビューを閉じ、/logout はサインアウトします。その他のすべてのコマンドとスキルは、新しいバックグラウンドセッションにその最初のプロンプトとして送信されます。
繰り返しタスクを skill としてパッケージ化すると、プロンプトを再入力せずにエージェントビューから同じワークフローを何度も開始できます。
同じ @name が subagent と兄弟リポジトリの両方と一致する場合、subagent が優先されます。最初の単語の一致も適用されるため、subagent 名の 1 つと一致する単語で始まるプロンプトはその subagent をディスパッチします。明示的にしたい場合は @ 形式を使用するか、プロンプトを別の単語で開始して一致を避けます。
特定のディレクトリにディスパッチする
新しいセッションはエージェントビューを開いたディレクトリで実行されます。別のディレクトリをターゲットにするには:
- そのディレクトリで
claude agentsを開きます。 - 複数のリポジトリを保持する親ディレクトリで
claude agentsを開き、プロンプトで@<repo>を使用して 1 つを言及してセッションをそこで実行します。 - シェルから、ディレクトリに
cdしてclaude --bg "<prompt>"を実行します。
エージェントビューがディレクトリでグループ化されている場合、ハイライトされた行のディレクトリがディスパッチターゲットになるため、グループにスクロールしてパスを再入力せずにそこにディスパッチできます。
セッション内から
/background またはそのエイリアス /bg を実行して現在の会話をバックグラウンドセッションに移動します。/bg run the test suite and fix any failures などのプロンプトを渡して、バックグラウンド化する前に 1 つの追加命令を送信します。Claude が応答中に /bg を実行した場合、応答はバックグラウンドセッションで続行されます。
インタラクティブセッションからバックグラウンド化すると、保存された会話から再開する新しいプロセスが開始されるため、subagent の実行、monitors、およびバックグラウンドコマンドはそれに転送されません。実行中の場合、Claude はバックグラウンド化する前に確認を求めます。バックグラウンドに入ると、セッションは新しい subagent、monitor、およびバックグラウンドコマンドを開始でき、それらは後のデタッチとリアタッチ全体で実行し続けます。
元の起動時の設定フラグはバックグラウンド化されたセッションに引き継がれるため、その MCP サーバー、設定、およびフォールバックモデルは有効なままです:
--mcp-configおよび--strict-mcp-config--settings--add-dir--plugin-dir--fallback-model--allow-dangerously-skip-permissions
セッション中に /add-dir で追加したディレクトリも引き継がれます。
--allow-dangerously-skip-permissions を引き継ぐことで、バックグラウンド化されたセッションで bypassPermissions に到達可能になりますが、新しい権限は付与されません。このモードは、セッションが監視していない状態で承認なしに動作することを許可するため、パーミッションモード、モデル、および努力 で説明されているのと同じ 1 回限りのインタラクティブな受け入れが必要です。
シェルから
--bg を渡してセッションを直接バックグラウンドに送信します:
claude --bg "investigate the flaky SettingsChangeDetector test"
特定の subagent をセッションのメインエージェントとして実行するには、--bg を --agent と組み合わせます:
claude --agent code-reviewer --bg "address review comments on PR 1234"
--name を渡して、自動生成されたセッションの代わりにエージェントビューでセッションの表示名を設定します:
claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"
バックグラウンド化の後、Claude はセッションの短い ID とセッションを管理するためのコマンドを出力します。--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 セッションの代わりにシェルコマンドをバックグラウンドジョブとして実行するには、エージェントビューのディスパッチ入力の最初の文字として ! を入力します。! はプレフィックスとして表示され、その後に入力するすべてのものがコマンドです。次の例は、エージェントビューの入力ボックスから pytest -x をディスパッチします:
! pytest -x
Enter を押してジョブを開始します。同じジョブは、--exec を使用してシェルから直接起動することもできます:
claude --bg --exec 'pytest -x'
コマンドは PTY バックアップジョブとして実行され、エージェントビューの行として表示されます。最新の出力行がそのステータスです。シェルジョブは Claude の代わりにコマンドを実行するため、モデルは呼び出されず、出力はセッションに送信されません。
出力を確認するには、行にアタッチするか、Space を押してアタッチせずにピークするか、シェルから claude logs <id> を実行します。キャプチャされた出力はメモリに保持され、ディスクに書き込まれません。行とその出力は、コマンド終了後約 5 分で自動的にクリーンアップされるため、その前に結果が必要な場合は読み取ります。
ファイル編集の分離方法
エージェントビュー、/bg、または claude --bg から開始されたすべてのバックグラウンドセッションは、作業ディレクトリで開始されます。ファイルを編集する前に、Claude はセッションを .claude/worktrees/ の下の分離された git worktree に移動するため、並列セッションは同じチェックアウトを読み取ることができますが、それぞれが独自のものに書き込みます。
Claude はワークツリーをスキップします:
- セッションが既にリンクされた git worktree 内にある場合。Claude が
.claude/worktrees/の下に作成したか、git worktree addで別の場所に作成したかに関係なく - 作業ディレクトリが git リポジトリでない場合、および
WorktreeCreatehook が設定されていない場合 - 作業ディレクトリの外への書き込みの場合
git worktree が実用的でないリポジトリのワークツリー分離をオフにするには、worktree.bgIsolation を "none" に設定します。バックグラウンドセッションは、ワークツリーに移動する前に作業コピーを直接編集します。プロジェクトの .claude/settings.json に設定を追加します:
{
"worktree": {
"bgIsolation": "none"
}
}
worktree.bgIsolation 設定には Claude Code v2.1.143 以降が必要です。
git リポジトリの外では、セッションは作業ディレクトリに直接書き込み、互いに分離されていないため、同じファイルを編集する並列セッションのディスパッチを避けます。別のバージョン管理システムを使用する場合は、WorktreeCreate hook を設定して、Claude は git の場合と同じ方法で編集を分離します。
エージェントビューでセッションを削除する(Ctrl+X を 2 回)と、Claude が作成したワークツリーが削除されます。コミットされていない変更を含めて削除されるため、保持したい変更をマージまたはプッシュしてから削除します。シェルから claude rm で削除すると、コミットされていない変更があるワークツリーが保持され、そのパスが出力されるため、自分でクリーンアップできます。自分で作成したワークツリーとセッションを開始した場合は、どちらの方法でも所定の位置に残されます。
セッションのワークツリーパスを見つけるには、セッションをピークするか、アタッチして作業ディレクトリを確認します。
バックグラウンドセッションが生成する subagent は、セッションの作業ディレクトリを継承するため、そのファイル編集はセッションのワークツリーではなく作業コピーに配置されます。subagent に独自の個別ワークツリーを代わりに提供するには、frontmatter で isolation: worktree を設定するか、生成時に isolation: "worktree" を渡します。
モデルを設定する
エージェントビューヘッダーに表示されるモデル名はディスパッチのデフォルトです。入力から開始する新しいセッションはこのモデルを使用します。これは model setting からユーザー設定で取得されます。/model picker でモデルを選択して設定するか、設定を直接編集します。エージェントビューセッション全体でオーバーライドするには、エージェントビューを開く際に --model を渡します。パーミッションモード、モデル、および努力 を参照してください。
各バックグラウンドセッションは異なるモデルで実行できます。1 つのセッションでオーバーライドするには:
- シェルから、
claude --bgで--modelを渡します。 - 実行中のセッションにアタッチして、そこで
/modelを開き、モデルでsを押してそのセッションのみのモデルを切り替えます。セッションが再生成される場合、変更は保持されます。 - frontmatter が
modelフィールドを設定する subagent をディスパッチします。
パーミッションモード、モデル、および努力
バックグラウンドセッションは、そこで claude を開始した場合と同じように、実行されるディレクトリから settings を読み取ります。
permission mode は、セッションをどのように開始したかによって異なります。/bg または ← でインタラクティブセッションをバックグラウンド化すると、現在のパーミッションモードが保持されるため、acceptEdits または auto に切り替えたセッションはデタッチ後もそのモードのままです。エージェントビュー入力からディスパッチするか、シェルから claude --bg を実行すると、そのディレクトリの設定から defaultMode を使用するか、ディスパッチされた subagent の frontmatter から permissionMode を使用します。
バックグラウンドセッションを開始するときのパーミッションモード、モデル、および努力は、スーパーバイザーが後で セッションのプロセスを停止して再開 するときに、設定フラグ とともに保持されます。claude --bg --dangerously-skip-permissions または claude --bg --permission-mode bypassPermissions で起動したセッションは、ディレクトリの defaultMode にフォールバックする代わりに、その再開後も bypassPermissions のままです。また、セッション中に /model または /effort で変更したモデルまたは努力は保持されます。
エージェントビューを開く際に --permission-mode、--model、--effort、または --agent のいずれかを渡して、エージェントビューからディスパッチするすべてのセッションのデフォルトを設定します:
claude agents --permission-mode plan --model opus --effort high
--agent は、ディスパッチプロンプトが @name または最初の単語で名前を付けない場合に使用される subagent を設定します。設定されている場合は agent setting にデフォルト設定され、そうでない場合は組み込みのキャッチオール claude エージェントです。ディスパッチ入力で subagent を名前付けすると、両方がオーバーライドされます。
claude agents は、--permission-mode bypassPermissions の短縮形として --dangerously-skip-permissions も受け入れ、各ディスパッチされたセッションの Shift+Tab サイクルで bypassPermissions を利用可能にするために --allow-dangerously-skip-permissions も受け入れます。どちらも トップレベル CLI フラグ と一致します。
これらのフラグはリリース全体で追加されました。以前のバージョンはそれらを unknown-option エラーで拒否します。
| フラグまたは設定 | 最小バージョン |
|---|---|
--permission-mode、--model、--effort、--dangerously-skip-permissions |
v2.1.142 {/* min-version: 2.1.142 */} |
--allow-dangerously-skip-permissions |
v2.1.143 {/* min-version: 2.1.143 */} |
--agent、およびディスパッチされたセッションの agent 設定を尊重 |
v2.1.157 {/* min-version: 2.1.157 */} |
v2.1.157 より前では、エージェントビューは agent 設定を無視し、組み込みの claude エージェントをディスパッチします。
アクティブなデフォルトはディスパッチ入力の下のフッターに表示されます。
これらのフラグがない場合、セッションはそのディレクトリの設定から defaultMode を使用するか、ディスパッチされた subagent の frontmatter から permissionMode を使用し、エージェントビューヘッダーに表示されるモデルを使用します。
bypassPermissions または auto を使用することは、それらのモードが監視していないセッションが承認なしで動作することを許可するため、それらのモードを対話的に実行して claude で受け入れるまで拒否されます。同じことが、モードを claude agents に渡すか、claude --bg --permission-mode に渡すかに関係なく適用されます。
設定、プラグイン、および MCP サーバー
エージェントビューは、設定、プラグイン、MCP サーバー、および追加ディレクトリを読み込むための claude と同じ設定フラグを受け入れます。これらのフラグには Claude Code v2.1.142 以降が必要です。各フラグはエージェントビュー自体に適用され、そこからディスパッチするすべてのセッションに渡されるため、この方法で読み込むプラグインまたは MCP サーバーはそれらのセッションでも利用可能です。
| フラグ | 効果 |
|---|---|
--settings <file-or-json> |
エージェントビューとディスパッチされたセッションの設定をオーバーライド |
--add-dir <path> |
追加ディレクトリへのファイルアクセスを許可 |
--plugin-dir <path> |
ローカルディレクトリからプラグインを読み込む |
--mcp-config <file-or-json> |
設定ファイルまたは JSON 文字列から MCP サーバーを読み込む |
--strict-mcp-config |
--mcp-config からのみ MCP サーバーを使用し、他の MCP 設定を無視 |
--add-dir、--plugin-dir、または --mcp-config を値ごとに 1 回繰り返します。--add-dir a b c などのスペース区切り形式は claude agents ではサポートされていません。
次の例は、設定オーバーライドと 1 つの追加ディレクトリでエージェントビューを開きます:
claude agents --settings ./ci-settings.json --add-dir ../shared-lib
シェルからセッションを管理する
すべてのバックグラウンドセッションには、シェルから使用できる短い ID があります。ID は claude --bg でセッションを開始するときに出力され、各セッションの ID は ~/.claude/jobs/ の下のディレクトリ名です。これらのコマンドはスクリプティングまたはエージェントビューを開きたくない場合に便利です。
| コマンド | 目的 |
|---|---|
claude agents |
エージェントビューを開く |
claude agents --cwd <path> |
<path> の下で開始されたセッションにスコープされたエージェントビューを開く |
claude agents --json |
アクティブなセッションを JSON 配列として出力して終了します。すべてのライブセッション、およびプロセスが終了した場合でも引き続き動作またはブロックされているバックグラウンドセッションが含まれます。--all を追加して、完了したバックグラウンドセッションも含めます。各エントリには cwd、kind、startedAt が含まれます。バックグラウンドエントリには、claude attach/logs/stop で使用可能な id と、working、blocked、done、failed、stopped のいずれかの state も含まれます。pid と status はプロセスが生きている間のみ存在し、status が waiting の場合は waitingFor が存在し、permission prompt や input needed など、セッションがブロックされている内容を示します。sessionId と name は設定されている場合に表示されます。--cwd <path> と組み合わせてフィルタリングします |
claude attach <id> |
このターミナルでセッションにアタッチする |
claude logs <id> |
セッションの最新出力を出力する |
claude stop <id> |
セッションを停止する。claude kill も受け入れます |
claude respawn <id> |
セッションを再開する。会話を保持したまま実行または停止状態から再開します。例えば、更新された Claude Code バイナリを取得するため |
claude respawn --all |
すべての実行中のセッションを再開する。例えば、すべてのセッションを一度に更新された Claude Code バイナリに移動するため |
claude rm <id> |
セッションをリストから削除する。コミットされていない変更がない場合、セッション用に Claude が作成した worktree を削除します。それ以外の場合は、クリーンアップできるように worktree パスを出力します。自分で作成した worktree はそのままにしておきます。会話トランスクリプトはローカルマシンに保存され、claude --resume を通じて利用可能なままです |
claude daemon status |
supervisor の状態、バージョン、ソケットディレクトリ、およびワーカー数を出力する |
claude daemon stop --any |
supervisor プロセスとそれがホストするバックグラウンドセッションを停止します。--keep-workers を渡して、バックグラウンドセッションを実行したままにして、次の supervisor が再接続できるようにします。次の claude agents または claude --bg は新しい supervisor を開始します |
バックグラウンドセッションがどのようにホストされるか
エージェントビューに表示されているすべてのセッションはバックグラウンドセッションと見なされます。現在接続しているかどうかに関わらず、バックグラウンドセッションと見なされます。これに対して、claude を直接実行して開始されたセッションはそのターミナルに結び付けられ、ターミナルが閉じると終了します。ただし、セッション内からバックグラウンドに送信することはできます。
スーパーバイザープロセス
バックグラウンドセッションはユーザーごとのスーパーバイザープロセスによってホストされ、ターミナルおよびエージェントビューとは別です。スーパーバイザーはセッションを初めてバックグラウンド化するか、エージェントビューを開くときに自動的に開始され、直接管理することはありません。
スーパーバイザーとそのセッションはインタラクティブセッションと同じ認証情報で認証され、モデル API を超えて追加のネットワーク接続を行いません。
各バックグラウンドセッションは独自の Claude Code プロセスであり、ターミナルではなくスーパーバイザーによって管理されます。アクティブに作業しているセッション、入力を待機しているセッション、またはターミナルが接続されているセッションはプロセスを実行し続けます。実行中のバックグラウンドシェルコマンド、サブエージェント、動的ワークフロー、またはモニターはアクティブな作業としてカウントされるため、開発サーバーなどの長時間実行プロセスはセッションを生かし続けます。
セッションが完了し、約 1 時間アタッチされていない状態で待機すると、スーパーバイザーはリソースを解放するためにプロセスを停止します。Ctrl+T でピン留めしたセッションは除外され、アイドル状態でもプロセスを実行し続けます。トランスクリプトと状態はディスク上に残り、次回アタッチ、ピーク表示、または返信するときに、スーパーバイザーは中断したところから新しいプロセスを開始します。すべてのセッションが完了し、ターミナルが接続されていない場合、スーパーバイザー自体が終了し、次回セッションをバックグラウンド化するか、エージェントビューを開くときに再度開始します。
← を押して残された空の行で、プロンプトが与えられたことがない場合は、約 5 分後に完全に削除されるため、リストは自動的にクリアされます。claude --bg で開始されたセッションおよびトラストダイアログなどのセットアッププロンプトを待機しているセッションはこの方法では削除されません。
ホストのメモリが不足している場合、スーパーバイザーはアイドル状態の非ピン留めセッションを最初に停止し、何も解放されない場合のみアイドル状態のピン留めセッションを停止します。
スーパーバイザーはディスク上にインストールされた Claude Code バイナリを監視し、通常の自動更新プログラムがそれを置き換えた後、新しいバージョンに再開します。これはネットワークチェックではなく、ローカルファイルウォッチです。バックグラウンドセッションはデタッチされたプロセスであるため、再開を通じて実行し続け、新しいスーパーバイザーはそれらに再接続します。アイドル状態のピン留めセッションも新しいバージョンに再開されるため、再度アタッチすることなく更新を取得します。
状態が保存される場所
セッション状態は Claude Code 設定ディレクトリの下に保存されます。CLAUDE_CONFIG_DIRを設定した場合、スーパーバイザーは ~/.claude の代わりにそのディレクトリを使用し、独自のセッションを持つ別のインスタンスとして実行されます。
| パス | 内容 |
|---|---|
~/.claude/daemon.log |
スーパーバイザーログ |
~/.claude/daemon/roster.json |
実行中のバックグラウンドセッションのリスト。再開後に再接続するために使用 |
~/.claude/jobs/<id>/state.json |
エージェントビューに表示されるセッションごとの状態 |
~/.claude/jobs/<id>/tmp/ |
セッションごとのスクラッチディレクトリ。ここへの書き込みはパーミッション確認を促しません。セッションが削除されると削除されます |
各バックグラウンドセッションには CLAUDE_JOB_DIR 環境変数が ~/.claude/jobs/<id> ディレクトリに設定されているため、セッションが実行するシェルコマンドは並列セッションと衝突することなく $CLAUDE_JOB_DIR/tmp に一時ファイルを書き込むことができます。
この状態を直接ファイルを読むことなく検査するには、claude daemon status を実行します。スーパーバイザーに到達可能かどうか、そのプロセス ID とバージョン、ソケットディレクトリ、およびライブのバックグラウンドセッション数を報告します。/doctor には同じチェックの概要が含まれます。
このコマンドは、実行中のスーパーバイザーが呼び出した claude とは異なるバージョンにある場合に警告を表示します。これはスーパーバイザーがまだ再開していない更新後に発生します。警告は両方のバージョンを表示し、claude daemon stop --any を実行して新しいバージョンを取得するよう指示します。Claude Code が OS サービスとしてインストールされている場合、推奨されるコマンドはフラグなしの claude daemon stop です。
Windows では、claude daemon status はデーモンのパイプキーファイルがロックされているか読み取り不可の場合、一般的な接続失敗を報告する代わりに、基になるファイルエラーを表示します。
エージェントビューをオフにする
バックグラウンドエージェントとエージェントビューを完全にオフにするには、disableAgentView設定を true に設定するか、CLAUDE_CODE_DISABLE_AGENT_VIEW 環境変数を設定します。管理者はマネージド設定を通じてこれを強制できます。
トラブルシューティング
`claude agents` がエージェントビューを開く代わりにサブエージェントをリストする
claude agents が数を出力した後、設定されたサブエージェントを表示してから終了する場合、エージェントビューはお使いの環境では利用できません。以前のバージョンでは、Bedrock、Vertex AI、または Foundry を経由して接続している場合を含め、すべての環境でエージェントビューを開きませんでした。claude update を実行して最新バージョンをインストールしてください。
更新後もエージェントビューが開かない場合は、設定または環境変数によってオフになっているかどうかを確認してください。
エージェントビューがセッションなしで開く
最初のセッションをディスパッチする前に、エージェントビューはセッションリストの代わりに、例のプロンプトを含む短いオンボーディングヒントを表示します。下部の入力にプロンプトを入力して Enter を押して、最初のセッションをディスパッチします。
バックグラウンドで作業が実行中のためエージェントを開くことができない
← を押して現在のセッションをバックグラウンドに移すと Cannot open agents — N still running in the background が表示される場合、セッションにはサブエージェント、ダイナミックワークフロー、またはバックグラウンドシェルコマンドなどの進行中の作業があり、ショートカットはそれを静かに放棄しません。/tasks を実行して何が実行されているかを確認し、/bg を実行して放棄することを確認します。バックグラウンドに移すときに何が転送され、何が転送されないかについては、セッション内からを参照してください。
プロンプトが短すぎるとして拒否される
ディスパッチ入力は会話の開始ではなく、タスクの説明を期待しています。4 文字未満のプロンプトは Too short ヒントで拒否されるため、誤ったキー入力がセッションを開始しません。セッションで何をしたいかを説明してください。例えば investigate the flaky checkout test のようにします。
シャットダウン後、セッションが失敗として表示される
マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止するため、次にエージェントビューを開くときに失敗として表示されます。それらのいずれかにアタッチ、ピーク表示、または返信すると、セッションは中断したところから再開します。
スリープだけではこれは発生しません。セッションはスリープ全体で保持され、スーパーバイザーはウェイク時にそれらに再接続します。
エージェントビューがバックグラウンドサービスが応答しなかったと表示される
アタッチ、ピーク表示、または claude logs がバックグラウンドサービスが応答しなかったと報告する場合、スーパーバイザープロセスがスタールしている可能性があります。それを停止して、次の claude agents に新しいものを開始させてください。バックグラウンドセッションを再起動全体で実行し続けるには、--keep-workers を渡してください。
claude daemon stop --any --keep-workers
新しいスーパーバイザーは実行中のセッションに再接続します。--keep-workers がない場合、コマンドはバックグラウンドセッションも終了します。--any フラグは、デフォルトであるインストール済みサービスではなく、オンデマンドで開始されたスーパーバイザーを停止したいことを確認します。
Windows では、スーパーバイザーが停止要求に応答しない場合、コマンドはそのプロセス ID を出力します。taskkill /PID <pid> でそのプロセスを終了して復旧を完了します。--keep-workers を渡した場合、バックグラウンドセッションは引き続き保持されます。
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 などの他のインストール方法を使用すると、エントリはバイナリパスを表示し、更新後に再度許可が必要になる場合があります。
セッションがアタッチ後に応答が遅い
セッションが完了し、約 1 時間アタッチされていない状態で待機すると、スーパーバイザーはリソースを解放するためにプロセスを停止します。アタッチすると、中断したところから新しいプロセスが開始され、少し時間がかかります。作業中または入力を待機しているセッション、またはピン留めされたセッションはこの方法で停止されることはありません。セッションを Ctrl+T でピン留めして、応答性を保つことができます。
`.claude/worktrees/` が満杯になっている
エージェントビューでセッションを削除すると、Claude が作成したワークツリーが削除されます。claude rm はコミットされていない変更があるワークツリーを保持し、そのパスを出力します。プロジェクトディレクトリで git worktree list を使用して残りのエントリをリストし、各エントリを git worktree remove <path> で削除します。ワークツリーをクリーンアップするを参照してください。
制限事項
Agent view はリサーチプレビューであり、以下の制限事項があります。
- レート制限が適用される:バックグラウンドセッションはインタラクティブセッションと同じようにサブスクリプション使用量を消費するため、10 個のエージェントを並行して実行するとクォータが 10 倍速く消費されます。
- セッションはローカル:バックグラウンドセッションはマシンで実行され、スリープ中は保持されますが、マシンがシャットダウンすると停止します。
- Claude が作成した worktrees はエージェント view のセッションで削除される:セッションが独自の worktree でファイルを編集した場合、セッションを削除する前に変更をマージまたはプッシュしてください。
claude rmは未コミットの変更がある worktree を保持します。自分で作成した worktree はそのまま残されます。
関連リソース
Claude を並列実行する他の方法については、以下を参照してください。
- エージェントを並列実行:エージェントビューとサブエージェント、エージェントチーム、ワークツリーを比較
- Agent teams:互いにメッセージを送信する複数のセッションを調整
- Claude Code on the web:ローカルではなく、マネージドクラウド環境でセッションを実行