Codexのローカル開発環境を選ぶ|Windows・WSL・CLI・Remoteの違い
CodexのWindows native、WSL、CLI、Local environment、Remote connectionsを、どこで実行されるかとGit・権限の境界から整理します。
公開 2026.08.11 / 更新 2026.09.26
この記事のポイント
- native WindowsとWSLの境界を確認する
- Local・Remote・CloudのfilesystemとGit stateを分ける
- CLI・IDEの入口と権限を小さく試す
スマホは操作面、実行は接続先host
| 実行面 | できること | 先に確認すること |
|---|---|---|
| iOS / Android | taskを開始し、進捗を見て、要求された承認を行い、変更ファイル・diff・test結果をレビューする | 外出先からの承認でも、対象repo、変更範囲、実行結果を省略せず確認する |
| 接続済みMac / Windows | repo、ローカルファイル、shell、host側のcredentials・permissions、plugins、MCP、browser、Computer Use、sandboxを引き継いで実作業する | hostが起動・オンライン・同じaccount / workspaceでサインイン済みか確認する |
| SSH / managed remote environment | SSH経由でremote filesystemとshellを使い、保存したremote projectで作業する | trusted key、least-privilege account、公開listenerなし、必要ならVPN / meshを確認する |
| workspace / organization | Remote Controlの利用可否、認証、接続先の管理方針を決める | MFA、SSO、passkey、管理者設定、組織のpolicyを確認する |
接続前の最小チェック
- desktop appとmobile appを最新にし、同じaccount / workspaceでサインインする。hostはスリープせず、作業中にオンラインを保つ。
- desktop appのSettings > Connections > Control this Mac or PCからSet up / Addを開き、表示された承認とQR pairingを確認する。
- 接続先のrepo、subdirectory、Git branch、触ってよいファイルを固定し、スマホからのfollow-upやapprovalを無制限の実行許可と扱わない。
- hostが持つcredentials、MCP、browser session、Computer Use、sandbox、local toolsの権限がremote taskにも影響する前提で、最小権限と秘密情報の非表示を確認する。
- SSHを使う場合は~/.ssh/configのhost alias、trusted key、remote login shell、Codex remote hostの導入を確認し、app-server transportを共有・公開ネットワークへ直接晒さない。
Remoteとローカル・cloudの境界
Remoteは、接続した自分のMac / WindowsまたはSSH先の環境を操作する実行面です。hostのcredentials、permissions、MCP、browser、sandboxを引き継ぐため、スマホから見えている会話だけで安全範囲を判断しません。Cloud environmentのcontainerで動くtaskや、Web taskのuploaded contextとは別に、どのhost・filesystem・Git stateが実際の対象かを毎回確認します。
ローカルのchatをremote hostへhandoffすると、既存chatとGit stateを接続先へ移せます。公式Docsでは、保存済みの同じrepo / subdirectoryが必要で、worktreeを作成または再利用する場合があります。handoff中の応答は中断され、Codex cloud environmentへhandoffする機能ではないため、移動後にbranch、worktree、未コミット差分を確認します。
現行のpairing・host設定・再接続
| 項目 | 公式Docsの現行案内 | 作業前の確認 |
|---|---|---|
| pairing | desktop appのSettings > Connections > Control this Mac or PCからSet up / Addを開き、表示されたQR codeを同じaccount / workspaceのmobile appで読み取る。phoneや対応desktop deviceごとにhostをpairする | 自分が所有・信頼する端末だけをpairし、Remote Controlの利用可否とMFA / SSO / passkeyを確認する |
| 既存connection | 2026年6月8日以降に使った既存connectionはpairingが維持される。2026年6月8日以降に使っていないconnectionは、両アプリを更新して再pairingする | 再接続だけを成功扱いにせず、host、account、workspace、対象projectが期待どおりか確認する |
| host設定 | Settings > Connectionsで接続端末を管理し、computerをawakeに保つ、Computer Useを有効にする、Chrome extensionをinstallする設定を確認できる | WindowsのComputer Useはforegroundで動くため、sessionをunlockedに保ち、host desktopを作業専用にできるか判断する |
| 別desktop端末 | 対応しているMac / Windowsのdesktop appでは、Control other devicesから別hostを追加して同じchatを引き継げる場合がある。availabilityはrolloutに依存する | Remoteのcontrollerと実行hostを取り違えず、現在のhost、project、Git stateを画面上で再確認する |
- hostがsleep、offline、app終了になるとRemoteは停止する。長時間使う専用hostなら、電源・network・awake設定を先に確認する。
- ChatGPTからsign outするとRemote Controlはoffになるが、既存のdevice pairing自体は削除されない。再sign in後にRemote Controlを再度有効化する。
- Remoteが一覧に出ない、approvalが届かない、Add後にerrorになる場合は、同じaccount / workspace、desktop appの稼働、adminのRemote Control設定、QR pairingを確認し、必要ならhostのdesktop appを再起動する。
SSH接続はalias・login shell・remote projectを分けて確認する
SSH hostを使う場合、公式Docsは~/.ssh/configの具体的なhost aliasをCodexがauto-discoverし、pattern-onlyのHostは無視すると説明しています。まずappを動かす端末からSSH接続を確認し、remote userのlogin shellでcodex commandがPATHにあることを確認します。desktop appはSSH経由でremote Codex app serverを起動するため、Settings > ConnectionsでSSH hostを追加・有効化してからremote project folderを選びます。
remote project chatではremote filesystemを読み書きし、remote hostでcommandを実行します。trusted key、least-privilege account、同じsecurity policyを保ち、app-server transportをshared / public networkへ直接公開しません。現在のnetwork外へ接続する必要がある場合は、公式Docsの境界どおりVPNやmesh networkingを使い、公開listenerを作らない前提で設計します。
Codex Remote / Remote connectionsのFAQ
スマホから直接コマンドを実行しますか?
実作業の主体はスマホではなく、pairingしたMac / WindowsまたはSSH hostです。スマホはtaskの開始、進捗確認、follow-up、承認、diff・test結果のレビューに使う操作面として扱い、接続先hostの権限と対象repoを確認します。
Codex RemoteはCodex cloudと同じですか?
同じとは扱いません。Remoteは接続済みのローカルhostまたはSSH先のfilesystem・shell・toolsを使います。Cloud environmentは別のcontainer実行面なので、task開始時にhost、repo、branch、Git stateを明示して混同を防ぎます。
hostがスリープしたら作業は続きますか?
続く前提にしません。公式Docsでは接続先hostがawake / onlineで、desktop appが動作している必要があります。切断や再接続が起きたら、完了メッセージだけでなくdiff、test、未実行範囲をhost側で確認します。
`.codex`の設定、worktree setup、Actionを分けて確認する
| 機能 | 公式Docsの説明 | 開始前の確認 |
|---|---|---|
| 設定場所 | ChatGPT desktop appのSettingsでLocal environmentを設定し、project rootの`.codex`に保存する。複数projectなら共有`.codex`を持つdirectoryを開く | `.codex`のroot、対象project、Gitで共有する範囲、秘密情報が入っていないかを確認する |
| setup script | 新しいchatの開始時にCodexがworktreeを作ると自動実行され、依存関係のinstallやinitial buildなどを行える。macOS / Windows / Linux別の上書きもできる | script、install hook、外部通信、生成物、実行directory、platform差を先に読む |
| Action | dev server起動やtest suiteなどのcommon taskを定義し、desktop appのtop barからintegrated terminal内で実行する | Action名やiconを承認表示と誤解せず、command、対象project、port、停止方法、networkを確認する |
| Git controls | local project / worktreeごとにdiff表示、chunk / fileのstage・revert、commit、branch push、pull request作成をdesktop appから行える | built-in操作でもdiff、test、secret、branch、reviewを確認し、commit・push・PRを自動完了と扱わない |
Local environmentを使う前の停止条件
- Local environmentはChatGPT desktop appのCodexで使う機能として扱い、CLIやIDE extensionにも同じSettings UIがあると決めつけない。
- setup scriptはworktree作成時に自動実行される可能性があるため、`npm install`、build、postinstall、外部取得、license、secret参照、生成ファイルを実行前にレビューする。
- `.codex`をGitで共有する場合は、設定が想定するproject root、platform別command、runtime、port、環境変数を確認し、API keyやtokenの実値を置かない。
- Actionはintegrated terminalの便利な入口であり、sandbox、filesystem、network、MCP、browser、hostのpermissionを狭める承認機構ではない。
- desktop appのGit controlsを使っても、現在のcheckout、worktree、branch、未追跡ファイル、生成物、test結果、push先を確認してから公開操作へ進む。
Local environmentは、ローカルのChatGPT desktop appとそのproject / worktreeを準備する設定です。Remoteは接続済みhostへ到達する実行面、Cloud environmentはcontainerを使う別の実行面なので、同じsetup scriptやGit stateが自動的に共有されるとは扱いません。どのcheckoutでscriptが動き、どのterminalとpermissionでActionが実行されるかを毎回確認します。
Codex Local environmentsのFAQ
Local environmentsはCodex CLIやIDE extensionでも設定できますか?
公式Docsでは、Local environmentsはChatGPT desktop app内のCodexで利用し、desktop appのSettings paneから設定すると説明されています。CLIやIDE extensionに同じ設定画面があるとは扱わず、実際のsurfaceとproject設定を確認します。
setup scriptはworktreeを作るたびに実行されますか?
公式Docsでは、新しいchatの開始時にCodexが新しいworktreeを作るとsetup scriptが自動実行されます。対象がlocal chatかworktreeかを分け、install、build、外部取得、生成物への副作用を先にレビューします。
Actionを登録すれば安全にtestやserver起動を任せられますか?
安全の証明にはなりません。Actionはcommon taskをintegrated terminalから起動する入口です。command、port、filesystem、network、MCP、secret、停止方法と実行結果は別に確認します。
`.codex`をGitにcommitして共有してよいですか?
公式Docsはproject rootの`.codex`をGit repositoryへcheck inして共有できると説明しています。ただし、共有設定に秘密情報を含めず、platform別command、runtime、依存、外部通信、対象projectをreviewしてからcommitします。
Windowsの導入はinstall・sign in・最初のtaskを分ける
| 段階 | 公式CLIページの案内 | Windowsでの確認 |
|---|---|---|
| install | OSやpackage manager別の入口を選ぶ | Windowsタブまたはnpmの現行手順、PATH、versionを確認する |
| sign in | project directoryで`codex`を起動し、Sign in with ChatGPTまたは別の利用可能な方式を選ぶ | account、workspace、認証方式、保存されるcredentialの場所を確認する |
| first task | projectを説明する、focused changeを頼む、debugを始める | 対象repo、branch、AGENTS.md、未commit差分、実行commandを確認する |
| checkpoint | taskの前後にGit checkpointを作り、revert可能性を残す | commit前後のstatus・diff・生成物を保存し、別taskの変更を混ぜない |
Codex CLIは一つのterminal loopから用途を分ける
公式ページは、CLIをlocal repositoryのinspect・edit・run、repeatable workflowの`codex exec`、変更をcommit前に見るreview、Codex cloudへのhandoffに使う面として整理しています。`codex resume`、画像・web context、subagents、`codex mcp`、`/permissions`、`codex completion`も同じCLIにありますが、local filesystem、cloud environment、MCP server、外部送信の権限が一つに統合されるとは扱いません。
- まずlocal repoで読み取り・小さな変更・diff確認を行い、installや外部通信の副作用を先に把握する。
- `codex exec`をCIやrepeatable workflowへ広げる時は、interactive sessionと出力・approval・sandbox・secretの境界を別に確認する。
- `codex cloud`からlocal repositoryへ結果を戻す時は、cloud taskのdiffを通常の未commit変更としてreviewし、apply成功をcommitやdeploy成功と混同しない。
- `codex mcp`、Plugins、Skills、`/permissions`を追加する時は、接続先、tool、scope、session、sandbox、approvalを一つずつ確認する。
WindowsでCodex CLIを始めるFAQ
Windowsではどのinstall commandを使えばよいですか?
現行公式ページにはOS・package manager別のinstall入口があります。この記事でUnix向けcommandをWindowsのPowerShellへ固定せず、公式ページのWindowsまたはnpm手順を選び、PATHとversionを確認してください。
Sign inできれば、すぐにrepo全体を変更させてよいですか?
よくありません。sign inは認証の入口です。project directory、Git remote、branch、AGENTS.md、sandbox、approval、未commit差分を確認し、まず読み取りまたは小さなtaskから始めます。
Codex CLIのreviewやcloudはWindowsローカル作業と同じですか?
同じとは扱いません。local terminalのreview、Codex cloudのtask、MCPの外部toolは実行面と権限が異なります。戻ってきたdiff、環境、secret、commit・deploy境界を別々に確認します。
CLIの見た目と入力経路を用途別に設定する
| 対象 | 公式Docsの説明 | Windowsでの確認 |
|---|---|---|
| テーマ | `/theme`でpickerを開き、選択したテーマを`$CODEX_HOME/config.toml`の`tui.theme`へ保存する | 保存先の`CODEX_HOME`、共有設定、テーマ変更の対象CLIを確認する |
| カスタムテーマ | `.tmTheme`ファイルを`$CODEX_HOME/themes`へ置き、theme pickerから選ぶ | 外部から取得したテーマの出所と内容を確認し、設定directoryを誤らない |
| Shell補完 | `codex completion`でBash、Z shell、Fish、PowerShell向けのcompletion scriptを生成し、Shell設定から読み込む | 現在のShell向けの出力を選び、profileへ反映する前に出力と変更pathを確認する |
| 長いprompt | composerで`Ctrl+G`を押すと、`VISUAL`、なければ`EDITOR`で指定したeditorを開く | 環境変数の値、起動するeditor、保存・終了操作を確認してから使う |
completionとeditorを権限設定と混同しない
- `codex completion`はShellで`codex`の入力を補助するscriptを生成する機能で、filesystem、network、MCP、approvalを許可するcommandではない。
- Shell設定へ追加する前に、生成されたscript、profileの変更箇所、対象Shell、削除方法を保存しておく。公式ページの例はZ shell向けなので、PowerShellでは現在のShellと公式の出力を確認してから反映する。
- `/theme`と`$CODEX_HOME/themes`はCLIの表示設定、`VISUAL` / `EDITOR`はprompt編集の入口であり、projectのAGENTS.mdや`config.toml`のpermission設定を置き換えない。
- 見た目や入力を整えた後も、実行前にはCLI referenceのsandbox、approval、`--cd`、`--config`、Git差分を別に確認する。
Codex CLI customizationのFAQ
`codex completion`を実行すれば安全にcommandを実行できますか?
できません。`codex completion`はBash、Z shell、Fish、PowerShell向けのShell補完scriptを生成する機能です。profileへ追加する前に出力、対象Shell、変更pathを確認し、approvalやsandboxは別のCLI設定として見ます。
Windows PowerShell用の固定コマンドを記事から貼り付けてよいですか?
固定しません。公式ページはPowerShellを対応Shellとして挙げていますが、現在のShellと出力を確認してからprofileへ読み込みます。Unix向けのZ shell例をPowerShellへそのまま貼らないでください。
長いpromptはどのeditorで開きますか?
composerで`Ctrl+G`を押すと、`VISUAL`が設定されていればそれを使い、設定されていなければ`EDITOR`を使います。実際に起動するeditorと保存・終了操作は自分の環境で確認します。
Windowsでは環境変数の用途と寿命を先に分ける
| 用途 | 公式Docsで確認できる変数・設定 | Windowsでの確認 |
|---|---|---|
| 状態の保存先 | `CODEX_HOME`はconfig、auth、logs、sessions、skillsなどのroot。`CODEX_SQLITE_HOME`はCLI / app-serverのSQLite stateで、`sqlite_home`設定が優先される | 実際のprofileが指すdirectory、既存state、backup、アクセス権、Git管理対象外であることを確認する |
| installer | `CODEX_NON_INTERACTIVE`はscript化したinstall / updateのpromptを抑制し、`CODEX_INSTALL_DIR`は`codex` commandのinstall先を変える | first-run setupにはnon-interactiveを使わず、install先とPATHを確認してから公式手順を実行する |
| 認証 | `CODEX_API_KEY`は`codex exec`の単一non-interactive run向け。`CODEX_ACCESS_TOKEN`はCLI / app-server / trusted automation向け | 値を画面、ログ、repo、CI全体へ出さず、対象processだけに必要な時間だけ渡す |
| TLS | `CODEX_CA_CERTIFICATE`が優先され、未設定時は`SSL_CERT_FILE`がfallbackのPEM CAになる | 会社proxyや独自CAの出所、対象process、証明書ファイルの権限と期限を確認する |
| 診断 | `RUST_LOG`でCLI / app-serverのlog levelを調整でき、TUI logのplaintext保存は`log_dir`のopt-in | debugやtraceを常用せず、ログにprompt・path・header・secretが残らないかを確認してから保管する |
秘密情報を環境変数に置いても、漏えい境界は消えない
- `CODEX_API_KEY`、`CODEX_ACCESS_TOKEN`、providerの`env_key`で参照する値は、記事・README・AGENTS.md・config.toml・Git管理下の`.env`へ実値を書かない。環境変数名だけを共有し、値はsecret managerやOSの管理領域で扱う。
- `CODEX_API_KEY`は`codex exec`の1回のnon-interactive実行向けなので、job全体や後続commandへ無制限に継承させない。`CODEX_ACCESS_TOKEN`をtrusted automationで使う場合も、対象repoとprocessを限定する。
- provider側の認証変数名は、設定した`env_key`で決まり、Codexに固定されたprovider API key名とは限らない。設定ファイルのprovider、base URL、wire API、env_keyを値なしでreviewする。
- `CODEX_HOME`と`CODEX_SQLITE_HOME`は単なる一時変数ではなく、認証・履歴・session・SQLite stateの保存先に影響する。別directoryを指定する場合は、意図したprofileと既存stateを確認する。
- インストーラーのnon-interactive設定はpromptを隠すだけで、scriptの安全性を保証しない。install / updateのsource、対象path、PATH変更、post-install処理、外部通信を先に確認する。
環境変数は、config.tomlに置くべきdurable setting、現在のshellだけのoverride、installerの動作制御、認証、TLS、診断を一つの場所にまとめる仕組みではありません。PowerShellで確認する時も、値そのものを表示せず、変数名、設定元、継承先process、保存先、終了後に残るstateだけを監査します。
Codex Environment variablesのFAQ
`CODEX_HOME`を変えれば、認証情報だけを別場所へ移せますか?
そう単純には扱いません。`CODEX_HOME`はconfig、auth、logs、sessions、skillsなど複数のCodex stateのrootです。変更前に対象profile、既存state、backup、アクセス権を確認し、必要なら別の認証運用を選びます。
`CODEX_NON_INTERACTIVE`を設定すればinstallが安全になりますか?
安全の証明にはなりません。script化したinstall / updateのpromptを抑制する変数であり、first-run setupには使わないと公式Docsは説明しています。source、install先、PATH、post-install処理、外部通信を別にreviewします。
APIキーは環境変数ならログに出してもよいですか?
よくありません。shell、process、CI、診断ログ、editor、子processへ継承される可能性があります。値を表示・記録・commitせず、必要な実行面と時間だけに限定し、終了後の残存stateも確認します。
`RUST_LOG=debug`を常に設定しておけば調査が楽ですか?
常用しません。診断情報の範囲と保存先を確認し、prompt、path、header、secretがログに残らない条件で短時間だけ使います。plaintextのTUI log保存はopt-inであるため、保管・削除・共有の扱いも先に決めます。
IDE extensionのeditor contextと変更レビューを分ける
| IDE surface | 公式Docsの現行案内 | Windows・再開時の確認 |
|---|---|---|
| editor context | open file、選択範囲、recent chatをcomposerへ追加し、見ているcodeを前提に説明・編集を依頼できる | open fileのabsolute path、selection範囲、workspace root、branch、現在の未commit差分を確認する。見えているfileだけでrepo全体を読んだとは扱わない |
| 変更レビュー | summaryとfocused diffを同じviewで確認し、必要な変更だけを残して同じchatからfollow-upできる | diff・生成file・削除・rename・format変更を個別に確認する。IDEのsummaryやinline reviewをtest、accessibility、security、releaseの証明にしない |
| local / web delegate | 短い反復はlocal、作業が大きくなればCodex webへdelegateし、戻ってreviewable resultを確認する。chatは戻った時も利用できる | local workspaceとcloud taskのrepo、branch、host、入力source、結果path、実行checkを分ける。handoffや表示されたresultだけでremote build・commit・push・deployを完了扱いしない |
| IDEの入口 | VS Codeとcompatible editorはCodex extension、XcodeとJetBrains IDEは各自のintegrationを使う。VS Code・Cursor・WindsurfではCodex icon、見えなければCommand Paletteの`Codex: Open Codex Sidebar`を使う | Windowsでは実際のIDE・extension・account・workspaceを確認する。Xcode / JetBrainsの操作やdesktop app・CLIのchat状態をVS Codeのcommandへ自動変換しない |
| Git checkpoint | 最初のchatの前後にGit checkpointを作り、変更をrevert可能にしてからfocused changeやdebugを始める | checkpointのcommit範囲、working tree、生成物、戻し方を保存する。checkpointはrelease approval、CI、upload parity、production反映の代わりにしない |
WindowsでIDEからCodexを再開する確認順
- IDEを開く前に対象repoのabsolute path、Git root、workspaceまたはmulti-rootのroot、remote、branch、`git status`、未commit diff、AGENTS.md、`.codex`、configを確認する。
- composerへ追加するopen file・selection・recent chatをtaskのcontextとして明示し、見えていないsourceや別folderが自動で適用されるとは扱わない。耐久的な指示はAGENTS.mdやchecked-in docsに残す。
- VS Code / Cursor / WindsurfのCodex iconまたはCommand Paletteを使い、Xcode / JetBrainsでは公式integrationの入口を使う。extension未導入、未sign-in、workspace未open、command非表示を混同しない。
- 作業がlocalかCodex webへのdelegateかを選び、host、cwd、sandbox、approval、network、MCP、secret、Git targetを別々に確認する。長い作業のhandoffは権限や完了を広げない。
- IDEのsummaryとfocused diffを読んだ後、実ファイル、Git diff、test・lint・build、生成物、upload parityを確認し、前後のcheckpointと未実行範囲を記録する。
ChatGPT/Codex IDE extensionのFAQ
開いているfileをcontextに追加すればrepo全体がCodexへ渡りますか?
そうとは扱いません。公式Docsはopen file、selection、recent chatをcomposerへ追加する流れを示しています。対象path、workspace、必要なsource、AGENTS.md、Git状態を別に確認し、見えているfileだけで全repoを確認済みとはしません。
IDEのfocused diffを承認すれば安全に完了ですか?
完了の証明にはしません。focused diffは変更範囲を読むための面です。実ファイル、削除・rename、test、lint、build、security、Git diff、生成物、upload、commit・push・deployの境界を別に確認します。
IDEからCodex webへdelegateすれば同じlocal状態が保証されますか?
保証とは扱いません。公式Docsはlocal workとCodex webへのdelegate、戻ってreviewする流れを説明しますが、repo、branch、host、source、result、check、権限はhandoff前後で照合します。
VS CodeのCodex commandはXcodeやJetBrainsでも同じですか?
同じとは扱いません。公式DocsではVS Codeとcompatible editorはCodex extension、XcodeとJetBrains IDEは各自のintegrationを使う案内です。surfaceごとのsign-in、workspace、chat、設定、操作を確認します。
Git checkpointを作ればreleaseへ戻せますか?
revertしやすくするための確認点であり、release gateではありません。checkpointのcommit範囲、現在のdiff、test・build、生成物・upload parity、CI、push・deployの未実施範囲を別に記録します。
WSL2・native Windows・IDE・CLIの実行面を分ける
| 確認点 | 公式Docsの現行案内 | Windows・再開時の確認 |
|---|---|---|
| WSL2を選ぶ理由 | Linux-native toolingが必要、repoとdeveloper workflowが既にWSL2にある、またはnative Windows sandboxが環境で使えない場合にWSL2を選ぶ | Linux依存のtoolchain、既存repoの場所、組織のpolicy、native sandboxのmodeを先に確認する。WSL2を使えば安全性や権限が自動で広がるとは扱わない |
| sandboxとversion | WSL2ではCodexがLinux環境内で動きnative Windows sandboxを使わない。WSL1はCodex `0.114`までで、`0.115`以降は非対応 | Codex version、WSL version、distro、Linux側のsandbox・PATH・permissionを確認する。native Windowsのelevated / unelevated設定をWSLへそのまま適用しない |
| VS Code WSL | WSL extensionでWSL terminalからprojectを開くとWSL remote windowとVS Code Serverが使われ、integrated terminalはLinuxになる。status barは`WSL: <distro>`、pathは`/home/...`を確認する | Windows側windowとWSL remote windowを混同しない。workspace root、terminal、node・git・codexの実体、拡張、branch、生成先を同一surfaceだと決めつけない |
| repo path / file access | 性能とsymlink・permissionの観点からrepoは`/mnt/c/...`よりLinux home(例`~/code/...`)が推奨され、Windows Explorerからは`\wsl$`経由でアクセスする | `C:\`、`/mnt/c/`、`/home/`、`\wsl$`を別pathとして記録する。dist・upload・Git root・バックアップの場所をWindows側とWSL側で再確認する |
| Codex CLI | WSL shell内でLinux側のCodex CLIを実行し、VS Code WSL windowからも同じLinux環境のterminalを使う。binaryが見つからなければWSL内PATHと公式CLI setupを確認する | Windows側の`codex`が見えていてもWSL側で使えるとは扱わない。account、credential、config、MCP、secret、network、working directoryをWSL側で別に確認する |
WSLを使うWindows作業の再開確認順
- native WindowsかWSL2かを最初に選び、Codex version、WSL version、distro、実際のhost、sandbox mode、network、approval、MCPを記録する。WSL1は現行Codexの選択肢にしない。
- WSLで作業するならrepoのabsolute pathを`/home/...`などLinux側で確認し、`/mnt/c/...`のI/O、symlink、permission、line endingの影響を別に評価する。Windows側の同名repoを現在対象と推測しない。
- VS CodeではWSL extensionと`WSL: <distro>` status、Linux pathのterminal、workspace rootを確認する。Codex iconやIDE extensionが見えても、Windows native windowとWSL windowの実行面を混ぜない。
- WSL shellの`PATH`、`which codex`、node・gitの実体、config、credential、MCP、secretの参照先を確認する。Windows側のPATH・credential・configを自動共有されるとは扱わない。
- WindowsとWSLを切り替えた後は、Git root、branch、未commit diff、生成物、dist/upload、test・build、source path、外部アクセスの未実行範囲を再確認する。WSL導入・update・shutdownはOS状態の変更として別に扱う。
ChatGPT/Codex WSLのFAQ
WSL2でCodexを動かすとnative Windows sandboxも同時に使われますか?
同時に使う前提にしません。公式DocsではWSL2ではCodexがLinux環境内で動き、native Windows sandboxの代わりにWSLの実行面を使うと説明しています。実際のhost、sandbox、filesystem、network、approvalを確認します。
Codex 0.115以降もWSL1で動かせますか?
現行公式DocsではWSL1はCodex `0.114`までで、`0.115`から非対応です。versionを確認し、WSL2かnative Windowsなど現在サポートされる実行面を選びます。
WindowsのVS Codeで開いたrepoはWSLのCodexから同じように見えますか?
同じとは扱いません。WSL remote windowはLinux側のworkspace・terminal・pathを使います。`WSL: <distro>` status、`/home`または`/mnt/c`の実path、Linux側のGit root・branch・config・binaryを確認します。
WSL repoは`/mnt/c`に置いても問題ありませんか?
動作の可否と推奨を分けます。公式Docsは大きなrepoの速度、symlink、permissionの観点からLinux home配下を推奨しています。実測、repoの配置、生成物・uploadのpath、Windows側からのアクセスを別に確認します。
Windows側で入れたCodex CLIやconfigはWSLでも使えますか?
自動共有とは扱いません。WSL側のLinux binary、PATH、account、credential、config、MCP、secret、working directoryを確認し、見つからない場合はWSL内の公式CLI setupを再確認します。