1台のAIに仕事を頼んでいる間、ほかのAIはぼーっとしている——Claude CodeのGit Worktree対応が、この非効率を解消した。
「1人ずつ順番に」という無駄
Claude Codeで開発を進めているとき、よくある状況がある。認証機能の実装をClaudeに頼んでいる。終わるまで15分かかる。その間、支払い機能のバグ修正もやってほしいのに、前のタスクが終わるまで次を頼めない。
1人の職人が1つの作業台で仕事をしている状態だ。工房に職人が3人いても、作業台が1つなら結局は順番待ちになる。
これはAIの能力の問題ではない。「場所の問題」だ。
複数のClaude Codeを同時に起動しようとすると、互いのファイル変更が衝突する。Aが auth.ts を書き換えている間に、Bが同じファイルに別の変更を加えようとすれば、どちらかが上書きする。これまでは、その衝突を避けるために順番に動かすしかなかった。
Git Worktreeとは何か
Git Worktreeは、Gitに組み込まれた機能だ。1つのリポジトリから、複数の作業ディレクトリ(ファイルが展開されている場所)を同時に作れる。
共有の本棚と、別々の机の関係で考えると分かりやすい。
gitのコミット履歴という「共有の本棚」は1つある。そこから必要なブランチを取り出して、それぞれ別の机(worktree)に広げる。机の上の本を読み進めても、別の机には影響しない。読み終わって本棚に返却すれば、最新の情報が全員の手に届く。
技術的には以下の構造になっている:
.gitディレクトリ内のオブジェクトデータベース(コミット履歴)は共有- 作業ディレクトリ(実際のファイル群)は独立
つまり、エージェントAが feature-auth/ で auth.ts を書き換えても、エージェントBが bugfix-payment/ で見ている auth.ts には一切影響しない。同じリポジトリの別々の場所で、干渉なしに並列作業ができる。
同じブランチを2つのworktreeで同時にチェックアウトすることはgit側で禁止されている。別々のブランチであれば問題ない。
2026年2月21日、CLIが変わった
Claude Code デスクトップアプリは以前からworktreeに対応していた。2026年2月21日、AnthropicのBoris Cherny(Claude Code プロダクトリード)がCLI版の対応をThreadsとXで発表した。
"Introducing: built-in git worktree support for Claude Code. Now, agents can run in parallel without interfering with one another. Each agent gets its own worktree and can work independently." — Boris Cherny
v2.1.49で --worktree (-w) フラグが追加され、v2.1.50でフック対応(後述)が追加された。CLI・デスクトップ・IDEプラグイン・Web・モバイルの全プラットフォームで利用できる。

