Conductor 終了後どうする?Conductor なしで Claude Code / Codex を並列実行する git worktree 実践ガイド

Meta が Conductor を買収しました。公式発表によると、Conductor Cloud は 11 月 13 日に読み取り専用、11 月 20 日にサービス終了となりクラウドデータの削除が始まります。ローカルの Mac 版は 2027 年初めまで更新が続きます。本記事では日程とエクスポートすべきものを整理したうえで、Conductor なしで同じことをする方法を紹介します。タスクごとに git worktree を 1 つ、worktree ごとに Claude Code か Codex のセッションを 1 つ、API Key を設定し、最後にマージ・検証・後片付け。claude --worktree、codex --worktree、マージコンフリクトの実測と、Orca、Emdash、Claude Squad などの代替ツールも掲載。

13 分钟阅读
Conductor 終了後どうする?Conductor なしで Claude Code / Codex を並列実行する git worktree 実践ガイド

要点:

  • Conductor の公式発表によると、Conductor は Meta に加わります。11 月 4 日から新規登録とダウンロードを停止し、Conductor Cloud は 11 月 13 日に読み取り専用、11 月 20 日にサービス終了となり、クラウドのユーザーデータの削除が始まります。ローカルの Mac 版は 2027 年初めまで新モデルと重要な修正が提供され、その後段階的に終了します。
  • まだ Conductor Cloud を使っている場合は、11 月 13 日までに各ワークスペースを右クリックして「Transfer to local」を選ぶか、Settings → Account → Export data で全データをエクスポートしてください。
  • Conductor の中核は ワークスペースごとに git worktree とブランチを 1 つずつ 用意する仕組みで、公式ドキュメントにもそう書かれています。これは Conductor がなくてもできます。git worktree add でディレクトリを作り、それぞれで Claude Code か Codex を起動し、終わったらメインブランチにマージするだけです。
  • 11 月 5 日の実測では、2 つの worktree で Claude Code と Codex を同時に走らせ、それぞれが関数とテストを書きました。合計 66.3 秒(Claude Code 27.0 秒、Codex 66.3 秒)で、マージ後に 11 個のテストがすべて通りました。Claude Code の claude -w と Codex の --worktree でも worktree を自動で作れます。
  • GUI が欲しい場合は、オープンソースの Orca(MIT)、Emdash(Apache-2.0)、ターミナル版の Claude Squad(AGPL-3.0)があります。

API Key を作成して、Claude Code と Codex でタスクを並列実行する →

公式のスケジュール

日付何が起きるかやること
11 月 4 日(水)Conductor が Meta への合流を発表。新規登録とダウンロードを停止。既存ユーザーは Pro にアップグレード不可、既存の Pro ユーザーは Pro 機能を継続利用新規ユーザーはもうインストールできないので、下の方法へ
11 月 13 日(金)Conductor Cloud のワークスペースが読み取り専用に。過去のチャットの閲覧とエクスポートは可能、新しいメッセージは送れない。有効な購読者には返金この日までにクラウドのワークスペースを「Transfer to local」
11 月 20 日(金)Conductor Cloud 終了、クラウドのユーザーデータ削除開始この日までに Settings → Account → Export data
2027 年初めローカル版 Conductor が段階的に終了。それまでは新モデルと重要な修正を提供ローカル版はまだ使えるが、今のうちに依存しない手順へ移るのがおすすめ

日付は Conductor の発表と 0.93.0 の変更履歴によります。TechCrunchによると、Meta は買収を認めたものの詳細は明かしていません。Axiosによると、Conductor は Charlie Holtz と Jackson de Campos が創業し、金銭的条件は非公開です。X にもトレンドのニュースまとめがあります。

Conductor がやっていることを 4 ステップに分解

Conductor のドキュメントによると、新しいワークスペースを作るたびに git worktree が作られてブランチがチェックアウトされ、通常は ~/conductor/workspaces/<リポジトリ名>/<ワークスペース名> に置かれます。エージェントはそのディレクトリのファイルだけを編集し、テストもそこで実行され、ブランチがレビュー・プッシュ・PR の単位になります。

