目次
Claude Code の agent view(claude agents で開く)は、独立したセッションを次々と背後で立ち上げ、1つの画面で管理するための機能だ。公式ドキュメントの言い方では「1つの画面から多数の Claude Code セッションをディスパッチし、管理する」機能だ(Manage multiple agents with agent view)。
この記事は仕組みと安全性に絞る。実際に危ないのは「AIが暴走すること」ではなく、あなたが見ていない間に、どこまでが隔離され、どの権限で動いているかを把握しないまま10個並べてしまうことだ。結論から言えば隔離はかなり丁寧に作られている——ただし隔離の外へ漏れるものが3つある。そこが本題になる。
📌 この記事の前提:仕様・バージョン・設定名は2026年8月9日時点の公式ドキュメントで確認したもの。agent view はリサーチプレビューで、Claude Code v2.1.139 以降が必要。プレビュー段階の機能は仕様が動くので、手元の版を claude --version で確かめ、細部は公式ドキュメントで最新を見てほしい。
🔀 「ディスパッチ」を探して来た方へ。Claude には名前の似た別機能が2つあります。デスクトップアプリのサイドバーにある「ディスパッチ(Dispatch)」は、スマホから指示して自分のPC上で作業させる機能で、本記事とは別物です——そちらはDispatchの仕組みと安全性で扱っています。本記事が扱うのはClaude Code のターミナル機能である agent viewで、公式ドキュメントがその操作を「dispatch(ディスパッチ)」と呼んでいるために名前が重なっています。
1. agent view とは何か——「ディスパッチ」と呼ばれる操作
まず名前を確定させておく。Claude Code の中では、ディスパッチ(dispatch)は「agent view で行う操作」の呼び名であって、その名前の独立した機能があるわけではない。公式ドキュメントはこう説明している。
「claude agents で開く agent view は、あなたのバックグラウンドセッション全部を映す1枚の画面だ——何が動いていて、何があなたの入力を待っていて、何が終わったのか」(Agent view)
使いどころも明快に線が引かれている。「独立したタスクが複数あって、渡してしまって、状態を一目で確認し、必要になったときだけ入っていきたいとき」だ。バグ修正・PRレビュー・不安定なテストの調査——この3つを3行として投げ、別の窓で自分の作業を続け、行が「あなたが要る」状態になったら見に行く、という使い方になる。
✅ 向いている仕事
互いに独立していて、途中経過を見なくてよいもの。終わったら結果だけ受け取れば足りる作業。あなたが同時に別の仕事をしていられる。
❌ 向いていない仕事
途中で方向を決め直す必要があるもの、同じファイルを奪い合うもの、そして取り消せない操作を含むもの(デプロイ・本番DB・外部への送信)。
2. 1プロンプト=1セッション。追記ではない
最初に驚くのはここだ。公式ドキュメントは明示している——「ここで入力したプロンプトは、それぞれが自分自身の新しいセッションを開始する。もう1つプロンプトを打って Enter を押すと、1つ目への追加の指示ではなく、その隣に2つ目のセッションが立ち上がる」。
普段のチャットの感覚で「さっきのに補足」を打つと、補足ではなく新しい仕事が1つ増える。これは事故というより仕様で、そもそも agent view が「独立したタスクを並べる場所」だからそうなっている。追加の指示を送りたいときは、後述のピークパネルから送る。
| 操作 | 起きること |
|---|---|
入力欄にプロンプト → Enter |
新しいセッションを1つ起動(並列に増えていく) |
Space |
ピークパネルを開く。全文ではなく、直近の出力か、待っている質問が出る |
ピークパネルで返信 → Enter |
agent view を離れずにそのセッションへ返信できる |
→ または Enter(行を選択中) |
そのセッションに入る(アタッチ) |
Ctrl+X |
停止。もう一度押すと削除(§6の落とし穴に直結) |
Ctrl+S / Ctrl+T / Ctrl+R |
並べ替え(状態別/ディレクトリ別)/ピン留め/改名 |
なお、セッションが自分で生やしたサブエージェントやチームメイトは、独立した行としては出てこない。画面に並ぶのは「あなたがディスパッチした単位」だけだ。
3. 隔離の仕組み——書く前に worktree へ移る
安全性の中心はここにある。バックグラウンドセッションは、ファイルを編集する前に自分専用の git worktree へ移動する。公式の説明はこうだ。
「agent view から起動したものであれ、/bg や claude --bg であれ、すべてのバックグラウンドセッションはあなたの作業ディレクトリで始まる。ファイルを編集する前に、Claude はセッションを .claude/worktrees/ 配下の隔離された git worktree へ移す。こうして並列のセッションは同じチェックアウトを読めるが、書き込みはそれぞれ自分のものへ行う」(Agent view)
この設計が効いているのは「読みは共有、書きは分離」という点だ。並列セッションはお互いのコードを読めるので前提がずれないのに、書き込みは衝突しない。同じディレクトリで3つ走らせて、3つが同じファイルを上書きし合う——という最悪の事故が構造的に起きない。
そして重要なのが次の一文だ。「セッションが worktree に入ったあと、Claude Code はメインのチェックアウトへ届くファイル編集とコマンドをブロックする。そのセッションについても、そのセッションが生やすあらゆるサブエージェントについても」。隔離は子まで継承される。ディスパッチしたセッションが内部でサブエージェントを5体呼んでも、5体とも同じ壁の内側にいる。
4. 隔離を守っている3つのチェック
「ブロックする」の中身は公式ドキュメントに具体的に書かれている。3種類のチェックだ。
① ファイル編集
メインのチェックアウト内のパスを狙う Edit・Write・NotebookEdit をブロックする。
② コマンドの作業ディレクトリ
作業ディレクトリがメインへ解決されるコマンド、および「外に出ないと確認できない」コマンドをブロックする。
③ git の向き先の付け替え
git -C・--git-dir・GIT_DIR・GIT_WORK_TREE・git の前に cd する——いずれも遮断される。
③まで潰しているのは真面目な作りだ。「メインに書かない」だけでなく「メインを指すように git をだます」経路まで塞いでいる。しかも検証できないコマンドは通さないという、安全側に倒す判断になっている。
⚠️ ただし、これはOSの壁ではない。3つのチェックはツール呼び出しの内容を見て止めているものであって、プロセスを閉じ込めているわけではない。守っているのは「同じリポジトリのメインチェックアウト」であり、リポジトリの外のファイルやネットワークはこの3つの対象外だ。
加えてPowerShell のコマンドには②の作業ディレクトリのチェックしか適用されないと公式に明記されている。Windows で PowerShell を主に使うなら、③の保護は期待できない。プロセスごと閉じ込めたいなら、worktree ではなくサンドボックスの役目になる。
5. 権限はどこから来るのか
あなたが見ていない間、そのセッションはどの権限モードで動いているのか。ここを把握せずに並べるのがいちばん危ない。
公式の規則は明快だ。agent view の入力欄からディスパッチした場合、または claude --bg をシェルから実行した場合、そのディレクトリの設定にある defaultMode が使われる。ディスパッチ先がサブエージェントなら、そのフロントマターの permissionMode が使われる。
つまり権限はあなたが「その場で」選ぶのではなく、設定から引き継がれる。普段 settings.json の defaultMode を緩めにしている人ほど、ディスパッチした瞬間に「緩い権限で、誰も見ていない状態」が10個生まれることになる。権限モードと権限ルールを先に整えておくのが前提条件だ。
一方で、止まるべきところではきちんと止まる。セッションが「あなたにしか出せないもの——質問への答え、権限の判断、次の指示」を待つと、行は「Needs input(入力待ち)」に変わる。この状態が、あなたに残された唯一の制御点になる。だから agent view は「並べて放置する画面」ではなく、「入力待ちの行を拾いに戻る画面」として使うのが正しい。
6. 見落としやすい落とし穴
隔離は丁寧に作られている。それでも隔離の外へ漏れるものが3つある。ここが実務で効く。
① 「今後は確認しない」の承認は、worktree の外へ出ていく
公式ドキュメントいわく、worktree セッションで Bash コマンドに「はい、今後は確認しない」を選ぶと、その規則はメインチェックアウトの .claude/settings.local.json に保存される。結果、メインにも、他のすべての worktree にも適用され、その worktree を消しても残る。
つまり隔離された場所で下した1回の許可判断が、隔離の外側の恒久設定になる。見ていない間に、しかも「一時的な作業場」の中で押した「今後は確認しない」が、以後ずっと効く。ディスパッチしたセッションのピークパネルで権限を聞かれたとき、安易に「今後は確認しない」を選ばないこと。
② セッションを消すと、未コミットの作業ごと消える
公式の制限事項に明記されている——「Claude が作った worktree は、agent view でセッションを削除すると一緒に削除される。自分の worktree でファイルを編集したセッションを削除する前に、変更をコミットすること」。Ctrl+X は1回目が停止、2回目が削除だ。終わったセッションを片付けるつもりで2回押すと、成果物ごと消える。「終わった」と「取り込んだ」は別——結果を受け取ったら、消す前にコミットかマージを済ませる。
③ .worktreeinclude は、秘密情報を全部の worktree に配る
worktree は新しいチェックアウトなので、gitignore された .env は入っていない。それでは動かないので、.worktreeinclude に書いておくと新しい worktree が作られるたびに自動でコピーされる。
便利だが、裏返すとディスパッチしたセッションの数だけ、認証情報の複製がディスクに増えるということでもある。並列で回すなら、本番の鍵ではなく開発用の鍵を配るのが筋になる。
加えて、制限として公式に挙げられているものが3つある。クォータは掛け算で減る(「10個のエージェントを並列に走らせると、1個のときの約10倍の速さでクォータを使う」)。セッションはローカルで動く(スリープは越えるが、マシンをシャットダウンすると止まる)。そしてリサーチプレビューであること自体だ。
7. 使い分け——並列の手段は4つある
公式ドキュメントは並列化の手段を4つに整理している。ディスパッチ(agent view)はそのうちの1つでしかないので、選び違えると素直に損をする。
| 手段 | 誰が仕切るか | 選ぶ場面 |
|---|---|---|
| サブエージェント | 1つの会話の中で Claude が委譲し、結果を回収 | 脇の作業の出力(検索結果・ログ・ファイル)で本体の文脈を汚したくない |
| agent view(ディスパッチ) | あなたが渡して、後で見に行く | 独立したタスクが複数。本記事。リサーチプレビュー |
| エージェントチーム | Claude が計画し、割り当て、監督する | 分担と同期を任せたい。実験的・既定で無効。詳細は専用記事 |
| 動的ワークフロー | スクリプトが計画を持つ | 全体監査・500ファイルの移行など、1ターンでは仕切れない規模。結果の相互検証が要るとき |
分かれ目は「誰が仕切るか」だ。1つの会話の中で片づくならサブエージェント。あなたが仕切って後で回収するなら agent view。Claude に仕切らせたいならエージェントチーム。その場の判断ではなく決められた手順で回すべき規模なら動的ワークフロー。
なお worktree は並列の手段ではなく、隔離の道具という位置づけになっている。agent view はそれを自動で使う。自分で立てる並列セッションでは claude --worktree <名前> のように明示する。
8. 安全に回すための手順
ディスパッチ前
- そのディレクトリの
defaultModeを確認する。これがそのまま「誰も見ていないセッション」の権限になる - 取り消せない操作を含む仕事は渡さない。デプロイ・本番DB・外部送信は、見ている場でやる
- タスクどうしが本当に独立しているか。同じ設計判断に依存するなら、先に1つ決めてから渡す
.worktreeincludeに何を書いているか。並べた数だけ鍵が複製される
回している間
- 「Needs input」を拾いに戻る。ここが唯一の制御点
- 権限を聞かれたら「今後は確認しない」を選ばない。その判断は worktree の外に残る
- 並列数はクォータに直結する。10個並べれば10倍の速さで減る
終わったあと
- 消す前にコミットする。
Ctrl+Xの2回目は削除で、worktree の中身ごと消える - 結果はそのまま信じない。並列で回した分だけ、確認していない主張が増えている
最後の一点は経験則として強調しておきたい。並列化はレビューの総量を増やす。10個投げれば10個ぶんの「本当にそうか」が返ってくるのであって、確認の手間まで並列化されるわけではない。投げる数の上限は、あなたが結果を検証できる数で決まる。
まとめ
ディスパッチとは agent view(claude agents)から独立したバックグラウンドセッションを起こす操作で、リサーチプレビュー(v2.1.139以降)だ。1プロンプトが1セッションになり、追記にはならない。
安全性の中核はworktree による隔離にある。書く前に .claude/worktrees/ へ移り、読みは共有・書きは分離になる。メインへ届く編集・コマンド・git の付け替えは3つのチェックで遮断され、その保護はセッションが生やすサブエージェントにも継承される。
ただし隔離の外へ出るものが3つある。「今後は確認しない」の承認はメイン側に保存されて全 worktree に効き、worktree を消しても残る。セッションを削除すると未コミットの作業が消える。.worktreeinclude は秘密情報を worktree の数だけ複製する。そして worktree はOSの壁ではないので、リポジトリの外とネットワークは守られない——そこはサンドボックスの担当だ。
FAQ
Q1. 「ディスパッチ機能」という名前の機能はありますか?
独立した機能名としてはありません。dispatch は agent view の中の操作の呼び名です。公式ドキュメントは agent view を「1つの画面から多数の Claude Code セッションをディスパッチし、管理する」機能と説明しています。開くコマンドは claude agents です。
Q2. /agents と claude agents は同じものですか?
別物です。公式ドキュメントも「名前が似ているが、/agents は claude agents とは別だ」と注意しています。claude agents は agent view を開くシェルのコマンド。一方 /agents は、v2.1.198 以降はパネルを開かず、サブエージェント定義ファイルの場所を知らせるだけになっています。
Q3. ディスパッチしたセッションは、私のメインの作業を壊しませんか?
同じリポジトリのメインチェックアウトについては構造的に守られています。ファイル編集・コマンドの作業ディレクトリ・git の向き先の付け替え、という3つのチェックでブロックされ、セッションが生やすサブエージェントにも同じ保護がかかります。ただしリポジトリの外のファイルとネットワークは対象外で、PowerShell では作業ディレクトリのチェックだけが適用されます。
Q4. 並列で走らせるとコストはどうなりますか?
おおむね数に比例して増えます。公式の制限事項にも「10個のエージェントを並列に走らせると、1個のときの約10倍の速さでクォータを使う」と書かれています。バックグラウンドだから安い、ということはありません。
Q5. 終わったセッションは消していいですか?
コミットしてから消してください。公式ドキュメントは「Claude が作った worktree は agent view でセッションを削除すると一緒に削除される」と明記しています。Ctrl+X は1回目が停止、2回目が削除です。結果を受け取っただけでは取り込めていません。
Q6. 権限モードはディスパッチのたびに選べますか?
その場では選びません。そのディレクトリの設定の defaultMode(サブエージェントを指定した場合はそのフロントマターの permissionMode)が使われます。普段 defaultMode を緩めにしているなら、その緩さのまま無人で走ることになります。ディスパッチを使い始める前に権限設定を見直してください。
Q7. サブエージェントとどう違いますか?
誰が仕切るかが違います。サブエージェントは1つの会話の中で Claude が委譲し、結果を会話に返します。agent view はあなたが独立したタスクを渡し、あとで結果を回収します。セッションが生やしたサブエージェントは agent view の行としては表示されません。
Q8. マシンを閉じたらどうなりますか?
止まります。公式の制限事項に「バックグラウンドセッションはあなたのマシンで動く。スリープは越えるが、マシンをシャットダウンすると止まる」とあります。クラウドで動くわけではないので、長時間の仕事を投げて帰る、という使い方には向きません。
関連記事
- サブエージェントとエージェントチーム — 並列化の他の2つの手段
- 権限モード — ディスパッチしたセッションが引き継ぐ設定
- 権限ルールと settings.json — 「今後は確認しない」がどこに保存されるか
- サンドボックス — worktree では守れない範囲を守る仕組み
- /compactの押しどころ — 並列で回すほど文脈は膨らむ