実際の使い方
基本:並列でエージェントを起動する
# ❌ これまでの方法:終わるまで次を頼めない
claude "認証機能を実装して"
# 終わったら...
claude "支払いのバグを修正して"
# ✅ worktreeを使えば同時に走らせられる
# ターミナル1: 認証機能の開発
claude --worktree feature-auth
# ターミナル2: バグ修正(別の作業台で同時進行)
claude --worktree bugfix-payment
# ターミナル3: 名前省略でランダム命名(例: bright-running-fox)
claude --worktree
-w はショートフォームだ。claude -w feature-auth でも同じ動作をする。
worktreeは .claude/worktrees/<name>/ に作成され、ブランチ名は worktree-<name> となる。セッション終了時、変更がなければ自動削除される。変更やコミットがあれば確認プロンプトが出て、保持するか削除するかを選べる。
.gitignoreの設定
worktreeディレクトリがgitに追跡されると、不要なファイルがコミットに混入する。
# ❌ .gitignoreに追加しないと...
git status
# → .claude/worktrees/feature-auth/ が未追跡ファイルとして表示される
# ✅ .gitignoreに追加する
echo ".claude/worktrees/" >> .gitignore
git add .gitignore
git commit -m "chore: ignore claude worktrees"
公式が推奨する設定だ。
サブエージェントに「常にworktreeを使え」と指示する
Claude Codeにはサブエージェント(指示を受けて動く子エージェント)の仕組みがある。この設定ファイル(エージェントフロントマター)に isolation: worktree を1行追加するだけで、そのエージェントが動くたびに自動でworktreeが作られる。
---
name: backend-agent
description: APIエンドポイントを実装する専門エージェント
isolation: worktree
---
バックエンドのAPIエンドポイントを実装してください...
Boris ChernyのX投稿で説明されている設定だ。この一行で「このエージェントは常に独立した作業台を使う」という挙動になる。
incident.ioが実証した速度
「並列化すると速い」は直感的に分かる。では、実際どのくらい速くなるのか。
英国のSREツール企業incident.ioがブログで公開した数字が参考になる。
- 常時稼働エージェント数: 4〜5体
- JavaScriptエディタ機能の改善: 従来なら推定2時間かかるタスクを約10分で90%完成
- API生成ツールの実装: Claude利用料$8でビルド時間18%短縮(約30秒削減)
レストランの厨房で例えると分かりやすい。これまでは1人のシェフが前菜→メイン→デザートを順番に作っていた。worktreeを使えば、3人のシェフが同時に別々のコンロで作業できる。席についてから料理が出るまでの時間は、単純計算で3分の1になる。
incident.ioはさらに、カスタムbashラッパー w コマンドを自作した。worktreeの作成とClaudeセッションの起動をワンコマンドに集約している。
# ~/.bashrc または ~/.zshrc に追加
w() {
local repo=$1
local branch=$2
git worktree add "../${repo}-${branch}" -b "$branch"
cd "../${repo}-${branch}"
claude .
}
# 使用例: リポジトリ名 + ブランチ名で一発起動
w myapp feature-auth
またPlanモード(変更を加えずに計画だけ立てる)で使えば、6〜7体の並列稼働も現実的だという。
エコシステム:サードパーティツール
worktree対応を便利にするツールが、コミュニティから続々と登場している。
Crystal(GitHub: stravu/crystal)は、GitHubスター2.9kを超えるElectronデスクトップアプリだ。Claude CodeとCodexのセッションをGUIで管理し、自動コミット+スカッシュリベースでgit履歴をクリーンに保つ機能がある。「CLIは使いたくないが並列管理はしたい」というユーザー向けに適している。
agentree(GitHub: AryaLabsHQ/agentree)はGo製のCLIツールで、worktreeの作成・.envファイルのコピー・パッケージマネージャーの実行を自動化する。新しいworktreeを使えるようにするための手間を最小化してくれる。
ccswarm(GitHub: nwiizo/ccswarm)はRust製で、Frontend・Backend・DevOps・QA専門のエージェントプールを自動編成する。どのタスクをどのエージェントに割り当てるかも自動で管理する。
git-worktree-runner(GitHub: coderabbitai/git-worktree-runner)はCodeRabbitAIが公開したツールで、Claude・Cursor・Copilot・Geminiと幅広く対応している。
エージェントチームとWorktreeは何が違うのか
本サイトにはエージェントチーム機能の解説記事がある。「エージェントを複数使う」という点では共通しているが、目的が根本的に異なる。
部屋と会議室の違いで考えると分かりやすい。Worktreeは「部屋の分離」。それぞれの部屋で独立して仕事を進める。干渉は起きない。エージェントチームは「会議室」。部屋を集めて、全員で議論しながら作業を進める。
独立して進められるタスク(並行開発・並行バグ修正など)にはworktreeが適している。複雑な設計判断や、互いの発見を踏まえて作業する必要があるならエージェントチームを検討する。
使う前に知っておくべき制限
ディスク使用量が増える。 worktreeはリポジトリのファイル一式をコピーする仕組みだ。エージェント数が増えるほど、リポジトリサイズに比例してディスク使用量が増加する。SSDの空き容量は余裕をもって確保しておく必要がある。
ローカルDBやDockerは共有される。 worktreeが分離するのはファイルだ。ローカルで動いているPostgreSQLやDockerデーモンは全エージェントで共有される。複数のエージェントが同じDBを同時に書き換えようとすると、競合が起きる可能性がある。DB更新を伴う並列作業をする場合は、テスト用DBを分けるか、書き込みタイミングを調整する必要がある。
非GitのVCSには追加設定が必要。 SVN・Perforce・Mercurialを使っている環境では、v2.1.50で追加された WorktreeCreate/WorktreeRemove フックを使ってカスタム実装することで対応できる。
「逐次処理」から「並列処理」へ
Claude Code v2.1.49で追加された --worktree (-w) フラグは、コマンド1つで複数のAIエージェントを干渉なしに並列稼働させる手段を提供する。
設定は最小限だ。.gitignore に1行追加して、ターミナルを複数開いて、それぞれで claude --worktree <ブランチ名> を実行する。それだけで、これまで順番に待つしかなかった作業が同時に進む。
incident.ioが示した「2時間のタスクが10分で90%完成」という数字は、極端に見えて実は単純な算数だ。3つの独立したタスクを並列化すれば、かかる時間は3分の1に近づく。AIが速くなったのではなく、使い方が変わった。
まずターミナルを2つ開いて、別々の --worktree で走らせてみるところから始めてほしい。
バージョン情報
- v2.1.49(2026年2月19日):
--worktree (-w)フラグ追加、isolation: "worktree"フロントマター対応、background: trueサポート、Ctrl+Fでバックグラウンドエージェント停止 - v2.1.50(2026年2月20日):
WorktreeCreate/WorktreeRemoveフック追加(非Git VCS対応)、LSPサーバーのstartupTimeout設定追加、メモリリーク6件修正