つまり Conductor を外したとき、自分で補うのは 4 ステップだけです。

  1. 1 タスク 1 ディレクトリ:git worktree add でタスクごとに専用のディレクトリとブランチを作る。
  2. 1 ディレクトリ 1 セッション:各ディレクトリで Claude Code か Codex を 1 つ起動する。
  3. モデルの設定:Claude Code と Codex を同じ API Key につなぐ。
  4. マージと検証:各ブランチでテストしてコミットし、main にマージしてから worktree を削除する。

git worktree は Git の標準機能です。1 つのリポジトリに複数の作業ディレクトリを持たせ、コミット履歴は共有しつつファイルは別々なので、2 つのエージェントが同じファイルを編集してもディスク上で上書きし合いません。

ステップ 0:API Key を作成して Claude Code と Codex につなぐ

  1. aicodewith.ai で登録してログインし、左のナビゲーションバーの「キー管理」をクリックします。
  2. 右上の「キーを作成」をクリックし、ダイアログでわかりやすい名前(例:「並列エージェント - MacBook」)を付けます。
  3. 確定したらすぐにキー全体をコピーして保管します。ダイアログを閉じるとキー全体は二度と表示されません。なくした場合は削除して作り直すしかありません。詳しくは API Key の作成ドキュメントを参照してください。

API Key を作成する →

Codex はグローバルの ~/.codex/config.toml を読むので、すべての worktree でこの 1 ファイルを共有でき、ディレクトリごとの設定は不要です。

toml
# ~/.codex/config.toml
model = "gpt-6.1-sol"
model_provider = "aicodewith"

[model_providers.aicodewith]
name = "aicodewith"
base_url = "https://api.aicodewith.ai/chatgpt/v1"
wire_api = "responses"
experimental_bearer_token = "YOUR_API_KEY"

Claude Code は ~/.claude/settings.json を読み、こちらもグローバルに効きます。

json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
    "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY"
  }
}

Codex をまだ入れていない場合は「Codex インストールガイド」を、config.toml の各項目は「Codex config.toml 設定ガイド」を、Claude Code の他の設定方法は「Claude Code をサードパーティ API につなぐ方法」を参照してください。

ステップ 1:タスクごとに worktree を 1 つ

始める前に、ビルド成果物とエージェントが作る worktree のディレクトリを .gitignore に追加しておきます。最初の実測ではこれを忘れ、マージが __pycache__ に止められました(ステップ 4 参照)。

bash
# メインのチェックアウトで、まずビルド成果物とエージェントが作る worktree を無視する
cat >> .gitignore <<'EOF'
__pycache__/
node_modules/
.claude/worktrees/
EOF
git add .gitignore && git commit -m "ignore build output and agent worktrees"

続いてタスクごとに worktree を作ります。

bash
cd ~/code/demo                      # あなたのリポジトリ
git switch main && git pull
git worktree add ../demo-wt/slugify  -b feat/slugify
git worktree add ../demo-wt/truncate -b feat/truncate
git worktree list

出力:

text
~/code/demo              a97cf41 [main]
~/code/demo-wt/slugify   a97cf41 [feat/slugify]
~/code/demo-wt/truncate  a97cf41 [feat/truncate]

タスクが多いときは小さなスクリプトが便利です。名前を渡すとディレクトリと agent/<名前> ブランチを作り、パスを表示します。

bash
#!/usr/bin/env bash
# new-task.sh <name> [base]   タスク用ディレクトリを作ってパスを表示
set -euo pipefail
name="${1:?usage: new-task.sh <name> [base]}"
base="${2:-main}"
repo="$(git rev-parse --show-toplevel)"
wt="$(dirname "$repo")/$(basename "$repo")-wt/$name"
git -C "$repo" worktree add -q "$wt" -b "agent/$name" "$base"
echo "$wt"

