Claude Codeに本気で並列で仕事をさせたくなった時、たいていの人がたどり着くのがgit worktreeとの組み合わせです。複数のブランチでClaude Codeを並走させても、ファイル衝突に巻き込まれない作りができます。
この記事は、git worktreeの考え方とClaude Codeとの実用的な組み合わせを整理したものです。
なぜworktreeが要るのか
1つのリポジトリで複数のブランチを行き来する時、いちばん素直なのは git checkout でブランチを切り替える方法です。
ただ、Claude Codeを使い始めると、これでは足りない場面が出てきます。Aブランチで実装を走らせている最中に、Bブランチの調査もClaudeに頼みたい。同じフォルダで checkout で切り替えると、Aの作業が中断される。ターミナルだけ複数開いても、フォルダが同じだとClaudeが触るファイルが衝突します。
並列実行の選択肢全体は別記事に整理してあります。
worktreeは、この衝突問題を根本から解く道具です。
worktreeは「同じリポジトリの別フォルダ」
git worktreeは、1つのリポジトリを別の場所にも展開できる機能です。同じプロジェクトの分身を複数フォルダに持つ感覚、と考えると分かりやすい。
git worktree add ../myproject-feature feature-x
これで、../myproject-feature というフォルダに、feature-x ブランチがチェックアウトされた状態の作業空間ができます。元のフォルダはmainブランチのまま手つかず。Claudeが触る対象は、別フォルダの中身に閉じます。
新規追加なので、データのコピーは伴いません。.git本体は1つを共有しつつ、作業ファイルだけ別フォルダに展開する仕組みです。
Claude Codeをworktreeで並走させる
実際の動かし方は、ターミナルを2つ用意するだけです。
1番目のターミナルで、元のフォルダ(mainブランチ)に入り claude を起動。2番目のターミナルで、worktreeで作ったフォルダに cd して、そこでも claude を起動。それぞれが独立したセッションとして、別ブランチの作業空間に動きます。
ファイル衝突の心配がないので、長く回す実験ブランチと、本流の日常作業を、安心して並走できます。私はリファクタリング用のworktreeをよく作っていて、本流で記事を書きながら、別worktreeでメディア基盤の改修をClaudeに任せる、ということをしています。
ハマりやすいところ
経験から、注意点を3つ書いておきます。
ひとつめは、依存関係のインストール。worktreeを新しく作った直後は、node_modules が無い状態です。プロジェクトによっては npm install や pnpm install を改めて走らせる必要があります。これを忘れると、Claudeが「モジュールが無い」と詰まります。
ふたつめは、CLAUDE.mdの取り扱い。基本的にCLAUDE.mdはGitに入っているので、worktreeでも同じ内容が読まれます。ただ、worktree固有の前提(「ここは実験ブランチなので破壊的変更OK」など)を伝えたい時は、worktree側だけCLAUDE.mdを足すか、.claude/settings.local.json のような共有しないファイルに足すと整理しやすい。
みっつめは、worktreeの後始末。役目を終えたworktreeは git worktree remove ../myproject-feature でちゃんと消す。残したままにすると、フォルダだけ残って気持ち悪い状態になります。
私のいまの運用
参考までに書きます。
長く回す改修や、別アプローチを試したい実験は、必ずworktreeで切ります。本流のフォルダはmainブランチのまま、別フォルダに改修用ブランチを展開して、そこでClaudeを動かす。
完成したらPRを出してマージ。マージ後にworktreeを git worktree remove で消す、というルーチンです。プラン作成と組み合わせると、改修の見通しも立てやすくなります。
worktreeが要らない人もいる
最後に、現実的な話を。
worktreeは強力ですが、毎日使う必要はありません。普段の作業が1ブランチで完結するなら、わざわざ覚えなくてもいい機能です。
「並列に走らせたい」「実験ブランチを長く回したい」「本流を止めずに改修したい」のどれかに当てはまった時、初めて出番が来る道具、と捉えるくらいでちょうどよいです。
まとめ
- git worktreeは1つのリポジトリを別フォルダに展開できる機能
- Claude Codeを別ブランチで並走させると、ファイル衝突が物理的に避けられる
- 追加は
git worktree add、削除はgit worktree remove - 注意点は依存関係の再インストール、CLAUDE.mdの扱い、後始末の3つ
- 長く回す改修・実験ブランチ・本流を止めない並走に向く
- 普段の1ブランチ運用で足りるなら、無理に覚えなくてよい応用機能





