電通総研 テックブログ

電通総研が運営する技術ブログ

VSCode標準のgit worktree管理機能でClaude Codeを並列実行する

はじめに

こんにちは、クロスイノベーション本部エンジニアリングテクノロジーセンターの小澤英泰です。
Claude Codeなどのコーディングエージェントをgit worktreeを使って並列実行している方も多いのではないでしょうか。
これまではgitコマンドやサードパーティ製のVSCode拡張機能を利用してworktreeを管理するのが一般的でしたが、VSCode 2025年7月版(version 1.103)から標準でgit worktreeの管理機能がサポートされました。
これによりVSCodeGUIで直接worktreeを管理できるようになり、複数のブランチでClaude Codeを同時に実行することが容易になりました。
本記事では、VSCodeGUIでworktreeを作成し、Claude Codeを並列実行する手順を紹介します。

前提

  • VSCodeのversionが1.103以上であること
  • VSCodeの設定のgit.detectWorktreesが有効であること

worktreeの作成

  1. VSCodeでgitリポジトリを開く
  2. worktreeの検証用ブランチ(worktree/a、worktree/b)を作成
  3. サイドバーのソース管理を開く
  4. 該当のリポジトリの「・・・」を開く
  5. 「Worktrees」を展開し「Create Worktree」をクリック
    worktreeの作成
  6. 作成済みのworktree/aブランチを選択
    worktreeの選択
  7. worktreeのパス指定
    worktreeのパスの指定

worktreeを1つ作成できました。
worktree1つ作成後
上記ステップ4~8をworktree/bブランチでも同様に実施します。
worktree2つ作成後
worktree-aとworktree-bの2つのworktreeを作成できました。簡単ですね。

次はworktreeごとにウィンドウを開きます。

  1. worktree-aの「・・・」を開く
  2. 「Worktrees」を展開し「Open Worktree in New Window」をクリック
    新しいウィンドウでworktreeを開く

worktree-a用のウィンドウが準備できました。
worktree-aのウィンドウ
上記ステップ1~2をworktree-bでも同様に実施し、worktree-b用のウィンドウを別で開きます。
worktree-bのウィンドウ

以上で2つのworktreeを作成できました。また、別々のウィンドウを開くことで同時作業可能な環境が整いました。

worktree作成時の注意点

worktree間のファイル共有

.gitignoreに含まれるファイルはworktree間で共有されません。envファイルのコピーや依存関係のインストールは各worktreeで実行してください。

DevContainerの利用

DevContainer上で開発し、remoteUserをroot以外に指定した場合、worktreeの作成が権限不足で失敗します。

git worktree add /workspaces/vscode-git-worktree.worktrees/worktee-a worktee/a
Preparing worktree (checking out 'worktee/a')
fatal: could not create leading directories of '/workspaces/vscode-git-worktree.worktrees/worktee-a/.git': Permission denied

下記で所有者を変更後、worktreeを作成し直してください。

sudo mkdir -p /workspaces/vscode-git-worktree.worktrees
sudo chown -R $(whoami):$(whoami) /workspaces/vscode-git-worktree.worktrees

Claude Code の並列実行

Claude Codeの実行は通常通りです。各worktreeでClaude Codeを起動して「1. Yes proceed」を選択するだけです。
Claude Codeの利用
以降、各worktreeのウィンドウで、Claude Codeを並列実行することができます。

worktreeでのコード変更の見え方

コミット前にworktreeを削除すると変更内容が失われるため、生成したコードは忘れずにコミットしましょう。
worktreeを利用するとコード変更の見え方が若干変わります。各worktreeのウィンドウでコミットする方法が安全そうですね。

  • 各worktreeのウィンドウでコミットする場合、通常のコミット操作と同じです。
  • mainのウィンドウからコミットする場合、変更のエリアに複数のworktreeでの変更が表示されるので適切に選択しましょう。

worktree-aのウィンドウ
worktree-aのウィンドウのコード変更
worktree-bのウィンドウ
worktree-bのウィンドウのコード変更
mainのウィンドウ
mainのウィンドウでのコード変更の見え方

worktreeの削除

最後にworktreeの削除方法を説明します。削除前に変更がコミット済みであることを確認しましょう。

  1. mainのウィンドウに戻る
  2. サイドバーのソース管理を開く
  3. 削除対象のworktreeの「・・・」を開く
  4. 「Worktrees」を展開し「Delete Worktree」をクリック
    worktreeの削除

以上でworktreeを削除できました。

さいごに

本記事では、VSCodeGUIでworktreeを作成し、Claude Code を並列実行する方法を紹介しました。
VSCodeのgit worktreeサポートのIssueは2019年に作成されていましたが、2025年に実装された待望の機能です。
VSCodeのgit worktree管理機能とClaude Codeで、より良い開発者体験を実現しましょう。

私たちは一緒に働いてくれる仲間を募集しています!

電通総研 キャリア採用サイト 電通総研 新卒採用サイト

執筆:@ozawa.hideyasu
レビュー:@nakamura.toshihiro
Shodoで執筆されました