同じGitリポジトリから demo と demo-worktree の2つのフォルダを作り、片方で message.txt を編集しました。demo で git status --short を実行すると出力は空。demo-worktree では変更したファイル名が出ます。ファイル名が同じでも、エディタで開いている場所によって見える内容が変わります。
CodexのチャットをWorktreeで始めたときも、編集先はそのチャットの作業フォルダです。変更が見えなければ、先にCodexとVS Codeで開いているパスを比べます。 以下の出力はWindowsのGit 2.42.0で確認し、Codexの画面操作はデスクトップアプリの公式ガイドに合わせました。

チャット側とVS Code側でGitのルートを出す
Worktree は、一つのGitリポジトリに別の作業フォルダを持たせる仕組みです。Codexの画面でWorktreeを使っている場合は、チャットのヘッダーにある Open からその作業フォルダをエディタで開けます。
チャット側のターミナルと、いま開いているVS Codeのターミナルの両方で次を実行します。
git rev-parse --show-toplevel
git status --short
1行目のコマンドが返すGitルートのフルパスを比べます。リポジトリ名が似ていても、パスが別なら作業フォルダも別です。サンプルではWorktreeの側だけで次が出ました。
M message.txt
?? notes.txt
M は追跡済みファイルの変更、?? はGitにまだ登録していないファイルです。両方のルートが同じで git status --short が空なら、git log -1 --oneline で直前のコミットも見ます。変更がすでにコミットに入っている場合は、作業中の変更一覧が空でも正常です。
その場で見るならWorktreeを開く
差分を見たい、テストを実行したいという段階なら、チャットの Open からWorktreeをエディタで開きます。そこで git status --short を実行し、目的のファイルが表示されたら、そのフォルダを使って作業を続けられます。
既存のローカル環境に移して続きをしたい場合は、チャットの Hand off から Local を選び、表示された移動先とブランチを確認します。移動後にローカル側で git status --short やコミットを開き、目的の変更が見えることを確かめます。ブランチを作ってWorktree側で続けたい場合は、ヘッダーの Create branch here も使えます。
Worktreeで設定ファイルが見つからない
サンプルでは、ローカルにだけ置いた local-settings.toml を .gitignore に登録してから git worktree add を実行しました。Gitで追跡している message.txt は両方にあり、local-settings.toml はローカル側にだけありました。
ローカルのCodex管理Worktreeで、Gitの追跡対象から外してある設定ファイルを新しいWorktreeにも置きたい場合は、リポジトリ直下の .worktreeinclude に必要なパスを指定できます。たとえば、機密情報を含まない設定ファイルを用意してある場合は次の1行です。
local-settings.toml
.worktreeinclude を設定してから新しいCodexのWorktreeを作り、そこに local-settings.toml があることを確かめます。接続情報が必要なら、まず設定ファイルに何が入っているか確認し、開発用の値だけを用意します。
変更がWorktree側にあることを確かめたら、そのフォルダからレビューを実行できます。レビュー対象を確認するコマンドは Codexのレビューで対象の差分を選ぶ方法にまとめました。

コメント