使い方:

bash
cd "$(./new-task.sh fix-login)" && claude
cd "$(./new-task.sh add-export)" && codex

注意:worktree には Git が追跡しているファイルしか入りません。.env や node_modules のようにコミットしていないものは新しいディレクトリに現れないので、コピーするか依存関係を入れ直してください。Conductor の「Configure your project」がやっているのはこの部分です。

ステップ 2:ディレクトリごとに Claude Code か Codex を起動

対話モード:ターミナルのタブを 2 つ開き、それぞれ別の worktree に cd してから claude か codex を実行します。tmux を使えば 1 画面で 2 つ見られます。

bash
# 左に Claude Code、右に Codex
tmux new-session -d -s agents -c ../demo-wt/slugify  "claude"
tmux split-window -h -t agents -c ../demo-wt/truncate "codex"
tmux attach -t agents

実測では、Claude Code も Codex も各 worktree を初めて開いたときに一度だけ「このフォルダを信頼するか」を聞いてきました。新しいパスだからです。

非対話モード:タスクがはっきりしていて結果だけ欲しいときは、claude -p と codex exec をバックグラウンドで同時に走らせます。

bash
PA="Add textkit/slug.py with slugify(s) ... Add tests/test_slug.py ... Only create these two files. Then run: python3 -m unittest discover -s tests -v"
PB="Add textkit/truncate.py with truncate(s, width, suffix='...') ... Add tests/test_truncate.py ... Only create these two files. Then run the tests."

(cd ../demo-wt/slugify  && claude -p "$PA" --allowedTools "Write,Edit,Read,Bash(python3:*)") &
(cd ../demo-wt/truncate && codex exec -s workspace-write "$PB") &
wait

プロンプトに「Only create these two files」と書いて 2 つのタスクのファイル境界を分けておくと、マージでコンフリクトしません。タスクの分け方は「Codex Subagents でタスクを分割する方法」も参考になります。

ステップ 3:実測結果

テスト環境:2026 年 11 月 5 日 06:16–06:30(北京時間、UTC+8)、Linux、Claude Code 2.1.318、codex-cli 0.166.0(モデル gpt-6.1-sol)、当サイトの Key。HOME と CODEX_HOME は隔離したディレクトリを指し、テスト用リポジトリは関数が 1 つだけの小さな Python パッケージ textkit です。

2 つのタスクを同時に開始しました。Claude Code は feat/slugify で slugify() を、Codex は feat/truncate で truncate() を書き、どちらも単体テストを追加して自分で実行します。

text
[Claude Code 2.1.318 · ~/code/demo-wt/slugify · feat/slugify]
All 7 tests pass. I added `textkit/slug.py` and `tests/test_slug.py`,
and those are the only files I created.
[exit 0, 27.0 s]

[Codex 0.166.0 · ~/code/demo-wt/truncate · feat/truncate]
workdir: ~/code/demo-wt/truncate
model: gpt-6.1-sol
provider: aicodewith
sandbox: workspace-write
...
Ran 5 tests in 0.000s
OK
[exit 0, 66.3 s]
項目結果所要時間
Claude Code(worktree feat/slugify)新規ファイル 2 つ、テスト 7 件成功27.0 秒
Codex(worktree feat/truncate)新規ファイル 2 つ、テスト 5 件成功66.3 秒
2 つ同時に走らせた合計遅いほうで決まる66.3 秒
2 つのブランチをマージコンフリクトなし、main でテスト 11 件成功1 秒未満
claude -w + codex exec --worktree を同時実行それぞれ関数とテストを 1 つ追加、テスト成功16.7 秒 / 24.4 秒
Claude Code でマージコンフリクトを解消両方の変更を残し、テスト 13 件成功17.5 秒

2 つのタスクは互いを待たないので、合計時間は遅いほうと同じです。順番に 1 つずつやれば 2 つの時間の合計になります。

ステップ 4:マージと検証

