Codex worktree:管理された Git worktree を一歩ずつ
worktrees 機能を有効化し、管理された Git worktree の中でチャットを走らせ、Work here で結果をブランチに変え、ターミナルから codex --worktree を直接起動する——クリーンな画面録画からの 10 ステップ。
TL;DR
- Git worktree とは同じリポジトリの第 2 のチェックアウトです——各 worktree は固有のファイルを持ちながら .git フォルダを共有するため、並走する Codex チャットが互いを上書きすることはありません。
- worktrees はフィーチャーフラグの背後にあります:ターミナルで codex features enable worktrees を実行し、アプリを再起動すると、composer に New local worktree オプションが現れます。
- 完成した worktree は 2 クリックでブランチになります——Create branch が codex/your-branch と名付け、コミットシートがプッシュし、worktree を離れずに PR を開けます。
- 管理された worktree は $CODEX_HOME/worktrees にハッシュ名フォルダとして住みます。Codex は直近 15 個を保持し、クリーンアップ前にスナップショットを保存し、チャットから復元できます。作成/一覧ツールは Codex 0.162.0 で登場しました。
Codex Worktrees: The Best Feature Most Developers Ignore
チャンネル:Software Engineer Meets AI4:56
Worktrees — official Codex documentation
ドキュメント:developers.openai.com/codex
フレームはクリーンな画面録画から。コマンドと UI ラベルは Codex worktrees の公式ドキュメントと突き合わせました。管理 worktree のツールは Codex 0.162.0(2026 年 10 月)で登場:"Add tools for creating and listing managed Git worktrees from trusted local projects when the worktrees feature is enabled."
動画の著作権は制作者に帰属し、帰属表示のためにリンクしています。製品名とインターフェース要素は OpenAI に帰属します。
Codex worktree の仕組み、一歩ずつ
worktrees を有効化して 1 つ始める
- 1
有効化の前に、worktree とは何かを知る
Git worktree はリポジトリの完全な第 2 チェックアウトを専用フォルダに作る仕組みです——各 worktree は全ファイルの固有コピーを持ちますが、全員が同じ .git メタデータを共有します。だから複数の並行 Codex チャットが、互いの未コミット変更につまずかずに自分のフォルダを編集できるのです。worktree は生来の Git 機能で、Codex はその周りの雑用を自動化しているだけです。

録画は 1 文の定義から始まります:1 つのリポジトリの複数ブランチを、別々のフォルダに同時にチェックアウトする。0:28 から再生 - 2
worktrees 機能を 1 回有効化する
worktrees は Codex ではまだゲート付きのため、最初のステップはターミナルで行います。録画のとおり、プレゼンターはアプリ内蔵ターミナルで codex features enable worktrees を実行し、config.toml のフラグを切り替えます——その後アプリを再起動。再起動後、composer に New local worktree オプションが現れます。

composer の下にターミナルパネルを開いた Codex アプリ。有効化コマンドは再起動の直前、まさにここで走ります。1:58 から再生 - 3
New local worktree の上でチャットを始める
新しいチャットの composer チップはこう並びます:プロジェクト名、New local worktree、No environment、main——worktree モードと、worktree が出発するブランチです。New local worktree を選択したまま、出発ブランチは main のまま、タスクを入力し(録画では "change the background color to be blue")、送信します。

プロンプト入力中、New local worktree と main が選択された composer。3:00 から再生 - 4
エージェントを worktree 内で働かせる
Codex は "Worktree created" と返して隔離コピー内で作業を始めます——スレッドには npm run type-check && git diff --check を走らせる姿が映り、あなたはその間アプリで別のチャットを続けられます。メインのチェックアウトは無傷のまま、Changes カウンター(録画では +2 -2)がエージェントが worktree 内で編集したものを追跡します。

エージェントが worktree 内で type-check と diff を走らせる間、スレッドヘッダーは Worktree created を表示。3:17 から再生
worktree をブランチと PR に変える
- 5
Codex が worktree を置く場所を見つける
管理された worktree はプロジェクトの隣に置かれません。公式ドキュメントは $CODEX_HOME/worktrees と定め、録画がそれを確認します:.codex/worktrees に cd した後、ls は worktree ごとに 1 つのハッシュ名フォルダを印字します(09bd、09ec、7b3a、d021、dd4e)。ルートは Settings > Worktrees の Worktree root 設定で移動できます。

.codex/worktrees 内のターミナルが 5 つのハッシュ名 worktree フォルダを一覧。3:41 から再生 - 6
スレッドメニューを開いてブランチを作成する
新しい worktree は detached で始まります——Codex はブランチなしで作成します。成果を残すには、スレッドの Environment メニューを開きます:Changes(+2 -2)、Worktree、Create branch、Commit or push、Create pull request。Create branch こそ、このフォルダを本物の名前付きブランチに変えるアクションです。

