Codex Windows app crashes on startup in windows-updater.node
Summary:
The Codex Windows app crashes immediately after launch. The Microsoft Store app is installed and the package status is Ok, but the app exits within about 10 seconds and creates a Crashpad dump every time.
Environment:
- Codex Windows app: 26.608.1337.0
- Codex CLI: 0.139.0
- OS: Windows 11 Home 10.0.26200 x64
- Display adapter: Intel(R) UHD Graphics 620
- Display driver version: 26.20.100.7323
Steps already tried:
- Repaired the app with winget repair --name Codex
- Reset the Codex AppxPackage
- Uninstalled and reinstalled the Codex Microsoft Store app
- Launched with --disable-gpu
- Launched while blocking the persistent.oaistatic.com update manifest request
Result:
- The app still exits shortly after startup.
- The Codex CLI continues to work normally.
- The %USERPROFILE%\.codex directory and CLI configuration were preserved.
Crash observations:
- Exception code: 0xE06D7363
- Throw module: KERNELBASE.dll
- The stack repeatedly includes this module:
C:\Program Files\WindowsApps\OpenAI.Codex_26.608.1337.0_x64__2p2nqsd0c76g0\app\resources\native\windows-updater.node
Relevant log file:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs\2026\06\10\codex-desktop-2e464562-c2e4-4c82-963f-24f61e2857bd-18708-t0-i1-173334-0.log
Relevant Crashpad dump:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Roaming\Codex\web\Codex\Crashpad\reports\bce0dc18-09b6-4035-823e-f75ff3a4b093.dmp
Privacy note:
I am not attaching auth.json or any files from %USERPROFILE%\.codex. I can provide the Crashpad dump if a maintainer needs it.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Delete file as workaround
`$p = 'C:\Program Files\WindowsApps\OpenAI.Codex_26.623.4041.0_x64__2p2nqsd0c76g0\app\resources\native\windows-updater.node'
"=== BEFORE ==="
"IO.File.Exists : $([IO.File]::Exists($p))"
cmd /c "if exist "$p" (echo cmd: EXISTS) else (echo cmd: NOT_EXISTS)"
try { "Owner : $((Get-Acl -LiteralPath $p).Owner)" } catch { "Owner : $($_.Exception.Message)" }
"`n=== takeown (current user, no /a) ==="
takeown /f $p
"`n=== icacls /grant ==="
icacls $p /grant "${env:USERNAME}:(F)" /grant '*S-1-5-32-544:F'
"
n=== Remove-Item ==="n=== fallback: del /f /q ==="Remove-Item -LiteralPath $p -Force -ErrorAction Continue
"
cmd /c "del /f /q "$p" && echo DEL_EXITCODE:0 || echo DEL_EXITCODE:$errorlevel"
"
n=== AFTER ===""IO.File.Exists : $([IO.File]::Exists($p))"
cmd /c "if exist "$p" (echo cmd: EXISTS) else (echo cmd: NOT_EXISTS)"