各 worktree でまずテストを実行してコミットし、すべてコミットしたらメインのディレクトリに戻って順にマージします。

bash
# 各 worktree で:テストを実行してからコミット
cd ../demo-wt/slugify
git status --short
python3 -m unittest discover -s tests
git add -A && git commit -m "feat: slugify"
# メインのチェックアウトに戻ってマージ
cd ~/code/demo
git merge --no-ff feat/slugify
git merge --no-ff feat/truncate
python3 -m unittest discover -s tests -v

マージ結果:

text
*   9765c15 merge truncate
|\
| * 55ce497 feat: truncate
* |   b7b9d4c merge slugify
|\ \
| |/
|/|
| * c5c0b99 feat: slugify
|/
* a97cf41 init textkit

Ran 11 tests in 0.000s
OK

最初のマージではこのエラーが出ました。

text
$ git merge --no-ff feat/slugify
error: The following untracked working tree files would be overwritten by merge:
	tests/__pycache__/test_core.cpython-313.pyc
	textkit/__pycache__/__init__.cpython-313.pyc
	textkit/__pycache__/core.cpython-313.pyc
Please move or remove them before you merge.
Aborting

テスト実行で生成された __pycache__ がブランチにコミットされ、メインのディレクトリにある同名の未追跡ファイルがマージを止めたのが原因です。Claude Code もタスク終了時にこの点を指摘していました。対策はステップ 1 の .gitignore です。すでにコミットしてしまった場合は、ブランチで git rm -r --cached してからマージします。

検証チェックリスト:

  • 各ブランチの git status --short に想定どおりのファイルだけがある
  • 各ブランチのテストが通り、マージ後に main で全テストをもう一度実行する
  • 2 つのブランチが同じファイルを変更していたら、次の節の方法でコンフリクトを処理する

終わったら worktree とブランチを削除します。

bash
git worktree remove ../demo-wt/slugify
git worktree remove ../demo-wt/truncate
git branch -d feat/slugify feat/truncate
git worktree prune
git worktree list

git コマンドを打ちたくない:claude -w と codex --worktree

どちらの CLI も今は自分で worktree を作れます。実測したバージョンでは、claude --help に -w, --worktree [name] があり、codex --help と codex exec --help の両方に --worktree(Run the session in a new managed Git worktree)があります。公式の説明は Claude Code のドキュメントと Codex の worktree ドキュメントにあります。

bash
# Claude Code: リポジトリのルートで実行
claude -w words                   # = claude --worktree words
# Codex: 対話モードでも非対話でも可
codex --worktree
codex exec --worktree -s workspace-write "Add title_case() to textkit/core.py ..."

2 つのセッションを同時に走らせたあとの git worktree list:

text
$ git worktree list
~/code/demo                             987a3ea [main]
~/code/demo/.claude/worktrees/words     987a3ea [worktree-words] locked
~/.codex/worktrees/f0c2/demo            987a3ea (detached HEAD)

実測で気づいた注意点は 3 つです。

  • 作られる場所が違う:Claude Code はリポジトリ内の .claude/worktrees/<名前> に worktree-<名前> ブランチで作り、Codex は ~/.codex/worktrees/ 以下にブランチなしの detached HEAD で作ります。.claude/worktrees/ を .gitignore に入れ、Codex 側はマージ前にブランチを作ってください。
  • Claude Code の worktree はロックされる:セッション終了後もロックが残るので、そのまま git worktree remove するとエラーになります。先に git worktree unlock が必要です。
  • 同じファイルを触る 2 タスクはコンフリクトする:今回はわざと両方に textkit/core.py へ関数を追加させました。

コミットとマージ:

bash
# Claude Code の worktree はすでに worktree-words ブランチ上
cd ~/code/demo/.claude/worktrees/words
git add -A && git commit -m "feat: count_words"
# Codex の worktree は detached HEAD なので先にブランチを作る
cd ~/.codex/worktrees/f0c2/demo
git switch -c feat/title-case
git add -A && git commit -m "feat: title_case"
cd ~/code/demo
git merge --no-ff worktree-words
git merge --no-ff feat/title-case