Changes、Worktree、Create branch、Commit or push、Create pull request が並ぶスレッドの Environment メニュー。3:25 から再生 - 7
Work here ダイアログでブランチを確認する
Create branch を押すと Work here ダイアログが開きます:"Create a branch to commit changes, push, and create a PR from this worktree." Branch name 欄には codex/ プレフィックスが先に入っています——録画では codex/change-background-color——Create を押せばブランチが worktree に結び付きます。Git は 1 ブランチを 1 つの worktree にしかチェックアウトできないため、Codex がこのペアリングを代わりに管理してくれるわけです。

先頭入力済みの codex/change-background-color ブランチ名と Create ボタンがある Work here ダイアログ。3:52 から再生 - 8
worktree からコミットしてプッシュする
スレッドに戻り、Commit or push を押すと codex/change-background-color ブランチ上にコミットシートが開きます:メッセージを打ち、Include unstaged changes のチェックを保ち(+2 -2)、Commit・Commit and push・Push から選びます。録画はその後 main へのプルリクエストを作成——フロー全体が worktree フォルダから出ることはありませんでした。

codex/change-background-color ブランチ上のコミットシート。Include unstaged changes と Commit and push のオプション付き。4:04 から再生
CLI 経路とかみつくルール
- 9
アプリを飛ばす:CLI から worktree を起動する
同じ機能はヘッドレスでも動きます。録画ではプレゼンターがリポジトリ内の zsh プロンプトで codex --worktree "Implement the new feature" と打ちます——Codex はそのチャット用に管理 worktree を作り、アプリと同じようにそこでタスクを走らせます。この作成/一覧ツールは Codex 0.162.0 で信頼されたローカルプロジェクト向けに登場しました。

リポジトリの main ブランチのターミナルが codex --worktree "Implement the new feature" を実行。4:38 から再生 - 10
クリーンアップのルールと 1 ブランチ制限を知る
Codex は直近 15 個の管理 worktree を保持し、新しいものが来ると古いものを刈り込みます——ピン留めされたチャット、進行中のチャット、恒久 worktree は決して刈らず、必ずスナップショット保存の後。チャットから復元できます。ドキュメントの 2 つの厳しい境界:1 ブランチは同時に 1 つの worktree にしかチェックアウトできない(2 つ目のチェックアウトではなく Handoff を使う)、そして .env のような無視ファイルは .worktreeinclude ファイルに列挙しない限り worktree には入ってきません。

公式 Worktrees ドキュメント:worktree の定義、用語、クリーンアップ動作。4:47 から再生
Codex worktree が動かない?まずここを確認
worktree の失敗のほとんどは設定の問題で、Git の問題ではありません。録画と公式ドキュメントは同じ短いリストを指します——.git を手で触る前に、上から下まで辿りましょう。
- 1フィーチャーフラグがオフ。worktrees はゲート付きです:ターミナルで codex features enable worktrees を実行し、Codex アプリを完全に再起動しましょう。composer に New local worktree がないのは、ほぼ必ずこのステップ——または再起動——を飛ばしたせいです。
- 2プロジェクトが Git リポジトリではない。worktrees は Git リポジトリの一部であるプロジェクトでしか使えず、0.162.0 のリリースノートはツールを "trusted local projects" に限定しています——ただのフォルダや未信頼の新規リポジトリには worktree オプションが出ません。
- 3出発ブランチがどこかで既にチェックアウト済み。Git は 1 ブランチにつき 1 worktree なので、占有済みブランチを選ぶと fatal: 'branch' is already used by worktree at ... で失敗します。main や空いている別のブランチから始めるか、チャットの移動には Handoff を使いましょう。
- 4環境ファイルが worktree に現れない。Git は .env 類を追跡しないためコピーされません。リポジトリルートの .worktreeinclude ファイルに列挙すると(1 行 1 パス)、Codex が新しい worktree にコピーします。
- 5アプリが古い。録画は "make sure you update yours to the latest version" という言葉で始まります——管理 worktree のツールは最近のビルドにしかありません(CLI の作成/一覧ツールは 0.162.0 以降)。更新し、フラグを有効化し、再起動し、再試行。
worktree がすでに消えてしまったけれど成果が大事なら、まずそのチャットを開いてください——Codex はクリーンアップ前にスナップショットを保存し、復元できます。そして仕組み全体が重く感じるなら、素の git worktree add は今も使えます:Codex が自動化しているのは、同じ下地の Git 機能なのですから。
