Claude Codeのworktree隔離|並列作業を壊さない
「AIを2つも3つも同時に走らせたら、同じファイルを取り合って壊れないの?」——並列でエージェントを動かし始めた人が、最初に必ずぶつかる不安です。
結論から言うと、答えは「隔離すれば壊れない」です。Claude Codeにはgit worktreeを使ってサブエージェントごとに作業場所を分ける仕組みがあり、複数のAIが同じリポジトリを同時にいじっても、互いのファイルには触れないようにできます。
株式会社Fyveは、日々の定型作業を複数のエージェントに分担させながら業務を回しています。この記事では、私が実際に並列運用で使っているworktree隔離を、仕組み・設定・「使う日と使わない日」の判断・無人運用でのつまずきどころまで、順番に整理します。
そもそも「並列でAIが壊す」とは何が起きるのか
1体のエージェントに順番に作業させている間は、事故はまず起きません。問題は、速さを求めて複数のエージェントを同時に走らせた瞬間から始まります。
同じ作業ディレクトリで3体のエージェントが同時に動くと、次のようなことが起こります。
- Aが編集中のファイルを、Bが別の内容で上書きする
- まだ途中の変更が混ざったまま、Cがコミットしてしまう
- 「どの変更が誰の仕事だったのか」が追えなくなり、切り分けに時間を取られる
これは「AIが賢くないから」起きるのではありません。全員が同じ1つの机で同時に書類を書いているような状態そのものが原因です。速くしたくて並列にしたのに、後片付けで倍の時間を失う——これが一番もったいないパターンです。
Claude Codeのworktree隔離とは|仕組みを一言で
解決策がgit worktree(ワークツリー)です。worktreeとは、同じリポジトリの履歴を共有したまま、作業用のフォルダだけを別々に切り出す仕組みのこと。公式ドキュメントでも「それぞれのセッションを自分のworktreeで動かせば、一方の編集がもう一方のファイルに触れることはない」と説明されています。
机の比喩で言えば、履歴(.git)という1冊の台帳は全員で共有しつつ、書き物をする机は1人1台ずつ配るイメージです。台帳は1つなので後で変更をまとめられますが、作業中は互いの机に手が届かないので、上書き事故が起きません。