2 つ目のマージでコンフリクトしました。

text
Auto-merging tests/test_core.py
CONFLICT (content): Merge conflict in tests/test_core.py
Auto-merging textkit/core.py
CONFLICT (content): Merge conflict in textkit/core.py
Automatic merge failed; fix conflicts and then commit the result.

コンフリクトの解消はエージェントに任せられます。ただし claude -p には --permission-mode acceptEdits が必要です。最初は --allowedTools だけを渡したところ、Claude Code のファイル書き込みがブロックされ、コンフリクトはそのまま残りました。

bash
claude -p "This repo is in the middle of a git merge with conflicts in textkit/core.py and tests/test_core.py. Keep both sides, remove the conflict markers, run python3 -m unittest discover -s tests, and report the result. Do not commit." \
  --permission-mode acceptEdits \
  --allowedTools "Edit,Read,Bash(python3:*),Bash(git status:*),Bash(git diff:*)"
# コンフリクトマーカーが残っていないのを確認してからコミット
grep -rn '<<<<<<<' textkit tests
git add textkit/core.py tests/test_core.py && git commit -m "merge title_case"
python3 -m unittest discover -s tests -v

出力:

text
A grep found no conflict markers left in `textkit/` or `tests/`.
I didn't stage or commit anything, so git still lists both files as unmerged (`UU`).
[exit 0, 17.5 s]

Ran 13 tests in 0.001s
OK

後片付けで出たロック:

text
$ git worktree remove .claude/worktrees/words
fatal: cannot remove a locked working tree, lock reason: claude session words (pid ...)
use 'remove -f -f' to override or unlock first

$ git worktree unlock .claude/worktrees/words && git worktree remove .claude/worktrees/words
$ git worktree remove ~/.codex/worktrees/f0c2/demo
$ git branch -d worktree-words feat/title-case

GUI が欲しい:Conductor の代わりになるツール

GitHub でライセンスと説明を確認できたプロジェクトだけを挙げます。

ツール概要分離の仕組み対応環境ライセンス
Orca複数の CLI エージェントをまとめて扱うデスクトップアプリ。Claude Code、Codex、OpenCode などに対応タスクごとに git worktreemacOS、Windows、Linux、モバイルアプリもありMIT
Emdashコーディングエージェントを並列実行するデスクトップアプリ。diff レビューと PR 機能付きエージェントごとに worktree とブランチmacOS、Windows、LinuxApache-2.0
Claude SquadClaude Code、Codex、OpenCode、Amp などの複数セッションを管理するターミナルアプリtmux セッション + git worktreeターミナル(tmux が必要)AGPL-3.0
claude -wClaude Code に内蔵セッションごとに worktreeClaude Code が動く環境—
codex --worktreeCodex CLI に内蔵。Codex アプリにも worktree 機能ありセッションごとに worktreeCodex が動く環境—

どれも中身は git worktree なので、上の 4 ステップの考え方はそのまま使えます。Key は Claude Code と Codex のグローバル設定に入れておけば、どのツールからでもそのまま使えます。

並列にする前に、本当に並列が必要か考える

エージェントは多ければよいわけではありません。ファイルが重なるタスクは上のようにコンフリクトしますし、1 つのタスク内のステップはサブエージェントのほうが向いていることがよくあります。

シンプルな目安:互いに関係のない機能や修正は worktree で並列、1 つの機能の中の調査・コード・テストはサブエージェント。

API Key を作成して、Claude Code と Codex につなぐ →

よくある質問

ローカルの Conductor はいつまで使える?

公式発表によると、ローカル版は通常どおり動作し、2027 年初めまで新モデルと重要な修正が提供され、その後段階的に終了します。ダウンロードは停止済みなので、まだ入れていない人はもう入手できません。

Conductor Cloud のデータはどうエクスポートする?

