Windows で Codex が "failed to start codex app-server" になる: 原因と対処 (2026)
Windows の Codex app-server 起動エラーを、os error 3・nodePath・codexCliPath 別に診断。バージョン、参照先、ログを確認し、設定を削除する前に原因を絞ります。
Windows で failed to start codex app-server が出たら、まずエラー全文と、どの操作で出たかを記録します。アプリ起動直後、Chrome 拡張の接続時、内蔵ブラウザの移動時では、同じ文言でも調べる対象が変わります。
os error 3 はパスが見つからないことを示しますが、どのパスかまではこの数字だけでは分かりません。nodePath や codexCliPath のエラーも、PC 全体に Node.js や Codex がないという意味とは限りません。2026年9月16日更新:個別の GitHub 報告と一般的な診断手順を分け、設定削除や権限変更に進む前の確認をまとめました。
エラーの原文で調べる場所を分ける
| エラーに含まれる文字 | 分かること | 最初に確認する対象 |
|---|---|---|
os error 3 | Windows のパス未検出 | エラー前後のログに出る具体的なパス |
missing required path nodePath | 連携用 manifest の Node パス検証に失敗 | Chrome 連携の設定と更新前後のバージョン |
missing required path codexCliPath | 連携用 manifest の CLI パス検証に失敗 | 指定先が現在も存在するか |
Unable to locate the Codex CLI binary | 実行ファイルの探索に失敗 | インストール状態とカスタムパス設定 |
exited unexpectedly / websocket closed | プロセス終了・接続切断を検出 | 直前のエラー。終了コードだけで原因を断定しない |
helper_failed / helper_sandbox_lock_failed | Windows セットアップ側の失敗 | サンドボックスの診断 |
Windows のエラー番号は Microsoft の定義で確認できます。3 はパス未検出、5 はアクセス拒否です。アクセス拒否が出たからといって、ただちに Microsoft Store やセキュリティソフトが原因とは言えません。
最初にバージョンと実行環境を記録する
次の PowerShell コマンドはインストール情報を読むためのものです。パッケージの削除や PATH の書き換えは行いません。
Get-AppxPackage *Codex* |
Select-Object Name, Version, Status, InstallLocation
Get-Command codex -All -ErrorAction SilentlyContinue |
Select-Object CommandType, Source, Definition
Get-Command node -All -ErrorAction SilentlyContinue |
Select-Object CommandType, Source, Definition
結果が空の場合は「その方法では検出されなかった」という意味です。別のインストール方法、WSL、アプリ同梱の実行環境まで存在しないと断定しないでください。複数行あっても、それだけで競合とは判断できません。
CLI を入れている場合は codex --version も記録します。これは CLI が起動してバージョンを表示できるかの確認で、ログイン、モデルへの接続、デスクトップの Browser Use が正常であることまでは証明しません。アプリと CLI のバージョンを混同せず、Chrome 拡張のエラーなら拡張のバージョンも一緒に残します。
日本語を含むユーザーパスも記録対象にはなりますが、日本語のユーザー名だけを根拠にアカウントを作り直す必要はありません。 ログに出たパスと実体を照合してから、文字処理の問題かどうかを判断します。
nodePath / codexCliPath のエラーは Node の再インストール前に確認
Chrome 拡張に次のような表示が出る報告があります。
Codex app-server manifest entry is missing required path nodePath
#35705 は Windows の Chrome 拡張でこの文言が出たという利用者報告です。それだけでは全環境に共通する原因や解決方法は確定しません。
別の #40357 では、アプリ 26.818.5229.0 の環境で codexCliPath が「missing」と表示されました。報告者の調査では、JSON に項目自体はありましたが、更新前の削除済み実行ファイルを指していました。つまり、項目がない場合と、項目の参照先が古い場合を分ける必要があります。
確認は次の順で行います。
- エラーが Chrome のサイドパネルなのか、デスクトップ本体なのかを記録します。
- アプリ・プラグイン・拡張を公式の更新手順で更新したか確認します。作業を保存し、通常の操作で関連アプリを終了して再起動します。
- 同じ操作を一度だけ再試行し、全文が変わったか記録します。
- 続く場合は、ログが示す manifest と参照先を読み取り専用で確認します。
報告にある manifest の配置候補は次のとおりです。バージョンや CODEX_HOME の設定によって配置が異なる場合があるため、存在しないファイルを新規作成する指示ではありません。
$codexDataDir = if ($env:CODEX_HOME) {
$env:CODEX_HOME
} else {
Join-Path $env:USERPROFILE '.codex'
}
$manifestCandidates = @(
(Join-Path $env:LOCALAPPDATA 'OpenAI\Codex\chrome-native-hosts-v2.json'),
(Join-Path $codexDataDir 'chrome-native-hosts-v2.json')
)
$manifestCandidates | ForEach-Object {
Get-Item -LiteralPath $_ -ErrorAction Continue |
Select-Object FullName, Length, LastWriteTime
}
見つかったファイルは手元のエディタで開き、nodePath / codexCliPath が指すパスを確認します。ログや JSON から実際の絶対パスをコピーし、以下のプレースホルダーを置き換えます。
$reportedPath = 'C:\replace-with-the-exact-path-from-your-log\codex.exe'
Get-Item -LiteralPath $reportedPath -ErrorAction Continue |
Select-Object FullName, Length, LastWriteTime
PathNotFound と AccessDenied は異なる結果です。ファイルが表示されても、別の実行ユーザーから起動できることまでは証明しません。また、グローバルに入れた node.exe の存在は、manifest の指定先が正しいことの代わりにはなりません。
#40357 の手動修復は報告自体が非公式の診断作業としています。信頼対象のハッシュや連携設定を含むため、他人の JSON をコピーしたり、古い記事のパスへ一括置換したりしないでください。
os error 3 が内蔵ブラウザだけで出る場合
#20206 には、内蔵ブラウザで選択中のタブのタイトルと URL は取得できても、新規タブの作成、ページ移動、DOM の取得で app-server エラーになる報告があります。これを「デスクトップのバックエンドがすべて停止した」と一般化すると、正常な部分まで修復対象にしてしまいます。
切り分け用の記録を次のように作ります。
| 操作 | 記録する結果 |
|---|---|
| アプリを起動 | 開く / 開かない、最初のエラー |
| 既存の会話を表示 | 表示できる / できない |
| 内蔵ブラウザで選択中のタブを確認 | タイトル・URLを取得できる / できない |
| 問題のページへ移動 | URL、時刻、エラー全文 |
| CLI のバージョン表示 | バージョンまたはエラー |
この表は手順の成功を保証するものではなく、障害の範囲を絞るための記録です。同じエラーが出るだけで「サイト側の障害」「ネットワーク障害」と決めつけず、直前のローカルパスエラーも確認します。
ログを確認し、元の操作で復旧を判断する
公式トラブルシューティングでは、アプリのフィードバック機能や GitHub の既存 issue を案内しています。アプリが使える場合は、失敗した時刻を控えてからフィードバックを開くと、対象を説明しやすくなります。
一般的なセッション記録は $CODEX_HOME/sessions にありますが、会話記録と Windows の起動診断ログは同じものではありません。起動に失敗した場合はエラーダイアログやフィードバック画面が示す診断ファイルを優先し、推測したフォルダの全ファイルを送らないでください。共有前にはユーザー名、社内パス、会話、認証情報を取り除きます。
更新後の確認では、最初に失敗した操作を同じ条件で再実行します。Chrome 接続エラーならサイドパネルの接続と必要なページ操作まで、内蔵ブラウザのエラーなら元の URL への移動まで確認します。アプリが開いた、CLI のバージョンが出た、という別の成功だけで復旧としないことが大切です。
作業を続けたいときの代替手段
コーディング作業なら、既に導入済みの CLI や IDE 拡張が正常に動くか確認できます。ただしデスクトップ固有の画面操作をそのまま代替するものではなく、認証・設定・サンドボックスも個別に確認します。
Windows ネイティブと WSL も分けて扱います。公式 Windows ガイドによると、WSL の CLI は既定で Linux 側のホームを使い、Windows アプリの設定や認証を自動では共有しません。復旧のためだけに、状況を確認せず認証ファイルや状態ディレクトリをコピーする必要はありません。
画面操作が目的なら Computer Use の Windows 設定へ、初回セットアップの helper_failed なら サンドボックス診断へ進んでください。
よくある質問
Node.js を入れ直せば nodePath エラーは直りますか?
保証できません。連携用 manifest が参照するパスと、PowerShell で見つかる Node.js が異なる場合があります。先に参照先を確認します。
日本語の Windows ユーザー名が原因ですか?
名前に日本語が含まれることだけでは判断できません。失敗した具体的なパスとエラーを確認し、根拠なしに Windows アカウントを作り直さないでください。
この不具合は修正済みですか?
本記事で引用した #20206、#35705、#40357 は2026年9月16日の確認時点でオープンです。ただし issue の状態は、すべてのバージョンで再現することや、手元の原因が同じことを意味しません。該当バージョンとエラーを照合してください。
よくある質問
- os error 3 は何を意味しますか?
- Windows のパス未検出エラーです。エラー番号だけでは、どの実行ファイルや作業パスが原因かは分かりません。発生した操作とログの具体的なパスを確認します。
- nodePath エラーは Node.js の再インストールで直りますか?
- 必ず直るとは言えません。Chrome 連携の manifest が参照する Node のパスが古い場合もあるため、グローバルの Node.js と連携用の指定先を区別します。
- codex --version が動けばアプリも正常ですか?
- 確認できるのは CLI の起動とバージョン表示までです。認証、モデル接続、デスクトップやブラウザ連携の正常動作までは証明しません。


