創刊準備号 · 2026年秋English · RSS
AgentKoji

PR一部の記事にはアフィリエイトリンクを含みます。経由して申し込まれると、当サイトに報酬が入ることがあります。評価は変えません。 アフィリエイト開示

AIエージェントの並列実行

Claude Codeは--worktreeでセッションごとにgit worktreeを作れます。並列で動かす手順と片付け方が分かります。

要点(TL;DR)

  • 同じリポジトリで Claude Code のセッションを2つ同時に動かすなら、git worktree でエージェントごとにディレクトリとブランチを分けます。
  • 1つのブランチは1つの worktree でしか取り出せません。rm で消したときは git worktree prune で掃除します。
  • Claude Code の --worktree は .claude/worktrees/<name>/ に worktree-<name> ブランチで作ります。依存や .env は入っていないので、.worktreeinclude で gitignore 済みのファイルをコピーできます。

PR:この記事には、当サイトが参加するアフィリエイトプログラムの紹介枠(VPS)があります。紹介する基準は料金とリージョンだけです。

同じリポジトリで Claude Code のセッションを2つ同時に動かすなら、作業ディレクトリを分けます。分ける道具は git worktree です。この記事では、git worktree の基本操作、Claude Code の --worktree フラグ、worktree ごとの準備、並列数の決め方、片付けの順に説明します。並列で動かしたときの失敗例はサブエージェント並列運用の失敗集にまとめています。

なぜ作業ディレクトリを分けるのか

1つの作業ツリーで2つのエージェントを動かすと、ファイルの編集がぶつかります。片方の変更の途中で、もう片方がテストを走らせることもあります。ブランチの切り替えや git stash も、もう片方の作業を巻き込みます。

worktree を使うと、エージェントごとに別のディレクトリと別のブランチを持てます。履歴とリモートは共有するので、clone をもう1つ作るより軽く済みます。

git worktree の基本

編集部の検証環境で、使い捨てのリポジトリを作って試しました。git のバージョンは次のとおりです。

git version 2.54.0 (Apple Git-157)

新しいブランチ feature/login で worktree を作ります。

cd my-app
git worktree add ../my-app-login -b feature/login
Preparing worktree (new branch 'feature/login')
HEAD is now at f468d57 init

git worktree list で一覧を見ます。出力のパスは伏せています。

/tmp/my-app       f468d57 [main]
/tmp/my-app-login f468d57 [feature/login]

1つのブランチは、1つの worktree でしか取り出せません。 同じブランチで2つ目を作ろうとすると、git が止めます。

fatal: 'feature/login' is already used by worktree at '/tmp/my-app-login'

git worktree remove は、未追跡のファイルや変更が残っていると削除を拒みます。

fatal: '../my-app-login' contains modified or untracked files, use --force to delete it

worktree のディレクトリを rm で直接消した場合は、git worktree prune で管理用のファイルを掃除します。試しに作った worktree を rm で消してから実行した結果です。

$ git worktree add ../my-app-tmp -b tmp
Preparing worktree (new branch 'tmp')
HEAD is now at f468d57 init
$ rm -rf ../my-app-tmp
$ git worktree prune -v
Removing worktrees/my-app-tmp: gitdir file points to non-existent location

出典:https://git-scm.com/docs/git-worktree 、2026-10-18確認

Claude Code の —worktree

Claude Code には、worktree を作ってそこでセッションを始めるフラグがあります。今のバージョンの --help で確かめました。一時ディレクトリで実行し、npm view @anthropic-ai/claude-code version の結果も同じ 2.1.302 でした。

$ npx -y @anthropic-ai/claude-code@latest --version
2.1.302 (Claude Code)

  -w, --worktree [name]                 Create a new git worktree for this
                                        session (optionally specify a name)

使い方は次のとおりです。

claude --worktree feature-auth

worktree はリポジトリのルートの .claude/worktrees/<name>/ に作られます。ブランチ名は worktree-<name> です。別のターミナルで別の名前を付けて実行すれば、2つ目のセッションが始まります。公式は .claude/worktrees/ を .gitignore に入れるよう勧めています。

既定では、新しい worktree はリポジトリの既定のブランチ(通常は main)から作られます。今の作業の続きから分けたい場合は、設定の worktree.baseRef を "head" にします。

出典:https://code.claude.com/docs/en/worktrees 、2026-10-18確認

worktree ごとに要る準備

worktree は新しく取り出した作業ツリーです。node_modules などの依存は入っていないので、worktree ごとにインストールします。.env のような gitignore 済みのファイルもありません。Claude Code では、プロジェクトのルートに .worktreeinclude を置くと、一致したファイルが新しい worktree にコピーされます。書き方は .gitignore と同じです。

.env
.env.local

コピーされるのは、パターンに一致し、かつ gitignore されているファイルだけです。

出典:https://code.claude.com/docs/en/worktrees 、2026-10-18確認

秘密情報をエージェントの作業ディレクトリに置く範囲は、最小限にします。考え方はClaude Codeに秘密を渡さないで扱っています。開発サーバーのポートやローカルのデータベースは、worktree 間で共有されます。同時に起動するなら、worktree ごとにポートを変えます。

並列数の決め方

サブスクリプションのプランでは、使用量はすべてのセッションで共有されます。5時間ごとの上限と週ごとの上限があり、セッションを増やすほど早く上限に近づきます。

出典:https://support.claude.com/en/articles/11145838-use-claude-code-with-your-pro-or-max-plan 、2026-10-18確認

公式のコストのページによると、Agent teams で各メンバーを plan mode で動かすと、通常のセッションの約7倍のトークンを使います。チームは小さく保つよう書かれています。/usage の内訳では、最近の使用量のうち skill、サブエージェント、plugin、MCP サーバーがそれぞれ占める割合が出ます。この数字はそのマシンのセッション履歴から計算されるので、ほかの端末や claude.ai で使った分は含まれません。

出典:https://code.claude.com/docs/en/costs 、2026-10-18確認

並列数の上限として決まった数字は、公式には見当たりません(未確認)。

サーバーで並列に回すときの注意

手元のマシンを閉じても止めたくない場合は、VPS のような常駐サーバーで動かします。並列で動かすとメモリと CPU を同時に使うので、セッションの数に合わせてサーバーの大きさを選びます。tmux などで切断後もセッションを残します。worktree ごとに依存を入れるので、ディスクの空きも確かめます。構築の手順はAIエージェントをVPSで24時間動かすにあります。

国内で常駐用のサーバーを用意するなら、時間課金で試しやすい ConoHa VPS や、メモリ量でプランを選べる XServer VPS が候補です。料金とプランは変わるので、契約前に公式ページで確かめてください。

片付け

--worktree で始めた対話セッションを終えると、Claude Code が worktree の中身を確かめます。

-p を付けた非対話の実行では終了時に確認が出ないので、worktree は残ります。git worktree remove で消します。ロックされていれば、先に git worktree unlock を実行します。

出典:https://code.claude.com/docs/en/worktrees 、2026-10-18確認

まとめ

一部の記事にはアフィリエイトリンクを含みます。経由して申し込まれると、当サイトに報酬が入ることがあります。評価は変えません。 アフィリエイト開示