Windows Desktop App fails to start: app-server websocket closed (code=3221225501) — plugin marketplace sync + invalid internal config key

Open 💬 7 comments Opened Jun 27, 2026 by hxmsuper
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

26.623.5175.0

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Codex Desktop App crashes immediately on startup with:

(code=3221225501, signal=null). Most recent error: Codex app-server websocket closed (code=3221225501)

This is preceded by different sub-errors depending on the run, including:

  1. Plugin marketplace sync incomplete:

configured non-curated plugin no longer exists in discovered marketplaces during cache refresh
plugin="browser" marketplace="openai-bundled"
plugin="chrome" marketplace="openai-bundled"

  1. An internal config key that the app itself does not recognize, even on a freshly regenerated config.toml with zero manual edits:

ignoring invalid experimental feature enablement keys: apps_mcp_path_override

  1. Occasionally a git sync failure during startup (possibly unrelated):

git sync failed for curated plugin sync; falling back to GitHub HTTP
error: git ls-remote curated plugins repo failed with status exit code: 128: fatal: unable to access 'https://github.com/openai/plugins.git/': Could not resolve host: github.com

All of these ultimately lead to the same final crash. Windows Event Viewer shows no Application Error / faulting module entry for Codex.exe at the time of crash, suggesting this is a caught/handled exception inside the app rather than a true OS-level crash.

What steps can reproduce the bug?

  1. Install/update Codex Desktop App via Microsoft Store to 26.623.5175.0
  2. Open the app
  3. App crashes immediately with the error above

This reproduces consistently, even after:

  • Fully uninstalling and reinstalling the app
  • Completely deleting %USERPROFILE%\.codex and letting the app regenerate it from scratch
  • Restarting the computer multiple times

Diagnostic steps taken:

  • Verified .codex\.tmp\bundled-marketplaces\openai-bundled\.agents\plugins\marketplace.json correctly lists browser/chrome/computer-use/latex plugins
  • Verified .codex\.tmp\bundled-marketplaces\openai-bundled\plugins\ contains folders for browser, chrome, computer-use, latex, sites
  • Found .codex\plugins\cache\openai-bundled\chrome\ has both a versioned folder AND a "latest" junction, but browser\ has only the versioned folder with NO "latest" junction; computer-use has no cache folder at all
  • Manually created the missing "latest" junction for browser — did not resolve the crash
  • Attempted creating a junction at .tmp\bundled-marketplaces\openai-bundled pointing to the installed app package's plugin directory — the app deletes/recreates this as a regular folder on every startup, destroying the junction
  • Removing [plugins."browser@openai-bundled"] and [plugins."chrome@openai-bundled"] from config.toml suppresses that specific warning, but the underlying crash continues with just a generic "websocket closed" message
  • Manually invoking codex.exe app-server directly fails with "Access is denied" (expected for MSIX-packaged executables invoked outside package context)
  • codex.exe --version and other CLI invocations work fine independent of the Desktop App

What is the expected behavior?

Codex Desktop App should start successfully even if:

  • Bundled plugin marketplace sync is incomplete or fails (should degrade gracefully, e.g. disable affected plugins, rather than crash)
  • An internal/experimental config key is unrecognized (should be ignored, not treated as fatal)
  • Network calls during startup (e.g. curated plugin git sync) fail (should fail silently/gracefully with retry, not block startup)

Additional information

Related existing issues with overlapping symptoms: #25878, #26792, #26864, #26501, #28277, #25600, #23672

CLI usage (codex.exe directly, outside the Desktop App) works without issue, suggesting this is specific to the Electron/Desktop shell's startup sequence (plugin sync + config validation), not the underlying CLI binary.

View original on GitHub ↗

7 Comments

nemudemovu · 23 days ago

Man, that websocket error is a total pain. I ran into the same thing with the plugin sync loop bugging out. I found a way to bypass that invalid mcp_path key that was tripping up the startup sequence. It finally gets past the crash for me. codex_patch_v26.zip

github-actions[bot] contributor · 23 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #30338
  • #30270
  • #28909

Powered by Codex Action

hxmsuper · 23 days ago
Man, that websocket error is a total pain. I ran into the same thing with the plugin sync loop bugging out. I found a way to bypass that invalid mcp_path key that was tripping up the startup sequence. It finally gets past the crash for me. codex_patch_v26.zip

Thanks, but I’m not comfortable running an unofficial exe from a newly created account.
Could you explain the fix in source/code form, or link to an official OpenAI/Codex release or PR?

