Claude Codeを1ヶ月以上使っていて、1つのセッションだと手が足りなくなってきた人向け
1セッションで作業させると会話が膨らみすぎて頭の中がごちゃごちゃになる場面で使う。具体的にはPR1本を複数観点で同時にレビューしたいとき、バグの原因仮説が複数あってどれが本物か並列に検証したいとき、新規モジュールをフロント・バック・テストで分担して同時に書き始めたいとき。先に <code>~/.claude/settings.json</code> に <code>CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS</code> を <code>1</code> で入れて Claude Code v2.1.32 以降で起動した上で、リードに「○○な3人チームで進めて」と日本語で頼む流れになる
1つのClaude Codeセッションで作業していて、「フロントの設計・バックの設計・反対意見出し」を1人にやらせると会話が膨らみすぎてどれも中途半端になる。TeamCreateは、3人くらいのClaude Codeを並列で立ち上げて、それぞれ別の役割を持たせ、お互い直接話しながら作業させる仕組みを呼び出すための裏方ツールです。
使う側は「team を作って」と自然な日本語でリードに頼むだけで、リードが裏でこのツールを叩いてチームを組み立てます。読者がコマンドを直接打つわけではないので、覚えるのは「依頼の仕方」と「動作の癖」の方です。
噛み砕くと
イメージは、新しい職場に3人の同僚が同時に着任した初日です。それぞれ自分のデスクと頭の中を持っていて、こちらが書いた「指示書」だけ読んで動き始める。リーダーは隣のデスクで全体を見て、必要なら同僚に「あの件どうなった?」と声をかけ、同僚同士も直接ホワイトボードで議論できる。
サブエージェント(subagents)は「中央のリーダーに報告して終わり」の派遣社員に近い。Agent Team は「チームメンバー同士が直接やりとりして、共有の TODO リストを取り合って進める」常駐チームに近い、という感じです。
大事な前提:experimental(実験機能)で、有効化しないと使えない
Agent Team は2026年5月時点で正式機能ではなく実験中の機能です。デフォルトでは無効になっているので、設定で明示的にオンにしないと、リードに「team を作って」と頼んでも何も起きません。
有効化の方法は2つ。~/.claude/settings.json に下記を書き足すか、ターミナル側でパソコンに CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS という名前の設定値を 1 で覚えさせる。
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
あと claude --version で 2.1.32 以降になっているかも確認しておく。古いと有効化しても認識されない。
「3人チームでブログのリニューアル設計を並列に進める」を例に、実際の手順を見る
料理ブログを運営していて、今のページ構成を作り直したい、という場面を題材にします。1人で考えると「読みやすさ最優先」「データ構造優先」「そもそも作り直しに価値ある?」がごっちゃになるので、観点ごとにチームメンバーを分けて並列に走らせます。
ステップ1: Agent Team をオンにする
まず一度だけ ~/.claude/settings.json に上の CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS を書き足し、Claude Code を再起動する。再起動しないと設定値が読み込まれない。
ステップ2: 普通にClaude Codeを起動して、リードに依頼する
料理ブログのフォルダで claude を起動。ここで開いているこの1つのセッションが「リード(team lead)」になります。リードは自然な日本語で指示すれば、裏で TeamCreate ツールを呼んでチームを組み立ててくれる。
料理ブログのリニューアル設計を3人チームで進めたい。
- 1人目: 読者体験(UX)担当。スマホ閲覧時の動線とレシピの探しやすさ
- 2人目: 技術アーキ担当。記事データの持ち方とカテゴリ設計
- 3人目: 反対意見担当(devil's advocate)。リニューアル要らない説を本気で検討
それぞれ別チームメイトとして spawn して、お互い議論させながら設計案をまとめて。
ステップ3: リードがチームを立ち上げる
リードは内部で TeamCreate を叩き、3人のチームメイトを別々のClaude Codeセッションとして起動する。立ち上がると、ターミナル下部にチーム一覧と各メンバーの状況が表示される。
ここでひとつ初心者がやりがちな勘違いがある。チームメイトは「リードの会話履歴」を一切引き継ぎません。各チームメイトはまっさらな状態で起動し、プロジェクト直下の CLAUDE.md と、リードから渡された spawn 用プロンプトだけを読んで動き始める。今までリードに話した経緯は届かないので、spawn プロンプトに必要な前提を書き込んでおく必要があります。
ステップ4: 各メンバーの作業をのぞきに行く
3人が並列で動き始めたら、リードの画面で Shift+Down を押すと、チームメイトを順に切り替えて画面を覗ける。Enterでそのチームメイトのセッションに入り、直接「もう少しスマホ前提で考えて」みたいに口出しできる。EscでチームメイトのターンをキャンセルしてからリードにEscで戻る、という流れ。
これがサブエージェントとの大きな違いです。サブエージェントは結果が返ってくるまで中身に口出しできないが、チームメイトには会話の途中で介入できる。
ステップ5: チームメイト同士に議論させる
反対意見担当には「UX担当と技術担当の出した案を読んで、本気で論破を試みて」と指示。チームメイト同士は SendMessage ツール経由で直接メッセージを飛ばせるので、リードを経由せずにやり取りが進む。共有 TODO リスト(task list)は Ctrl+T で表示でき、各タスクが pending/in progress/completed のどれかが見える。
ステップ6: 設計案がまとまったらチームを解散する
リードに「チームをクリーンアップして」と頼むと、リードが TeamDelete ツールを呼んで、チームメイトのプロセスをまとめて終了し、共有リソースを掃除する。チームメイトが作業中だとクリーンアップが失敗するので、先に1人ずつ「シャットダウンして」と頼んで止めるのが安全です。
つまり TeamCreate は何をしてくれるのか
- やってくれる: 別コンテキスト・別プロセスの Claude Code を3〜5人ぶん同時に起ち上げ、共有 TODO リストと相互メッセージの土台を用意する。リード側の指示文に応じて役割と人数を自動で決める
- やってくれない: 1人のClaudeが2人ぶん器用に並列作業する、ではない。各チームメイトは別々の頭で、トークンも別々に消費する。コストは1人セッションの何倍にもなる
- 意味が薄い場面: 同じファイルを順番に直していくだけのリファクタ、依存関係が一本道のバグ修正。並列にしても待ち時間と調整コストの方が増えるだけ
使いどころ3シナリオ
シナリオ1: 1つのPRを「セキュリティ・パフォーマンス・テスト網羅性」の3観点で同時にレビューしたいとき
たとえば家計簿アプリのログイン周りを書き換えたPR #142をマージ前に検証する場面。1人にレビューさせると、最初に見つけた問題に意識が引っ張られて他の観点が薄くなる。チームで「片方はトークンの扱いだけ見る」「片方は無駄なクエリだけ探す」「片方はテストが本当に通っているか追う」と分担すれば、それぞれが独立に深く掘れる。最後にリードが3人の指摘を1つの報告書に統合してくれる。
シナリオ2: バグの原因仮説が5個あって、どれが本物か絞り切れないとき
「アプリが1メッセージで切断される」みたいな現象で、ネットワーク層/セッション管理/状態保存/タイマー処理/クライアント側の再接続のどこかで起きているのは分かるが、どれかが特定できない場合。5人のチームメイトに別々の仮説を割り当て、お互いの主張を論破させる構成にすると、最後まで反論を生き残った仮説が真犯人である確率がぐっと上がる。1人で全仮説を順に試すと、最初の仮説に引っ張られて他がおざなりになる。
シナリオ3: 新規モジュールをフロント・バック・テストの3層で同時に書き始めたいとき
たとえば「店舗の予約フォーム」を新規作成する場面。フロント側のフォーム、バック側のAPI、E2Eテスト、で担当ファイルが完全に分かれているなら、3人で並列に書ける。逆に、同じファイルを2人で触ると上書きが起きるので、リードに「ファイル分担を最初に決めてから spawn して」と頼むのがコツです。
初心者が踏みやすい落とし穴
- 有効化の設定を入れずにリードに依頼しても無言で失敗する。
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1が読み込まれていないとTeamCreate自体が使えないので、リードが「分かりました」と返してそのまま動かない、ような状態になる。最初にclaude --versionでバージョンを確認しておく - 1チームしか同時に作れない。リードは1度に1チームの面倒しか見られない。別の題材で新しいチームを組みたくなったら、まず今のチームを解散してから次を作る
- nested(入れ子)は不可。チームメイトが自分の下に孫チームを作ることはできない。チーム管理はリードだけの仕事と決まっている
- セッション再開
/resumeでチームメイトは戻ってこない。in-process モードで作ったチームは、セッション再開時に復元されない。リードが「居ないはずのメンバー」にメッセージを飛ばそうとして詰まることがあるので、再開後は素直に「新しいチームを spawn し直して」とリードに伝える - トークン消費がチーム人数ぶん効く。チームメイト1人ごとに別のClaudeセッションが動くので、API使用料が単純に人数倍に近づく。3人なら3倍が目安。日常のリファクタを毎回チームでやると課金額が跳ねるので、研究・レビュー・新規機能みたいに並列の旨味がある仕事に絞る
- 権限モードは spawn 時にしか一括で決められない。リードが
--dangerously-skip-permissionsで起動していると、チームメイト全員にもその権限が継承される。spawn 後に個別変更はできるが、spawn の瞬間に個別設定はできないので、リードの起動時指定は慎重に決める - シャットダウンが遅い。チームメイトは今投げているリクエストや動かしているツール呼び出しが終わるまで止まらない。「すぐ片付けたい」と思っても、現タスクが終わるまで数十秒〜数分待たされることがある
- 同じファイルを2人で触らせると上書き合戦になる。リードに spawn を頼む段階で「ファイルA はメンバー1、ファイルB はメンバー2」のようにファイル分担を明示する。並列の罠はだいたいここで踏む
書き方
(ユーザーは直接叩かない。リードに自然言語で依頼する)
Claude Codeの中での依頼文:
料理ブログのリニューアル設計を3人チームで進めたい。UX担当・技術アーキ担当・反対意見担当をチームメイトとして spawn して、お互い議論させて。
やってみるとこうなる
入力
私: 料理ブログのリニューアル設計を3人チームで進めたい。
- UX担当(読者体験とスマホ動線)
- 技術アーキ担当(記事データ構造とカテゴリ設計)
- 反対意見担当(そもそも作り直し要らない説)
3人を別チームメイトとして spawn してください。
出力例
リード: チーム『blog-renewal』を作成しました。
- ux-lead (Sonnet, in-process)
- tech-arch (Sonnet, in-process)
- devils-advocate (Sonnet, in-process)
共有 task list を作成しました。Shift+Down でチームメイトを切り替えられます。Ctrl+T で task list を表示できます。
このページに出てきた言葉
- Agent Team
- 複数のClaude Codeセッションを並列に動かして、お互いメッセージのやり取りと共有TODOリストで協調させる仕組み。2026年5月時点で実験中
- experimental
- 実験中で、仕様や挙動が今後変わる可能性がある機能。安定版に組み込まれる前のお試し段階
- subagents
- Claude Codeの中で別コンテキストの助っ人を1人だけ動かす仕組み。結果だけ親に返して消える。Agent Team との一番の違いは、相互に話せないこと
- spawn
- 新しいプロセスを起ち上げること。ここではリードが新しいチームメイト用のClaude Codeセッションを起動する操作
- task list
- チーム全員が見える共有のTODOリスト。誰かが完了マークを付けると依存タスクの担当者が動き出せる。<code>Ctrl+T</code> で表示
- in-process モード
- チームメイトを自分のターミナル1枚の中に同居させる表示方法。<code>Shift+Down</code> で切り替える。tmux も iTerm2 も要らない既定の方式
- settings.json
- Claude Code本体の設定をまとめたファイル。ユーザー全体用は <code>~/.claude/settings.json</code> に置く
- CLAUDE.md
- プロジェクト直下に置くとClaude Codeがそのプロジェクトを開いた時に自動で読み込む覚え書きファイル。チームメイトも各自これを読んで初期コンテキストにする