はじめに
Claude Codeを一つのプロジェクトで複数並行で使用したい時ありませんか。
複数タブでClaude Codeを起動してみるものの、不意にエディタ自体を削除や再起動してしまったときに、一つのタブでしか再開できなかったり、指示するタブを間違えてしまったりと不便でした。
そこで、git worktreeを使うと並行処理ができると耳にし試してみることにしました。
環境
- VS Code
- Claude Code
- GitHub
git worktreeとは
公式ドキュメント:
ざっくり説明すると、指定のブランチから別ディレクトリ扱いのブランチが切れるイメージです。
もう少し正確に言うとgit worktree addを使うと以下の通りです。
- 別の物理ディレクトリに、別のブランチをチェックアウトできる
- でもリポジトリ自体は同じもの(共有)
- コミット履歴、ブランチ、リモート設定などは全て共有される
- 各ディレクトリで独立して作業できる(HEADやindexは別々)
実際の動作
worktreeを作成
origin/masterから../hogedirにworktree fix-hogeをcheckoutします。
git worktree add ../hogedir -b fix-hoge origin/master
worktreeの確認
git worktree list
実行結果
/path/to/ec-php-to-laravel dcce251 [master]
/path/to/hogedir dcce251 [fix-hoge]
VS CodeのGit管理でも作成したworktreeを確認することができました。
作成したworktreeからGitHubへpush
/path/to/hogedirでVS Codeを開くと、想定通りfix-hogeブランチでの作業ができました。
念のためGitHubにpushしたところfix-hogeブランチができておりmainへのPRも作成できました。
Claude Codeを起動
/path/to/hogedirでClaude Codeを起動してみました。
初めてClaude Codeを使うときの表示が出ました。
別プロジェクトとして捉えているようです。
一度Claude Codeを閉じてからclaude -cで起動させてみたところ、
別ブランチと混ざることなく、同一ブランチでのセッションが再開されました。
おわりに
別ブランチで並行作業ができるということで、細かくコミットしたいけど、別タブの作業のほうが早く終わりそうだし、、という葛藤も無くなりそうです。
git worktreeを活用し、ストレスフリーなClaude Codeライフを目指します。
追記
worktreeは完全に別ディレクトリでの作業となるため、以下の点に考慮する必要があります。
- gitに未反映のものは作成したworktreeに引き継げない
- ポートの競合への配慮
そのため、開発当初からworktreeを使う前提で進めるのが良さそうです。
また、急ぎの場合はリスクを承知で複数タブを用いてClaude Codeの並行作業を実施するのもやむなしだと感じました。



