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


エージェントビューはリサーチプレビュー中です。インターフェースとキーボードショートカットは機能の進化に伴って変更される可能性があります。
クイックスタート
このチュートリアルでは、コアエージェントビューループについて説明します。タスクをディスパッチし、Claude が作業する際に行が更新されるのを見守り、ピークして確認して返信し、フル会話にアタッチします。ディスパッチしたセッションはエージェントビューを閉じた後も実行し続けるため、離れて後で戻ることができます。1
エージェントビューを開く
シェルから以下を実行します。まだディレクトリのワークスペーストラストダイアログを受け入れていない場合、Claude Code はエージェントビューが開く前にそれを表示します。これは
claude が表示するのと同じダイアログです。受け入れてワークスペースの信頼を保存して続行します。拒否すると、Claude Code はエージェントビューを開かずに終了します。エージェントビューが開き、下部に入力フィールドが表示され、セッションが開始されるとテーブルが埋まります。Esc を押すとシェルに戻ります。← でセッションをバックグラウンドにしてエージェントビューを開いた場合、Esc はそのセッションの会話に戻ります。セッションは離れている間も実行し続け、次にエージェントビューを開いたときに再度表示されます。2
セッションをディスパッチする
タスクを説明するプロンプトを入力して
Enter を押します。新しいバックグラウンドセッションがそのタスクで開始され、作業中か、入力を待機中か、完了しているかを示す行として表示されます。新しいセッションはエージェントビューヘッダーに表示されているモデルを使用します。どの権限モードで開始するかは、エージェントビューをどのように開いたかによって異なります。ここで入力するすべてのプロンプトは独自の新しいセッションを開始します。別のプロンプトを入力して Enter を押すと、最初のセッションへのフォローアップを送信するのではなく、最初のセッションと並行して 2 番目のセッションが起動します。この方法で複数を並行して実行できます。各セッションはサブスクリプションクォータを独立して使用するため、一度に多くをディスパッチする前に制限事項を参照してください。3
ピーク表示と返信
矢印キーで行を選択し、
Space を押してピークパネルを開きます。フルトランスクリプトではなく、セッションの最新の出力、または待機中の質問が表示されます。返信を入力して Enter を押すと、エージェントビューを離れずに送信できます。4
アタッチとデタッチ
フル会話が必要な場合は、行で
Enter または → を押してアタッチします。セッションはターミナルを引き継ぎ、フルインタラクティブな Claude Code セッションになります。空のプロンプトで ← を押してデタッチし、テーブルに戻ります。5
既存のセッションを持ち込む
このステップは実行中のセッションが必要です。前のステップに従った場合、このターミナルで開いているセッションはないため、別のターミナルで通常の
claude セッションを開き、最初にメッセージを送信してください。既に開いているセッションをエージェントビューに移動するには、セッション内で /bg を実行するか、空のプロンプトで ← を押してセッションをバックグラウンドにし、1 ステップでエージェントビューを開きます。メッセージがまだない新しいセッションでは、/bg はメッセージを最初に送信するよう求めますが、← はすぐに機能します。セッションは実行し続け、ディスパッチしたセッションと並行して行として表示されます。claude セッションでは、空のプロンプトで ← を押すとエージェントビューが開き、フッターの ← ヒントがバックグラウンドセッションの状況を表示します。
- ヒント: セッションが開いてから 10 秒間、フッターに
← for agentsが表示されます。ヒントが消えた後も←を押すと機能します - 待機中の数: バックグラウンドセッションが入力を待機している間、同じ位置にその数が
← 2 agentsのように表示されます。99 を超える場合は← 99+ agentsと表示されます。カウントはターミナルがフォーカスされている間は約 10 秒ごとに更新され、フォーカスが戻ると即座に更新されます - 完了数: 入力を待機しているセッションがない状態でバックグラウンドセッションが正常に完了すると、フッターに完了した数が一時的に表示されます。たとえば 2 つの場合は
← 2 doneと表示されます
prefersReducedMotion をオンにすると、色の変化も done のカウントも表示されません。スクリーンリーダーモードでは、← ヒントとそのカウントは非表示になります。
デフォルトでエージェントビューを開く
引数なしのclaude がエージェントビューを新しい会話の代わりに開くようにするには、/config 設定をオンにします。
1
設定をオンにする
通常の
claude セッションで /config を実行し、デフォルトでエージェントビューを開くをオンにします。メニューをスキップするには、defaultToAgentsView キーを直接設定します。2
Claude Code を開始する
セッションを終了し、引数なしで エージェントビューが新しい会話の代わりに開きます。
claude を実行します。claude "fix the login test"。設定をオフにするには、通常のセッションで、またはエージェントビューからアタッチしたセッションで /config defaultToAgentsView=false を実行します。
エージェントビューでセッションを監視する
claude agents を実行してエージェントビューを開きます。ターミナル全体を占有し、状態でグループ化されたすべてのセッションをリストします。ピン留めされたセッションと入力が必要なセッションが上部に表示されます。各行はセッションの名前、現在のアクティビティ、およびセッションが作成されてからの経過時間を表示します。完了したセッションの経過時間は、実行にかかった時間で固定されます。
名前は、そのセッションで /color によって設定されたカラーで色付けされます。← または /background で セッションをバックグラウンドにする 場合も同様です。
デフォルトでは、リストはすべてのプロジェクト全体で開始したすべてのバックグラウンドセッションを表示します。1 つのリポジトリで作業しているセッションと別の worktree で作業している別のセッションの両方がここに表示されます。エージェントビューを開いたディレクトリに関係なく表示されます。リストを 1 つのプロジェクトに絞り込むには、--cwd を渡します:
~/projects/my-app/.claude/worktrees/ の下の worktree に移動した セッションも引き続き表示されます。
他のターミナルで開いているインタラクティブセッションは、バックグラウンドにする までは表示されません。セッションが生成する サブエージェント と チームメイト は、個別の行としてはリストされません。
セッション状態を読む
各行はアイコンで始まり、アイコンの色とアニメーションはセッションの状態を示します:
これとは別に、アイコンの形状にも独自の意味があります:
行の右端に表示される
#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 が
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のような行:セッションがユーザーを待っている時間。行の右端の経過時間は別の数字で、セッションが開始されてからカウントされますsafe mode · customizations are off:シェルからclaude --bg --safe-modeで開始したため、このセッションは カスタマイズをオフにした状態 で実行されています。そのままにしておいてもかまいません。カスタマイズをオンに戻して会話を続けるには、シェルでclaude stop <id>を実行してからclaude --resumeを実行します
Enter を押すと、そのセッションに送信されます。返信の先頭に ! を付けると、代わりに Bash コマンドを送信します。返信がどう扱われるかは、セッションと送信する内容によって異なります:
- 作業中のセッション:
/model、/effort、/rename、/usageはすぐに実行されます。その他の返信は応答を中断せずにセッションの メッセージキュー に追加され、キューに入れた入力が反映されるタイミング で反映されます。その他の コマンド は、セッション自体のプロンプトで入力するとすぐに実行されるものであっても、ターンが終了するまで待機します /stopだけの返信:セッションに届けられるのではなく、セッションが作業中でもユーザーを待っている状態でも、その場でセッションを停止します- シェルジョブ:返信は
/stopも含め、入力としてコマンドのターミナルに送られます
- 選択肢が用意された質問:パネルには選択肢が番号付きで表示されます。返信入力が空の状態で選択肢の番号を押すと入力され、
Enterで送信できます。または、代わりに独自の回答を入力します - 選択肢のない質問:回答を入力します。空の入力に返信の候補が表示されている場合は、
Tabを押して入力し、送信前に編集できます - 権限プロンプトまたはその他のダイアログ(サンドボックス プロンプトや MCP サーバーの 入力リクエスト など):返信してもダイアログには答えられません。返信はキューで待機します。ダイアログに答えるには、
→でアタッチします
PermissionRequest または PreToolUse フックが、セッションが尋ねている呼び出しについて Claude Code が検証できない出力を返した場合、行には保留中のリクエストのテキストの前に、フックイベントと hook output invalid: および検証エラーが表示されます。別の形で失敗したフックの場合、行にはフックが失敗したことが表示されます。セッションは引き続き同じリクエストで待機します。
返信を配信できなかった場合、エラーメッセージには返信が保存されたかどうかが示されます。! または / を先頭に付けた返信は保存されません。Claude Code は、次にセッションを再起動したときに、保存された返信をセッションの次のプロンプトとして送信します。それ以外の返信は再度送信してください。
音声ディクテーション を ホールドモード で有効にしている場合、返信入力がフォーカスされている間にプッシュトゥトークキーを押し続けると、入力する代わりに返信をディクテーションできます。エージェントビュー下部のディスパッチ入力でも同じように機能します。
↑ と ↓ を使用してパネルを閉じずに隣接するセッションをピーク表示するか、→ を使用してアタッチします。
セッションにアタッチする
選択した行で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 回押しは、いずれもセッションを実行したままにします。/loop が次のイテレーションを待っている間にデタッチすると、ループは実行を続け、そのイテレーションはユーザーがいなくてもスケジュールどおりに開始されます。デタッチする前にループを停止するには、ループを停止する を参照してください。セッション内からセッションを終了するには、/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 --resume コマンドを出力します。
Claude のタスクリスト は会話とともにバックグラウンドセッションに移動するため、その行に戻ったときもチェックリストはそのまま残っています。
← を押した元の行は、矢印キーまたはマウスで選択を移動した後も、太字で薄くない名前を保持するため、どのセッションから来たかがわかります。
← を押したときにツールが実行中の場合、Claude Code はバックグラウンドにする前にその完了を待ち、Claude はバックグラウンドセッションで応答を続けます。待たずにすぐにバックグラウンドにするには、← を再度押します。進行中のバックグラウンド作業をバックグラウンドセッションに引き継げない場合、Claude Code は /background と同様に、まず Background this session? ダイアログを表示します。
約 10 秒経過すると、Claude Code はそれ以上待たずにセッションをバックグラウンドにします。ただし、次のようなケースは例外です:
- フォアグラウンドのサブエージェントがまだ実行中の場合:Claude が開始したフォアグラウンドのサブエージェントの作業を引き継ぐため、Claude Code は待機を続け、
Still backgrounding after the current toolと表示します。待たずにバックグラウンドに移すには、もう一度←を押します。この場合、それらのサブエージェントは最初からやり直しになります。 - 権限プロンプトまたは質問が回答を待っている:権限プロンプトまたは Claude が尋ねた質問が待機している間、Claude Code は待機を続け、
Still backgrounding after the current tool — a question is waiting for your answer.を表示します。権限プロンプトでの Yes など、回答によってターンが続行する場合、Claude Code は現在のツールが完了した時点でセッションをバックグラウンドにします。 - プロンプト入力に入力した:未送信のテキストはターミナルの入力ボックスに残り、バックグラウンドセッションには移動しないため、Claude Code は切り替えをキャンセルします。
Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.と表示されます。Claude はフォアグラウンドで作業を続けます。 - ターンを停止した:Claude Code は切り替えをキャンセルし、
Backgrounding cancelled — the turn was stopped.を表示します。たとえば、Escで Claude を中断した 場合、メインの会話からの権限プロンプトで コメントなしで No を選択した場合、またはそこで Claude が尋ねた質問でEscを押した場合に、ターンは停止します。セッションをバックグラウンドにするには、←を再度押します。 - キューに入れたメッセージを移動できない:Claude の作業中にキューに入れた メッセージは、会話とともにバックグラウンドセッションに移動します。そのいずれかを移動できない場合、セッションはフォアグラウンドに留まり、Claude Code は
Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.のような通知を表示します。
← を再度押した後)、Claude がフォアグラウンドでまだ実行中のシェルコマンドは停止されます。Claude Code はそのコマンドについて Background this session? ダイアログを表示しません。バックグラウンドセッションでは、Claude はそのコマンドが開始されたという記録を持たないため、コマンドを再度実行する場合があります。セッションの移動時にコマンドを実行し続けるには、Claude Code がまだ待機している間に Ctrl+B を押して バックグラウンドコマンドに切り替えます。
← を押すと、会話にまだメッセージがない場合でもセッションの行が作成されるため、→ でその行に戻れます。
フォアグラウンドセッションでのこのショートカットは、/config の leftArrowOpensAgents 設定でオフにできます。
セッションがバックグラウンドに移動する際に送信されたプロンプト
セッションがバックグラウンドに移動する瞬間にプロンプトまたは! シェルコマンドを入力すると、それは停止されるか、未送信のままになります:
- 会話が閉じるときに送信された場合:会話が閉じてエージェントビューが開くときに、応答またはコマンドは停止します
- その時点でまだ フック を待っていた場合:プロンプトは送信されず、画面上にもその旨は表示されません。これには、
SessionStartフック がまだ実行中の間に入力したプロンプトも含まれます
↑ を押してテキストを呼び戻します。
リストを整理する
エージェントビューはセッションをグループ化し、入力が必要なセッションが上部に表示されます。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を再度押してリストから削除します。削除せずに確認を閉じるにはEscを押します。2 回目の押下は、たとえば バックグラウンドサービスが応答していない ために停止の試みが失敗した場合でも、セッションを削除します。その場合、確認はさらに 2 秒間有効なままで、削除によってセッションのプロセス自体が終了されます
Ctrl+X を押すと、確認後、そのグループ内のすべてのセッションが削除されます。セッションを削除するときに削除されるもの で説明されている保持されるケースを除き、削除するとセッションはリストから削除されます。Claude がそのセッション用に作成した worktree は、削除方法と worktree の内容に応じて、削除、保持、またはそのまま残されます。会話のトランスクリプトはローカルマシンに残り、claude --resume から利用できます。
画面に収まらない完了したセッションは … N more 行に折りたたまれます。Completed グループはライブグループの後に残った縦のスペースを埋めます。短いターミナルではヘッダーが 1 行の概要に圧縮されるため、作業中または入力が必要なセッションは表示されたままになります。
過去のセッションを戻す
セッションを戻すには、ディスパッチ入力 に/resume と入力します。ピッカーが開き、エージェントビューを開いたリポジトリの過去のセッションが新しい順に表示されます。リストから削除したセッションも含まれます。既に行があるセッションは表示されません。Enter を押すと、選択したセッションがバックグラウンドセッションとして再開され、行としてリストに戻ります。
次の場合、/resume は isn't available in agent view で失敗します:
/resumeに ID または検索語が指定されている- ビューが
--cwdでスコープされている - ビューが
--safe-modeで開始された - ビューが
--permission-modeや--settingsなどのフラグで開かれた
/resume の後に何か入力した場合は、それを除いて入力し直してください。これらのフラグのいずれかを使用した場合は、そのフラグなしでシェルから claude agents を実行し、/resume だけを入力してください。
セッションをフィルタリングする
ディスパッチ入力を次のいずれかのフィルターで始めると、入力に合わせてリストが絞り込まれます:
フィルターを組み合わせるには、
a:、s:、n:、または o: で始め、スペースで区切って追加します。リストには、そのすべてに一致するセッションが表示されます。たとえば、s:blocked a:reviewer は、ユーザーを待っている reviewer セッションを表示します。
フィルターが有効な間は、折りたたんだグループが展開されて一致するセッションが表示され、一致するセッションが選択されるため、Enter を押すとそのセッションが開きます。入力をクリアするとフィルターが解除され、それらのグループは再び折りたたまれます。
キーボードショートカット
エージェントビューで? を押すと、ショートカットをコンテキスト内で確認できます。下の表はそれらをまとめたものです。
Agents コンテキスト にアクションがあるショートカットは、keybindings.json に従います。Ctrl+G も、Chat コンテキストの chat:externalEditor バインディングを通じて同様に従います。
新しいエージェントをディスパッチする
エージェントビューから新しいバックグラウンドセッションをディスパッチしたり、既存のインタラクティブセッションをバックグラウンドに送信またはコピーしたり、シェルから直接開始したりできます。エージェントビューからエージェントをディスパッチする
エージェントビューの下部の入力にプロンプトを入力してEnter キーを押すと、新しいバックグラウンドセッションが開始されます。セッションはプロンプトから自動的に名前が付けられます。後で Ctrl+R で名前を変更できます。
自動名は Haiku クラスのモデル が書いた短いラベルです。セッションが後から取得した名前もその行に表示されます。これには、そのセッションで プランを承認 したときにセッションに付けられる 生成されたタイトル も含まれます。
プロンプトに画像を貼り付けて、スクリーンショットや図をタスクに含めることができます。
800 文字を超えるか 3 行を超える貼り付けテキストは [Pasted text #N] プレースホルダーに折りたたまれるため、入力は 1 行のままになります。ディスパッチ時には完全なテキストが送信されます。ディスパッチ前に折りたたまれたテキストを確認または編集するには、同じテキストを再度貼り付けると、プレースホルダーが入力内に展開されます。
プロンプトの一部にプレフィックスを付けたりメンションしたりして、セッションの開始方法を制御します。
少数のコマンドは、ディスパッチする代わりにエージェントビュー自体で実行されます。
/exitと/quitはエージェントビューを閉じます/logoutはサインアウトします/model、/effort、/fastは、次にディスパッチするセッションの開始時の設定 を指定します。/effortと/fastには Claude Code v2.1.299 以降が必要です。/loginはサインインダイアログを開き、セッションにアタッチせずに再度サインインできます- 引数なしの
/resume、またはそのエイリアス/continueは、リポジトリの過去のセッションのピッカーを開き、1 つをバックグラウンドセッションとして 復帰させます
/init などのプロンプトを展開する組み込みコマンドは、新しいバックグラウンドセッションの最初のプロンプトとして送信されます。isn't available in agent view というヒントは、入力した組み込みコマンドが実行されなかったことを意味します。実行するには、セッションにアタッチ してそこで入力してください。入力した内容はすべてヒントの横の入力に残るため、編集できます。
繰り返しのタスクを スキル としてパッケージ化すると、プロンプトを再入力することなく、エージェントビューから同じワークフローを繰り返し開始できます。
同じ @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 も明示的にもう一方にメッセージを送信できます。
エージェントビューがオフになっている 場合、/fork はセッションをコピーする代わりに フォークされたサブエージェント を開始します。
コピーにプロンプトを送信してそのセッションを開く
/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 は部分的なコピーを作成する代わりに、その旨を伝えます。エージェントビューからディスパッチされたセッションは通常どおりフォークできます。コピーは元のセッションと同じ エージェント定義 と追加指示で起動されます。
バックグラウンドに移動するときに引き継がれるもの
セッションをバックグラウンドに移動すると、進行中のバックグラウンド作業は種類ごとに、バックグラウンドセッションに引き継がれるか、Claude がそこで再起動した場合にのみ続行されるか、停止するかのいずれかになります。- 引き継がれるもの: 実行中のバックグラウンドシェルコマンド、バックグラウンド化されたサブエージェント、
/loopで作成したスケジュールタスク、および Claude の アーティファクトコメントへの自動返信 は、バックグラウンドセッションで実行を続けます。サブエージェントは自身が開始したすべてのものと一緒に移動するため、その作業のすべてが移動できる場合にのみ引き継がれます。 - Claude が再起動した場合にのみ続行されるもの: 実行中の 動的ワークフロー。バックグラウンドセッションを確認したときにワークフローが続行されていない場合は、Claude に再起動を依頼してください。
- 停止するもの: 実行中の モニター など、バックグラウンドセッションに移動できない作業。そのような作業が実行中の場合、Claude Code は
Background this session?ダイアログを表示し、作業を停止する前に確認できるようにします。モニターを所有するバックグラウンド化されたサブエージェントは、モニターと一緒に停止します。
--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 に切り替えられる状態が維持されますが、新たに何かを付与するわけではありません。このモードには引き続き、バイパスの免責事項への同意 が記録されている必要があります。
バックグラウンドに移動したときの動的ワークフロー
セッションをバックグラウンドに移動した後に 動的ワークフロー が続行されていない場合は、Claude に ワークフローの再起動 を依頼してください。実行は Claude がバックグラウンドセッションで再起動した場合にのみ続行され、Claude Code はその再起動の前に承認を求めることがあります。セッションの会話には、ワークフローがcould not be resumed であることを示す通知が表示されます。
Claude がワークフローを再起動すると、セッションをバックグラウンドに移動した時点でまだ実行中だったサブエージェントは最初からやり直され、トークンを再度消費します。まだ実行中のサブエージェントがある状態で ← を押すか /background を実行すると、Background this session? ダイアログにその数が表示されます。先に完了させるには Stay を選択します。
シェルからエージェントをディスパッチする
--bg またはその長い形式 --background を渡すと、直接バックグラウンドで動作するセッションを開始します。
-p の値ではありません。Claude Code は、-p または --print と組み合わせた --bg をセッションの作成前に拒否します。--print は claude agents がアタッチするインタラクティブセッションを開始しないためです。
信頼していない ディレクトリのターミナルから claude --bg を実行すると、最初にワークスペース信頼ダイアログが表示され、同意するとセッションが開始されます。拒否すると、Claude Code はセッションを開始せずに終了します。スクリプト内など、ダイアログを表示できない場所では、コマンドは代わりに Workspace not trusted エラーで終了します。
code-reviewer など、定義済みの特定の サブエージェント をセッションのメインエージェントとして実行するには、--bg を --agent と組み合わせます。
no agent named 警告を出力し、セッションをバックグラウンド化したと報告しますが、セッションは --agent '<name>' not found エラーで直ちに終了します。
バックグラウンド化されたセッションが後で再開または再起動されると、Claude Code はエージェントとそのツール制限を復元します。システムプロンプトについては、再開された会話でのシステムプロンプトフラグ を参照してください。そのワークスペースを信頼している 場合、Claude Code はまずセッション自身のディレクトリでエージェントを検索するため、プロジェクトスコープのエージェントは、セッションが別のディレクトリから再開された場合でも読み込まれます。エージェントが存在しなくなった場合、セッションはデフォルトのツールで続行され、そのトランスクリプトは エージェント名を示す警告 とともに開きます。
既存の会話をバックグラウンドで続行するには、その完全なセッション ID を --resume で渡します。
note: 行を出力します。セッションがその場で続行される場合、claude agents にはそのセッションの行が 1 つ表示されます。
--bg を --continue、引数なしの --resume、または名前やファイルパスを指定した --resume と組み合わせると、Claude Code は常にそのようなコピーを開始します。注記なしで意図的にコピーを開始するには、--fork-session を追加します。
エージェントビューでの表示名を自動生成されたものの代わりに設定するには、--name を渡します。
--bg はこの出力の前に Starting background service… を出力することがあります。--name を渡すと、名前は短い ID の後に表示されます。
--bg を含むプロンプト
--bg または --background に言及するプロンプトは、入力したとおりに渡されます。バックグラウンドセッションに送信する --bg という返信も同様です。たとえば、次のコマンドは 1 つのバックグラウンドセッションを開始し、2 つ目の --bg はそのプロンプトの一部になります。
-- 区切りより前で、かつ別のフラグが値を期待している位置ではない場合のみです。claude --bg "<prompt>" のように、フラグを先頭に置いてください。
結合された短いフラグの並びの後など、位置があいまいな場合、Claude Code は何も開始しません。代わりに Couldn't tell whether --bg is a flag or text here で終了します。
シェルコマンドを実行する
Claude セッションの代わりにシェルコマンドをバックグラウンドジョブとして実行するには、--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フック も設定されていない場合 - 書き込み先が作業ディレクトリの外にある場合
worktree.bgIsolation を "none" に設定します。バックグラウンドセッションは、先に worktree に移動することなく、作業コピーを直接編集するようになります。プロジェクトの .claude/settings.json に設定を追加します。
WorktreeCreate フック を設定すると、Claude は git の場合と同じ方法で編集を分離します。
git リポジトリではないディレクトリでフックが失敗した場合、Claude はそのディレクトリの分離をスキップし、作業ディレクトリをその場で編集します。git リポジトリ内では、編集前に Claude が worktree に移動させるセッションは、その移動が行われるまで共有チェックアウトに対して Edit、Write、NotebookEdit ツールを使用できません。
セッションの 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 がそのブランチとともに削除され、未プッシュのコミットとコミットされていない変更は破棄されます。
-
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 リポジトリを worktree の外に移動する、ディレクトリを使用しているものを閉じる、フックを修正するなど、障害となっているものを解消してから、セッションを再度削除します。
- ディレクトリを自分で削除してから、セッションを再度削除します。
-
セッションを再度削除して、それでもディレクトリを削除します。エージェントビューでその行に対して
WorktreeCreate フック が別の場所にディレクトリを作成した場合など、worktree ディレクトリがどの git リポジトリにも属さないセッションも削除できます。ディレクトリにファイルが残っている間は、次のようになります。
- エージェントビューは、ファイルを破棄する前に同じく
Ctrl+Xの 2 回押しを求めます。フックが作成したディレクトリの場合は、代わりにWorktreeRemoveフック を実行し、そのフックがない場合は削除を拒否してセッションを保持します。 claude rmはセッションと worktree を保持し、その理由を示します。
モデル、effort、fast mode を設定する
エージェントビューで、ディスパッチ入力 に/model、/effort、または /fast を入力して Enter を押すと、以降にディスパッチするセッションは設定した内容で開始されます。この選択はそのエージェントビューのウィンドウでのみ有効で、設定ファイルには保存されません。/effort と /fast には Claude Code v2.1.299 以降が必要です。何も続けずに入力した /model も同様です。
コマンドの後に値を指定するか、コマンドのみを入力してリストから選択します。
- モデル:
/model <name>。例:/model opus - effort レベル:
/effortにlow、medium、high、xhigh、maxのいずれかを指定します。例:/effort high。ultracode でセッションを開始するには、代わりにシェルからclaude agents --effort ultracodeでエージェントビューを開いてください。ディスパッチ入力は/effort ultracodeを受け付けません - fast mode:
/fast onまたは/fast off。セッションが fast mode で開始されるのは、fast mode が 利用可能 で、かつそのモデルが fast mode をサポートしている場合のみです。サポートしていないモデルでは、セッションは fast mode がオフの状態で開始されるため、まず/modelで fast mode をサポートするモデル のいずれかを選択してください。新しいセッションが fast mode で開始されるかどうかは、ヘッダーではなく入力の下のヒントで確認できます。
default を指定します(例: /effort default)。
次の例は、1 つ目のセッションを Opus で、次のセッションを Sonnet でディスパッチします。
- シェルから、
claude --bgに--modelを渡します。 - 実行中のセッションにアタッチして
/modelを実行して切り替えます。ピッカーでの選択、または入力した/model <name>は、ピッカーでsを押してセッション限定の切り替えにしない限り、新しいセッションのデフォルトとして保存されます。セッション限定の切り替えは、セッションが再生成されても維持されます。 - フロントマターで
modelを設定している サブエージェント を、プロンプトをその名前で始めるか@nameでメンションしてディスパッチします。ディスパッチ入力での/modelの選択が適用されている間はサブエージェントのmodelは使用されないため、そこで/model defaultを入力してください。claude agents --modelで起動した場合もサブエージェントのmodelは使用されないため、シェルで--modelを付けずにclaude agentsを実行してください。
権限モード、モデル、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 respawnで再起動する場合
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 は以下のうち最初に該当するものから権限モードを取得します。
-
対象ディレクトリの
permissions.defaultMode。autoとbypassPermissionsは、管理設定、--settingsファイル、または~/.claude/settings.jsonからのみ有効になります。Claude Code は、プロジェクトの.claude/settings.jsonまたは.claude/settings.local.jsonのdefaultModeが、移動元のセッションのモードより許容度の高いモードを選択している場合、それを拒否します。 -
移動元のセッションの権限モード。
そのセッションが
bypassPermissionsモードだった場合、新しいセッションは代わりに Manual モードで開始され、Bypass permissions was requested at launch and ignoredという通知が表示されることがあります。これは、バイパスの免責事項への同意が.claude/settings.local.jsonまたは--settingsファイルにのみ記録されている場合に発生します。Manual モードのまま続行するか、その同意を~/.claude/settings.jsonに追加してください。
acceptEdits を要求するディレクトリにディスパッチした場合、新しいセッションは plan モードで開始されます。その defaultMode を ~/.claude/settings.json に移すと、移動元のセッションの権限モードに関係なく適用されます。
許容度は、plan、次に Manual と dontAsk、次に acceptEdits と auto(互いに相手より許容度が高いとみなされます)、次に bypassPermissions の順に高くなります。
ディスパッチのデフォルト
エージェントビューからディスパッチするすべてのセッションのデフォルトを設定するには、開くときに--permission-mode、--model、--effort、--agent のいずれかを渡します。
--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 以降が必要です。
有効なデフォルトは、ディスパッチ入力の下のフッターに表示されます。
bypassPermissions モードで開始されるバックグラウンドセッションには、バイパスの免責事項への同意 が記録されている必要があります。このモードでは、監視していないセッションが承認なしに操作を行えるためです。claude agents に --dangerously-skip-permissions または --permission-mode bypassPermissions を渡すと、以前に同意していない場合は同じ免責事項が表示され、同意するとビューから起動するセッションに bypassPermissions が適用されます。--allow-dangerously-skip-permissions を渡した場合も同じ免責事項が表示され、同意すると、それらのセッションをそのモードで開始せずに、Shift+Tab サイクルで bypassPermissions を利用可能にします。
再起動後も維持されるもの
バックグラウンドセッションに選択した権限モード、モデル、effort は、引き継いだ設定フラグ とともに、スーパーバイザーが後でそのプロセスを 停止して再起動 しても維持されます。セッションの途中で/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 サーバーはそれらのセッションで利用できます。
--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 つの追加ディレクトリを指定してエージェントビューを開きます。
--settings はファイルパスまたはインライン JSON 文字列を受け付けます。ファイルパスは既存のファイルを指している必要があり、そうでない場合、Claude Code は Settings file not found エラーで終了します。
シェルからセッションを管理する
すべてのバックグラウンドセッションには、シェルから使用できる短い ID があります。ID はclaude --bg でセッションを開始するときに出力され、各セッションの ID は ~/.claude/jobs/ の下のディレクトリ名です。これらのコマンドはスクリプティングまたはエージェントビューを開きたくない場合に便利です。
claude attach と claude logs は、claude logs "auth refactor" のように、ID の代わりにセッション名の一部を受け取ることができます。claude attach が名前でセッションを開けるのはそのプロセスが実行中の間だけなので、停止したセッションを再開するには代わりに ID を渡してください。名前を渡すには Claude Code v2.1.290 以降が必要です。
セッションを JSON として一覧表示
claude agents --json はアクティブなセッションを JSON 配列として出力して終了します。すべてのライブセッション、およびプロセスが終了した場合でも引き続き動作またはブロックされているバックグラウンドセッションが含まれます。--all を追加して、完了したバックグラウンドセッションも含めます。--cwd <path> を追加して、そのディレクトリの下で開始されたセッションに一覧を制限します。
各エントリは 1 つのセッションを説明します。
スクリプトからセッション状態を読み取る
claude agents --json は Claude Code の外からセッション状態を読み取るためのサポートされている方法です。例えば、ステータスバー、スケジューラー、またはバックグラウンド作業を監督する別の Claude セッションから。claude agents --json --all をポーリングします。これはプロセスが終了したセッションをリストし続け、各エントリの state、status、waitingFor を読み取ります。
ターンを完了し、次の指示を待っているセッションは
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 プロセスであり、そのプロセスがどうなるかはセッションの状態によって異なります。- 作業中、権限プロンプトやその他のダイアログで一時停止中、またはアタッチ中:プロセスは実行を続けます。実行中のサブエージェント、ワークフロー、モニターは作業中とみなされ、
/loopのウェイクアップなど保留中のセッションスコープのスケジュールタスクも同様です。 - 完了済み、または次のメッセージを待機中で、約 1 時間アタッチされていない:スーパーバイザーはリソースを解放するためにプロセスを停止します。質問をしてターンを終えたセッションは、次のメッセージを待機中とみなされます。会話はディスク上に残り、次にアタッチまたは返信すると、セッションは中断したところから再開します。プロセスを実行し続けるには、
Ctrl+Tでセッションをピン留めします。 - スーパーバイザーの実行中にセッションのプロセスが予期せず終了した:スーパーバイザーがそのプロセスを再起動します。
←または/backgroundで自分でバックグラウンドに送ったセッションを、たとえばkillで終了した場合は、再起動されずに停止済みとしてマークされます。シャットダウンによって終了したセッションについては、シャットダウン後にセッションが失敗または停止と表示されるを参照してください。 - 自動更新の後:スーパーバイザーは新しいバージョンで自身を再起動し、アイドル状態のセッションをバックグラウンドで移行します。作業中、ユーザーの応答待ち、またはアタッチ中のセッションは中断されません。
- スーパーバイザー自体が停止した(たとえば、そのプロセスが Claude Code の外部から終了された場合):macOS と Linux では、約 1 分以内に新しいスーパーバイザーが接続しない限り、セッションは停止します。スーパーバイザーを起動するには、シェルで
claude agentsを実行します。その 1 分を過ぎた場合は、スーパーバイザー停止後もセッションを実行し続けるを参照してください。
CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF を 1 に設定します。
スーパーバイザーとそのセッションは、対話型セッションと同じ保存済みの認証情報で認証します。PATH を含め、どの設定とシェル変数がセッションに渡されるかについては、設定とプロバイダーを参照してください。ゲートウェイのエンドポイントについては、LLM ゲートウェイを参照してください。
スーパーバイザー停止後もセッションを実行し続ける
エージェントビューの終了時に次の通知が表示された場合、スーパーバイザーは実行されていません。claude agents を実行すると、新しいスーパーバイザーが起動し、セッションが実行され続けます。
先に 1 分が経過した場合、セッションは停止しますが、保存された会話はディスク上に残ります。保存された会話からセッションを再開するには、シャットダウン後にセッションが失敗または停止と表示されるで説明しているとおり、そのセッションにアタッチするか返信します。
状態の保存場所
セッションの状態は Claude Code の設定ディレクトリに保存されます。CLAUDE_CONFIG_DIR を設定している場合、スーパーバイザーは ~/.claude の代わりにそのディレクトリを使用し、独自のセッションを持つ別のインスタンスとして実行されます。
各バックグラウンドセッションには、
CLAUDE_JOB_DIR 環境変数がその ~/.claude/jobs/<id> ディレクトリに設定されているため、セッションが実行するシェルコマンドは、並行するセッションと衝突することなく $CLAUDE_JOB_DIR/tmp に一時ファイルを書き込めます。
ファイルを直接読まずにこの状態を確認するには、claude daemon status を実行します。スーパーバイザーに到達可能かどうか、そのプロセス ID とバージョン、ソケットディレクトリ、稼働中のバックグラウンドセッションの数が報告されます。
このコマンドは、実行中のスーパーバイザーのバージョンが呼び出した claude と異なる場合にも警告を表示します。これは、更新後にスーパーバイザーがまだ新しいバージョンで再起動していない場合に発生します。警告には両方のバージョンが表示され、新しいバージョンを反映するために claude daemon stop --any を実行するよう案内されます。
エージェントビューをオフにする
バックグラウンドエージェントとエージェントビューを完全にオフにするには、disableAgentView 設定を true にするか、CLAUDE_CODE_DISABLE_AGENT_VIEW 環境変数を設定します。管理者は管理設定を通じてこれを強制できます。
トラブルシューティング
claude agents がエージェントビューを開く代わりにサブエージェントをリストする
claude agents が数を出力した後、設定されたサブエージェントを表示してから終了する場合、エージェントビューはお使いの環境では利用できません。claude update を実行して最新バージョンをインストールしてください。
更新後もエージェントビューが開かない場合は、設定または環境変数によってオフになっているかどうかを確認してください。
エージェントビューがセッションなしで開く
最初のセッションをディスパッチする前に、エージェントビューは空のセクションヘッダーを表示し、各セクションの下に説明があり、セッションリストの代わりに入力の上に 1 行の説明があります。下部の入力にプロンプトを入力してEnter を押して、最初のセッションをディスパッチします。
バックグラウンド化が Background this session? ダイアログを表示する
← を押してセッションをバックグラウンドに移すときに Background this session? ダイアログが表示される場合、そのセッションには、停止する、中断される、または無人で実行され続けることになる実行中のバックグラウンド作業があります:
- 移動できない作業:セッションには、実行中の モニター など、バックグラウンドセッションに移動できない作業があります。ダイアログは Claude Code が停止するバックグラウンド作業を名前で表示し、転送されるタスクは別にカウントします。
- 実行中のサブエージェントを持つワークフロー:動的ワークフローにはまだ実行中のサブエージェントがあります。それでもバックグラウンド化すると、それらのサブエージェントは停止し、ダイアログはその数を表示します。Claude がバックグラウンドセッションでワークフローを再起動すると、それらのサブエージェントは最初からやり直します。
- 自動アーティファクト返信:Claude がアーティファクトのコメントに自動で返信している場合があります。これらの返信はバックグラウンドセッションで続行され、ダイアログはそのことを表示します。
/tasks を実行してすべての実行中のものを確認し、確認してバックグラウンド化するか、Stay を選択して作業が完了するまで待機します。バックグラウンドに移動するときに引き継がれるものを参照して、どのタスク種が引き継がれ、どのタスク種が Claude Code によって停止されるかを確認してください。
会話にバックグラウンドエージェントが was carried into this session and not resumed と表示される
この通知は、このセッションで実行されていないバックグラウンドのサブエージェントを示しています。
Claude はこの通知を確認して自動的に返信するため、プロンプトを入力する必要はありません。Claude の返信を読んだ後もそのサブエージェントの作業が必要な場合は、Claude に依頼してください。
プロンプトが短すぎるとして拒否される
ディスパッチ入力は会話の開始ではなく、タスクの説明を期待しています。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 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 Code がその会話を見つけられない場合、セッションを開くことを拒否します:claude attachはThis session has no saved transcriptを出力します。- エージェントビューでは、リストの下に
Press enter again to restart this session freshが表示されます。
Enter を押して空の会話でセッションを再開するか、シェルから claude respawn <id> を実行します。
詳細については、エラーリファレンスを参照してください。
ターミナルホストが停止したか、セッションが応答しなくなった
スーパーバイザーは各バックグラウンドセッションのターミナルを独自のホストプロセスで実行します。そのプロセスが停止したか応答しなくなった場合、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 agents を実行して新しいスーパーバイザーを開始します。macOS と Linux では、古いスーパーバイザーが終了してから約 1 分以内に実行してください。そうしないと、セッションはスーパーバイザーなしで停止します。stopped と表示されたのに同じエラーが再発し、macOS または Linux で v2.1.300 より古い Claude Code を使用している場合は、claude update を実行してから、両方のコマンドを再度実行してください。
停止コマンドが代わりに次の 4 つのメッセージのいずれかを出力した場合、古いプロセスは停止されていません。シェルで該当する行の対処を行ってから、claude agents を実行してください:
ディスパッチが Could not resolve authentication method で失敗する
バックグラウンドディスパッチが Could not resolve authentication method で失敗し、インタラクティブセッションが正常に認証される場合、ディスパッチを受け取ったワーカーは認証情報を取得しませんでした。バックグラウンドセッションはスーパーバイザーから認証情報を取得するため、このエラーはスーパーバイザープロセス自体で利用可能な保存された認証情報がないことを意味します。/login を実行したか、API キーを設定したことを確認してから、スーパーバイザーを停止してください:
claude agents または claude --bg を実行して、保存された認証情報を読み取る新しいスーパーバイザーを開始します。/login ではなく ANTHROPIC_API_KEY などの環境変数で認証する場合は、変数が設定されているシェルからその次のコマンドを実行してください。
原因と修正の完全なリストについては、エラーリファレンスを参照してください。
バックグラウンドセッションに No LLM gateway と表示される
バックグラウンドセッションに No LLM gateway と表示される場合、そのセッションはゲートウェイの ANTHROPIC_BASE_URL を受け取っていないため、リクエストが失敗します。メッセージに示されたフォルダ以外のディレクトリからセッションをディスパッチ、起動、または再起動したため、Claude Code がそれを渡さなかったのです。
このメッセージは、たとえば @<repo> でリポジトリにディスパッチした後や、別のディレクトリから claude attach を実行して停止したセッションを起動した後に表示されます。セッションにゲートウェイを渡すには、ゲートウェイを設定している場所に応じた修正方法を選択してください:
- ターミナルでゲートウェイをエクスポートした場合:ゲートウェイ変数をエクスポートしたターミナルで、メッセージに示されたフォルダに
cdし、メッセージにあるclaude respawn <id>コマンドを実行します。- ゲートウェイがセッションに届くのは、スーパーバイザー自体が同じゲートウェイをエクスポートしたシェルから起動された場合のみです。そうでない場合は、ディスパッチが
Could not resolve authentication methodで失敗するの説明に従って、respawn コマンドを実行したターミナルからスーパーバイザーを再起動し、そのコマンドを再度実行します。
- ゲートウェイがセッションに届くのは、スーパーバイザー自体が同じゲートウェイをエクスポートしたシェルから起動された場合のみです。そうでない場合は、ディスパッチが
- 設定でゲートウェイを指定しているプロジェクトでエージェントビューを使用した場合:
ANTHROPIC_BASE_URLとその認証情報を設定ファイルのenvブロックに記述します。~/.claude/settings.json、またはセッション自体のプロジェクト内の.claude/settings.local.jsonを使用してください。どちらも respawn されたセッションが読み取ります。その後、任意のディレクトリからシェルでclaude respawn <id>を実行して、このセッションをゲートウェイ経由で再起動します。
macOS でバックグラウンドセッションが Desktop、Documents、または Downloads を読み取ることができない
macOS では、バックグラウンドセッションホストは独自のプロセスとして実行され、ターミナルとは別に保護されたフォルダへのアクセスをリクエストします。バックグラウンドセッションが~/Desktop、~/Documents、~/Downloads、または別の保護された場所を読み取るときに Operation not permitted を報告する場合、System Settings の Privacy & Security > Files and Folders でアクセスを許可するか、エントリの Full Disk Access を有効にしてください。
どちらのリストでも、Claude Code という名前のエントリ、または claude バイナリのパスやファイル名が付いたエントリを探してください。このファイル名は 2.1.316 のようなバージョン番号の場合があります。Claude Code の更新後に Operation not permitted が再び発生する場合は、新しいバージョン名が付いたエントリなど、新しいエントリを探してください。見つかった場合は、そのエントリにアクセスを許可してください。
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 teams:互いにメッセージを送信する複数のセッションを調整
- Claude Code on the web:ローカルではなく、マネージドクラウド環境でセッションを実行
- Projects:Claude が 1 つの会話から並列クラウドセッションを調整し、どのセッションが必要かを通知します
バージョン履歴
Agent view はリサーチプレビュー中に急速に進化しました。古い Claude Code バージョンを使用している場合、このページの一部の動作が異なる可能性があります。特に、claude agents はまだサポートしていないフラグを unknown option エラーで拒否します。下の表は各フラグと動作がいつ追加されたかをリストしています。