Claude Code Worktree — Git 分離で並列エージェントを衝突なく
2026-10-20 時点、Claude Code は git worktree で並列セッションを分離します。claude --worktree feature-auth で .claude/worktrees/ に独立した作業ツリーを作り、ブランチ名は worktree-feature-auth。サブエージェントは isolation: worktree を設定できます。終了時は失われる変更に応じて確認されます。
Worktree とは、なぜ重要か
git worktree は同じリポジトリに追加する作業ディレクトリで、独立した working tree とブランチを持ちながら .git 履歴とリモートを共有します。Claude Code は並列セッションごとに worktree を使います:claude --worktree feature-auth(または -w)はリポジトリ直下の .claude/worktrees/feature-auth/ にディレクトリを作り、ブランチ名は worktree-feature-auth です。セッション A が機能 X、B がバグ Y を担当してもファイルは干渉しません。
EnterWorktree ツールと isolation 設定
セッション中に Claude に worktree で作業するよう頼むと、EnterWorktree ツールで作成します。.claude/worktrees/ の外のパスに入る前には承認が必要です(v2.1.206 より前は確認なしで既存 worktree に入れました)。カスタムサブエージェントの frontmatter に isolation: worktree を書くと、呼び出されるたびに一時 worktree が使われます。.claude/worktrees/ を .gitignore に追加し、.worktreeinclude で .env など無視対象のファイルを新しい worktree に持ち込めます。
サブエージェントの worktree と並列エージェント
サブエージェントもそれぞれ worktree で動かせます。Claude に「use worktrees for your agents」と頼むか、カスタムサブエージェントに isolation: worktree を追加します。各サブエージェントは一時 worktree を受け取り、変更なしで終われば自動削除されます。変更があれば、定期クリーンアップが作業を失わずに削除できるまでディスクに残ります。例:3 つのエージェントが a) auth の書き換え、b) ユニットテスト追加、c) マイグレーション作成を同時に行い、ファイルは衝突せず最後に人手でマージします。
自動クリーンアップと一般的な落とし穴
対話型の worktree セッションを終了すると、Claude は変更・未追跡ファイル・新しいコミットを確認します。変更のない名前なしセッションは自動で削除され、名前付きセッションは先に確認し、変更がある場合は保持するか削除するかを尋ねます。-p での実行は自動ではクリーンアップされません。落とし穴:1) エージェント間のブランチ名衝突、2) 変更のあるサブエージェントの worktree は定期クリーンアップまでディスクに残る、3) .claude/worktrees/ を .gitignore に追加し忘れる。チームでブランチ prefix(wt/agent-<name>-<ts>)を統一すると衝突を避けられます。
FAQ
通常の git branch と本質的に何が違いますか?
ブランチはコミットのポインタで、切り替えるには checkout が必要でファイルを上書きします。worktree は独立した作業ディレクトリなので、複数のブランチを別々の物理パスに同時に checkout できます。並列エージェント実行の前提です。
サブエージェント worktree がメインリポジトリを汚しませんか?
いいえ。各サブエージェントは一時 worktree を受け取り、git は .git/worktrees/<id> で管理します。変更のないサブエージェント worktree は自動削除され、変更があれば定期クリーンアップが作業を失わずに削除できるまで残るため、メインの checkout はきれいなままです。
中国国内から Claude Code worktree を使えますか?
使えます。worktree はローカルの git と Claude Code クライアントの機能で、モデル推論は設定した QCode のエンドポイントを通ります。worktree には git リポジトリが必要で、他のバージョン管理では WorktreeCreate / WorktreeRemove hooks で git の処理を置き換えます。
QCode 経由で Claude Code 並列エージェントを実行
モデル推論は QCode の API エンドポイントを通り、worktree はローカルで動きます。並列セッションは上記のコマンドで開始できます。
QCode プランを開始