hxmsuper · 23 days ago

I can reproduce the crash outside the Desktop UI.

Package:
OpenAI.Codex_26.623.5175.0_x64__2p2nqsd0c76g0

Bundled binary:
app\resources\codex.exe

Test:

Copy-Item "C:\Program Files\WindowsApps\OpenAI.Codex_26.623.5175.0_x64__2p2nqsd0c76g0\app\resources\codex.exe" "$env:TEMP\codex-test.exe"

& "$env:TEMP\codex-test.exe" --version
=> codex-cli 0.142.3

& "$env:TEMP\codex-test.exe" app-server
=> exits immediately

$LASTEXITCODE
=> -1073741795

This equals 0xC000001D / STATUS_ILLEGAL_INSTRUCTION.

So the bundled Desktop app-server sidecar crashes before it starts listening. This does not appear to be related to WSL, Git, VPN, login, config.toml, WebView2, or the Desktop UI.

hxmsuper · 23 days ago

Additional debugging

I did some additional debugging on two different Windows 11 25H2 machines.

Machine A (fails)
  • Windows 11 Pro 25H2 (Build 26200.8655)
  • Codex Desktop: 26.623.5175.0
  • Bundled CLI: codex-cli 0.142.3

I extracted the bundled binary:

C:\Program Files\WindowsApps\OpenAI.Codex_26.623.5175.0_x64__2p2nqsd0c76g0\app\resources\codex.exe

Commands:

Copy-Item "...resources\codex.exe" "$env:TEMP\codex-test.exe"

& "$env:TEMP\codex-test.exe" --version
# codex-cli 0.142.3

& "$env:TEMP\codex-test.exe" app-server

$LASTEXITCODE

Result:

-1073741795

The process exits immediately without any output.

Desktop continues to report:

Codex app-server websocket closed

---

Machine B (works)
  • Windows 11 Pro 25H2
  • Codex Desktop: 26.616.10790.0
  • Bundled CLI: codex-cli 0.142.0

Using the same procedure:

Copy-Item "...resources\codex.exe" "$env:TEMP\codex-test.exe"

& "$env:TEMP\codex-test.exe" --version
# codex-cli 0.142.0

& "$env:TEMP\codex-test.exe" app-server

Result:

The process does not exit.

Instead it remains running and prints:

ERROR codex_app_server_transport::transport:
Failed to deserialize JSONRPCMessage:
EOF while parsing a value at line 1 column 0

This appears to indicate that the app-server is waiting for JSON-RPC input rather than crashing.

---

This reproduces the failure outside of the Desktop UI and shows different behavior between the two bundled app-server versions.

ReikoMari · 15 days ago
Man, that websocket error is a total pain. I ran into the same thing with the plugin sync loop bugging out. I found a way to bypass that invalid mcp_path key that was tripping up the startup sequence. It finally gets past the crash for me. codex_patch_v26.zip伙计,那个 websocket 错误真是太痛苦了。 我遇到了同样的事情,插件同步循环出问题了。 我找到了一种方法来绕过导致启动顺序失败的无效 mcp_path 键。 我终于摆脱了崩溃。 codex_patch_v26.zip

这个附件是一个加密病毒不要下载!
This attachment is a virus—do not download it!

hxmsuper · 14 days ago

Here is a solution from zhengqi123456

Run netsh winsock show catalog | findstr ASProxy — if you see
ASProxy entries, this is your problem.
运行netshwinsock显示目录|findstr ASProxy — 如果您看到
ASProxy条目,这是你的问题。
Run netsh winsock reset in an admin terminal.
在管理终端中运行 netsh Winsock Reset。
Reboot.
重新启动。
Verify ASProxy is gone: netsh winsock show catalog | findstr ASProxy
(should return nothing).
验证 ASProxy 是否已消失:netsh Winsock show Catalog |查找str ASProxy
(应该不返回任何内容)。
Codex now starts normally.
Codex 现在可以正常启动。
To keep it fixed: in Astrill, use the OpenWeb or WireGuard protocol
(these use a virtual adapter and do NOT install the LSP). Avoid the older
proxy mode that reinstalls ASProxy.
要保持它固定:在 Astrill 中,使用 OpenWeb 或 WireGuard 协议
(这些使用虚拟适配器并且不安装 LSP)。避开年龄较大的
重新安装 ASProxy 的代理模式。

You can copy this to ask gpt,and solve it。