サブエージェントの基本的な役割分担については、こちらの記事で詳しく解説しています。並列を前提にした設計の土台になります。
読者特典・無料ダウンロードClaude Codeを「素のまま」使うな無料でダウンロード →サブエージェントをworktreeで隔離する設定
使い方は大きく3通りあります。順に見ていきます。
1. isolation: worktree をフロントマターに書く(常時隔離)
並列で何度も呼ぶ定型エージェントには、これが一番確実です。カスタムサブエージェントの定義ファイル(.claude/agents/ に置くマークダウン)の先頭に、1行足すだけです。
---
name: refactorer
description: 多数のファイルにまたがる機械的な修正を適用する
isolation: worktree
---
指示された修正を対象ファイル全てに適用し、テストを実行して結果を報告する。こう書いておくと、このエージェントは呼ばれるたびに自分専用の一時worktreeで動きます。変更を出さずに終われば自動で片付けられ、変更が残っている場合はデータを失わないよう、後述の定期クリーンアップまで残ります。
2. その場で「worktreeを使って」と頼む
常時ではなく、この作業だけ隔離したいときは、会話の中で「エージェントにはworktreeを使って」と頼めば、その場で作られます。手動フラグを覚えなくても、口頭で隔離を指示できるのは実務ではありがたい設計です。
3. 自分のセッションをworktreeで起動する(--worktree)
サブエージェントに限らず、自分の作業自体を隔離したいときは起動時にフラグを付けます。
claude --worktree feature-auth既定では .claude/worktrees/<名前>/ の下に、worktree-<名前> という新しいブランチで作られます。別のターミナルで名前を変えてもう一度実行すれば、2つ目の独立したセッションが立ち上がります。1つで機能を作り、もう1つでバグを直す、といった並行作業がぶつからずに進みます。
何が共有され、何が分離されるのか
隔離といっても、全部が別々になるわけではありません。ここを誤解すると設定が無駄に複雑になります。
項目 | 扱い |
|---|---|
編集するファイル・ブランチ | 分離(worktreeごとに独立) |
リポジトリの履歴(.git) | 共有(1つ。worktree内でも |
CLAUDE.md・設定・メモリ | 共有(同じリポジトリのworktreeに引き継がれる) |
プロジェクト単位のプラグイン | 共有(再インストール不要) |
.env などの未追跡ファイル | 分離(初期状態では持ち込まれない) |
注意したいのは最後の行です。worktreeは新しいチェックアウトなので、.env のようにgit管理外のファイルは自動では入りません。毎回運びたいなら、プロジェクト直下に .worktreeinclude ファイルを置き、.gitignore と同じ書式で対象を並べておきます。
私が「隔離を使う日・使わない日」を分けている基準
ここが実運用で一番大事なところです。worktree隔離は便利ですが、タダではありません。作るたびに数百ミリ秒の準備時間と、ディスク上のコピーを消費します。何でもかんでも隔離すると、遅くて重いだけの並列になります。
そこで私は、並列でエージェントを走らせるとき、毎回1つの問いで分岐させています。

判断はシンプルです。複数のエージェントが同時に、同じリポジトリのファイルを書き換えるか——ここだけを見ます。
- 書き込みが重なる(YES):たとえば「複数の箇所を同時にリファクタする」「別々のファイルを並行して生成する」ような作業。ここは迷わず隔離します。衝突の芽を根本から断てるので、後片付けが消えます。
- 読み取り中心(NO):調べ物や要約など、ファイルを読むだけの並列作業。ここに隔離を使うと、準備コストとディスクが無駄になるだけです。素の並列で十分です。
「速くしたい」から並列にするのに、隔離のコストで逆に遅くしては本末転倒です。隔離は保険であって、常備薬ではない——この線引きを持っておくと、並列運用がぐっと軽くなります。
並列作業を自動と手動でどう切り替えるかは、こちらの記事も参考にしてください。
隔離は「設定して終わり」ではない|つまずいた3点
worktree隔離は強力ですが、任せきりにすると足をすくわれる箇所があります。私が実際に気をつけている3点を挙げます。
1. バージョンを上げておく(隔離が効かない不具合があった)
2026年7月14日に公開されたClaude Code v2.1.210では、隔離まわりの重要な修正が入りました。それ以前は、isolation: worktree を指定したサブエージェントが、自分のworktreeではなくメインのリポジトリに対してgit操作を実行してしまうことがあった、というものです(公式リリースノートおよび複数の変更履歴で確認できます)。
つまり「隔離したつもりが、本体を汚していた」可能性があったわけです。並列でエージェントを動かすなら、まずはClaude Codeを新しいバージョンに上げておく——これが前提条件です。
2. 止めたセッションがロックを残す問題も直った
同じv2.1.210で、強制終了したバックグラウンドセッションがworktreeのロックを残したままになる問題も修正されました。以前はロックが残るとそのworktreeが片付けられず、手動で解除する必要がありました。今は、持ち主のプロセスが消えたロックは定期処理が自動で解放してくれます。無人で長時間回すほど、この修正の恩恵は大きくなります。
3. 変更が残ったworktreeは自動では消えない
クリーンアップは自動ですが、安全側に倒してある点を理解しておく必要があります。定期処理がworktreeを片付けるのは、あくまで中身が空のときだけ。次のどれかが残っていると、自動削除はスキップされます。
- 変更されたファイル、または追跡外の新規ファイル
- まだpushしていないコミット
成果や未push分を勝手に消さないための、ありがたい仕様です。ただし裏を返すと、中途半端に終わったworktreeは残り続けるということ。ディスクを圧迫し始めたら、中身を確認したうえで手動で片付けます。
git worktree list # 今あるworktreeを一覧
git worktree remove <パス> --force # 変更が残っていても消す無人・自動で回すときのチェックリスト
並列+隔離を、人が張り付かない自動運用に載せるなら、私は次を最低限そろえてから回します。
- バージョンを上げる:v2.1.210以上。隔離の取りこぼしとロック残りが直っている
- 書き込みが重なる作業だけ隔離する:読み取り並列に隔離を使わない(コストの無駄を避ける)
- .worktreeinclude を用意する:
.env等が要る作業は、持ち込み設定をしておく - .claude/worktrees/ を .gitignore に入れる:worktreeの中身が本体に未追跡ファイルとして出てこないように
- 後始末の担保:残ったworktreeを定期的に確認し、ディスクを見張る
- 権限で事故を止める:隔離はファイルの衝突を防ぐだけ。消す・送る・課金するといった操作は、権限側で別途止める
最後の「権限で止める」は隔離とセットで効きます。無人運用の事故防止の考え方は、こちらにまとめています。
まとめ
並列でAIを動かすときの事故は、賢さの問題ではなく作業場所の問題です。同じ机を全員で奪い合うから壊れる。worktree隔離は、履歴を共有したまま机だけを配り分けて、その奪い合いをなくす仕組みでした。
ポイントを絞ると、こうなります。
- 常時隔離したいエージェントは
isolation: worktreeを1行足す - 隔離を使うのは「書き込みが重なるとき」だけ。読み取り並列には使わない
- v2.1.210以上に上げ、残ったworktreeは自分で見張る
私たちは、こうした並列運用の設計を業務の中で日々検証し、事故を出さずに速度を上げる形に落とし込んでいます。Claude Codeの業務導入や運用設計について相談したい方は、以下もご覧ください。
Claude Codeを「素のまま」使うな

設定で差がつく——CLAUDE.md・権限・スキルの実物を公開(全24ページ)
素のClaude Codeは"優秀な新入社員"。仕事を教えるほど、自分専用になります。覚えさせる4点セット——会社の説明書(CLAUDE.md)・権限の柵・手順書(スキル)・フォルダの地図——を、1人会社の実運用からコピペで使える型つきで公開します。
- そのまま書き換えて使えるCLAUDE.mdの型
- お金と送信をAIに触らせない「3段階の柵」
- 1回教えたら何度でも動く、手順書のコピペ雛形
- AIが迷子にならないフォルダ構造の3原則
毎週金曜の無料ニュースレター「ひとりAI経営」の購読特典です。メール登録後すぐ、ダウンロードページのご案内が届きます。あわせて、AI活用に関するお知らせやお役に立てそうなご案内をお送りすることがあります。解除はいつでも1クリック。
御社の業務に合わせたClaude Code導入支援
「AIツールを導入したが、現場で使われない」を終わらせる。
業務課題のヒアリングから設計、ハンズオン実践、運用定着まで一貫して支援します。