ワークスペースを右クリックして「Transfer to local」を選ぶと、ワークスペースとチャットを Mac に移せます。全データは Settings → Account → Export data からエクスポートできます。11 月 13 日に読み取り専用になってもエクスポートは可能で、11 月 20 日から削除が始まります。

git worktree と 2 回 clone するのはどう違う?

worktree は同じ .git を共有します。コミット・ブランチ・リモート設定は 1 つで、片方のディレクトリでのコミットはもう片方からすぐ見え、リポジトリを再ダウンロードする必要もありません。制約は、同じブランチを 2 つの worktree で同時にチェックアウトできないことです。

エージェントは同時にいくつ動かすのがよい?

レビューしきれる diff の数までです。まずは 2〜3 個から始め、タスクごとにファイルの境界をはっきりさせるのがおすすめです。すべてのセッションで 1 つの Key を共有してもよく、各リクエストはコンソールの利用履歴で確認できます。

Windows でも使える?

git worktree、Claude Code、Codex はいずれも Windows に対応しています。tmux は WSL が必要です。Orca と Emdash はどちらも Windows 版を提供しています。

出典

相关文章

Claude Code のバックグラウンドサブエージェントが使用量を節約:2.1.316 でステータス行を Haiku 5.5 が作成、アップデート・確認・モデル設定の手順

Claude Code のバックグラウンドサブエージェントが使用量を節約:2.1.316 でステータス行を Haiku 5.5 が作成、アップデート・確認・モデル設定の手順

Anthropic 公式アカウント @ClaudeDevs によると、Claude Code のバックグラウンドサブエージェントが 30 秒ごとに更新するステータス行は、これまで毎回サブエージェントの会話全体を読み直していました。今後は Haiku 5.5 が短いメモから作成するため、1 回の更新あたり約 99% 少なくなり、バックグラウンドサブエージェントを使うセッションは使用上限の消費が約 5% 減り、同じ上限で約 6% 多くプロンプトを送れます。v2.1.316 以降が必要です。対象ユーザー、アップデートとバージョン確認、API Key で Claude Code 2.1.318 を使った実測、CLAUDE_CODE_SUBAGENT_MODEL・エージェントファイル・/tasks によるモデル設定を解説します。

Postman が Claude Code・Codex に勝手にプラグインを入れた?3 ステップで確認と削除(plugins、hooks、MCP、config.toml)

Postman が Claude Code・Codex に勝手にプラグインを入れた?3 ステップで確認と削除(plugins、hooks、MCP、config.toml)

GitHub issue #14370 と The New Stack によると、Postman デスクトップ版(macOS 12.33.4、12.35.1)が既存ユーザーのアップグレード時に Claude Code と Codex へ Postman プラグインを入れ、~/.codex/config.toml に trusted_hash を書き込んで自社の SessionStart フックを有効にしていました。本記事では経緯と Postman の回答、Claude Code・Codex・Cursor の 3 ステップ確認コマンド、公式の削除コマンドとそれで消えない残骸、そして Postman 公式インストーラーを隔離ディレクトリで動かした再現テストをまとめます。

DeepSeek Harness Creator Mode の使い方:インストール、サードパーティ API 接続、初めてのプラグイン作成を実機検証

DeepSeek Harness Creator Mode の使い方:インストール、サードパーティ API 接続、初めてのプラグイン作成を実機検証

11 月 2 日、DeepSeek Harness 公式アカウントが Creator Mode を紹介しました。作りたいツールを一文で伝えると、エージェントがプラグインを書き、Harness にインストールし、読み込まれたかまで確認します。本記事では Creator Mode とは何か、npx での Harness の起動方法、OpenAI 互換のサードパーティ API(aicodewith の Base URL と Key)をつないで Claude・GPT・DeepSeek モデルを使う方法、Creator Mode で todo_scan プラグインを作る手順を、実際の出力、よくあるエラー、Claude Code / Codex での対応方法とあわせて解説します。