You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Windows app won't open after update, background process exists but no GUI window #25575
Same symptoms here, confirming this is not machine-specific.
Environment
Windows 11 Pro, OS build 26200.8524
Codex (Microsoft Store), version 26.609.3341.0
Behavior
Launching the app spawns the full Electron process tree — main + gpu-process + crashpad-handler + two utilities (network.mojom.NetworkService, storage.mojom.StorageService) — which all live for ~2.8–3.3s and then exit together. A renderer process is never created, so no window ever appears. The Rust CLI works fine.
Crucially this is a clean exit, not a crash: no WER report, no Crashpad dump, no Application/AppHost error in Event Viewer. The desktop log just stops at:
info Launching app ... packaged=true platform=win32
info Appshot hotkey inactive configured=true enabled=true platform=win32
i.e. the main process quits before it ever builds the window/renderer.
Already tried (all ineffective):
Cleared the web profile cache
Reset-AppxPackage (full reset to fresh-install state) — still exits at +3.3s with no renderer
Reinstall / restart
Extra data point that may help isolate it: on this machine a Windows cumulative update (KB5094126, build 26200.8655) had separately made the bundled node.exe backend fail-fast with c0000409. Removing that KB eliminated the c0000409 crash entirely — but the GUI still won't open, with the clean-exit behavior above, on a known-good build (26200.8524) without KB5094126. So the "no window" problem is independent of the node crash and reproduces without that KB.
Adding another repro on the current Microsoft Store/MSIX build. This appears to be the same symptom, but on a newer package version and on an ASCII-only Windows user profile path.
Environment
OS: Windows 11 Pro x64
Version: 10.0.26200
Build: 26200
Codex Desktop/MSIX:
OpenAI.Codex_26.616.4196.0_x64__2p2nqsd0c76g0
Package status: Ok
Installed from Microsoft Store / MSIX
Codex CLI:
codex-cli 3.2.0
Windows user profile path: ASCII-only (C:\Users\<redacted>) — no CJK/non-ASCII characters in the profile directory.
Reproduction
Launch Codex Desktop from Start Menu / AppUserModelId:
The latest logs no longer show the previous repeated WSL spawning pattern; app/plugin/list calls return, but the desktop app still creates no visible/top-level window.
I hit the same issue on Windows after a clean/first install of the Codex desktop app: opening Codex Desktop created several background Codex.exe processes, but no UI
ever appeared.
I asked Codex-CLI to find the issue for me and it got it running. Below is what Codex-CLI did to fix the issue for me, I asked it write down the steps so this is a copy/paste of that:
What fixed it for me was repairing the local `cua_node` runtime that Codex was leaving in a `.staging-*` folder.
In PowerShell:
powershell
# 1. Stop the stuck Codex Desktop processes
Get-Process -Name Codex -ErrorAction SilentlyContinue |
Where-Object { $_.Path -like '*\WindowsApps\OpenAI.Codex_*\app\Codex.exe' } |
Stop-Process -Force
# 2. Check the Codex runtime folder
$base = Join-Path $env:LOCALAPPDATA 'OpenAI\Codex\runtimes\cua_node'
Get-ChildItem -Force $base
In my case, that folder only contained something like:
.staging-1b23c930bdf84ed6-tbG5E1
and no finalized runtime directory.
I verified the staged Node runtime worked:
& "$base\.staging-1b23c930bdf84ed6-tbG5E1\bin\node.exe" --version
It printed:
v24.14.0
Then I manually renamed the staging directory to the hash part of the name:
Rename-Item `
-LiteralPath "$base\.staging-1b23c930bdf84ed6-tbG5E1" `
-NewName "1b23c930bdf84ed6"
After launching Codex Desktop again, the UI finally appeared.
For reference, the useful log file was under:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs
Before the fix, the app log stopped very early after startup. After the fix, it got past app-server initialization and
showed the main window.
One caveat: your staging folder will likely have a different suffix. The finalized directory name should be the hash
between .staging- and the final random suffix. For example:
.staging-1b23c930bdf84ed6-tbG5E1
^^^^^^^^^^^^^^^^
final folder name
Package status, AppX registration, deployment, and activation were healthy.
The Electron main, Crashpad, GPU, network utility, and storage utility processes remained alive.
The bundled codex.exe app-server initialized and reached connected.
No --type=renderer process was created and no top-level window existed.
No current WER/Application Error, Crashpad dump, Sentry event, or native-addon error was present.
Restart, Store update, AppX re-registration, GPU-disabled launch, and rotating GPU/Dawn/Code caches did not help.
The cua_node runtime was already finalized and healthy (v24.14.0), with no .staging-* directory, so the July 7 staging-directory workaround above did not apply.
Root cause indicator
The shared Codex log database was unusually large:
state_5.sqlite and the auth/state files were left untouched.
Reversible recovery
After resolving and stopping only the packaged Codex process tree, I moved these three files into a timestamped backup directory under ~/.codex/maintenance-backups/:
logs_2.sqlite
logs_2.sqlite-wal
logs_2.sqlite-shm
Then I relaunched the Store app and allowed it to create a fresh log DB.
The UI appeared immediately and remained visible/responding on a follow-up check. The fresh logs_2.sqlite was recreated normally. The 5.15 GB database and sidecars remain available for rollback/private diagnostic collection.
This suggests startup should detect or tolerate an oversized/problematic logs_2.sqlite, and a supported doctor/recovery path could rotate only the log DB after confirming no relevant Codex processes are active. A broad Reset-AppxPackage or reinstall was not needed in this case.
I encountered the same user-visible symptom after an in-app update, but with a distinct and well-captured Windows AppX container failure signature. I am adding the details because this appears to be another update/runtime lifecycle path to the same “background process, no GUI” outcome.
Environment
OS: Microsoft Windows NT 10.0.26200.0 x64 (Windows 11 Pro)
Package: Microsoft Store / MSIX, OpenAI.Codex_2p2nqsd0c76g0
Current healthy version after recovery: 26.721.3996.0
Sequence and observed behavior
The app completed an in-app update, then would no longer show a window.
A ChatGPT.exe process from the previous day remained alive in an abnormal state: one thread, about 2.3 GB working set, MainWindowHandle = 0, and no visible UI.
Each launch attempt produced only a very small short-lived process. The behavior was consistent with a single-instance handoff to the stuck old process, after which the new process exited silently.
Normal termination and non-elevated taskkill /F failed with access denied. An elevated taskkill /F /IM ChatGPT.exe removed the stale process.
After the stale process was removed, AppX registration showed the new package version and Status = Ok. Re-registering AppxManifest.xml also succeeded.
Launch still failed, now with repeatable AppModel Runtime errors:
Event ID 208
0x80070020: Cannot create the process for package
OpenAI.Codex_26.721.3404.0_x64__2p2nqsd0c76g0 because an error was
encountered while configuring runtime. [LaunchProcess]
Event ID 215
0x80070020: Cannot create the Desktop AppX container for package
OpenAI.Codex_26.721.3404.0_x64__2p2nqsd0c76g0 because an error was
encountered converting the job.
There were 52 matching Event 208/215 records between 09:44 and 10:53 on the affected day. 0x80070020 is ERROR_SHARING_VIOLATION.
Lock investigation
Restart Manager reported no user-mode locks on ChatGPT.exe or the core package DLLs.
A scan of loaded process modules found no process still loading DLLs from the Codex package.
No remaining user-mode Codex/ChatGPT process was running.
The package's virtual registry hives were nevertheless still mounted under a residual \REGISTRY\WC\Silo... namespace.
The backing package files included SystemAppData\Helium\User.dat, UserClasses.dat, and a package cache .dat hive.
Restart Manager identified the holders of User.dat as PID 4 (System) and the Windows Registry process, both critical system processes. This is consistent with a still-mounted package/container hive rather than an ordinary file handle from another application.
Restarting AppXSvc did not release the hive. Resetting the app data could not replace the locked hive file.
Other MSIX apps on the same machine also had mounted virtual registry hives and launched normally, so “hive mounted” by itself is not the problem. The Codex-specific failure was the inability to create/convert the Desktop AppX container while the previous container state remained present.
Recovery
A full Windows restart cleared the stale container/session state. The app then launched normally. Logging out and back in would likely have the same effect, but only reboot was verified.
The Codex CLI continued to work throughout because it did not depend on this Desktop AppX container activation path.
Interpretation (not claiming proven causality)
The evidence shows two consecutive failures around the update:
an old version process remained stuck and intercepted subsequent single-instance launches;
after that process was terminated, new-version activation failed while Windows still retained the package container/virtual-registry state.
It is not proven whether force-terminating the process created the residual container state, or whether the update/hang had already left the container inconsistent. The failure is best described as an update + process/container lifecycle race until the responsible component is confirmed.
I have also seen reports from multiple other users describing the same top-level symptom immediately after desktop updates, although their underlying error code may differ.
Suggested safeguards
Do not finalize activation of the new package version until the old main process and child processes have exited cleanly.
Add a timeout and stale-instance fallback to the single-instance wakeup handshake.
Detect Event 208/215 or 0x80070020 during activation and present an explicit “sign out or restart Windows to finish the update” recovery message instead of silently exiting.
Add update-time diagnostics around Desktop AppX container/job conversion and virtual registry hive teardown.
Windows WER also contains earlier Codex hangs/crashes across several package versions on this machine (MoAppHang, MoBEX, MoAppCrash, and HamLkd), so this does not appear to be an isolated one-off event. I can provide the relevant .evtx exports or WER report IDs if maintainers need them.
Activity
github-actions commentedon Jun 1, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
s110905 commentedon Jun 12, 2026
Same symptoms here, confirming this is not machine-specific.
Environment
Behavior
Launching the app spawns the full Electron process tree —
main+gpu-process+crashpad-handler+ two utilities (network.mojom.NetworkService,storage.mojom.StorageService) — which all live for ~2.8–3.3s and then exit together. A renderer process is never created, so no window ever appears. The Rust CLI works fine.Crucially this is a clean exit, not a crash: no WER report, no Crashpad dump, no Application/AppHost error in Event Viewer. The desktop log just stops at:
i.e. the main process quits before it ever builds the window/renderer.
Already tried (all ineffective):
Reset-AppxPackage(full reset to fresh-install state) — still exits at +3.3s with no rendererExtra data point that may help isolate it: on this machine a Windows cumulative update (KB5094126, build 26200.8655) had separately made the bundled
node.exebackend fail-fast withc0000409. Removing that KB eliminated thec0000409crash entirely — but the GUI still won't open, with the clean-exit behavior above, on a known-good build (26200.8524) without KB5094126. So the "no window" problem is independent of the node crash and reproduces without that KB.Happy to provide logs.
zapabob commentedon Jun 19, 2026
Adding another repro on the current Microsoft Store/MSIX build. This appears to be the same symptom, but on a newer package version and on an ASCII-only Windows user profile path.
Environment
OpenAI.Codex_26.616.4196.0_x64__2p2nqsd0c76g0Okcodex-cli 3.2.0C:\Users\<redacted>) — no CJK/non-ASCII characters in the profile directory.Reproduction
Launch Codex Desktop from Start Menu / AppUserModelId:
Wait 20 seconds.
Check Codex processes and Win32 top-level windows.
Actual behavior
The app starts a Codex process tree, but no GUI window is created.
Observed immediately after launch:
A direct Win32 enumeration over all
Codex.exePIDs also finds no top-level windows:So this is not just an off-screen or hidden main window: there is no top-level BrowserWindow / Win32 window associated with the Codex processes.
codex appalso exits after printing the desktop handoff message, but the desktop GUI never appears.Expected behavior
Codex Desktop should create and show the main GUI window.
What still works
The CLI is healthy and usable:
codex doctor --summaryreports the local install/auth/state/connectivity as healthy overall:Notes
Codex.exeprocess tree and relaunching does not restore the GUI.26.616.4196.0) and did not change the behavior.zapabob commentedon Jun 19, 2026
Follow-up: I also tested after explicitly disabling WSL mode in
config.tomland switching the integrated terminal back to PowerShell.Changed settings:
After killing all
Codex.exeprocesses and relaunching the MSIX app, the behavior is unchanged:Final process snapshot:
The latest logs no longer show the previous repeated WSL spawning pattern; app/plugin/list calls return, but the desktop app still creates no visible/top-level window.
vspruyt commentedon Jul 7, 2026
I hit the same issue on Windows after a clean/first install of the Codex desktop app: opening Codex Desktop created several background
Codex.exeprocesses, but no UIever appeared.
I asked Codex-CLI to find the issue for me and it got it running. Below is what Codex-CLI did to fix the issue for me, I asked it write down the steps so this is a copy/paste of that:
laz-jamesfuller commentedon Jul 17, 2026
Confirmed another recovery path for this exact no-GUI/no-renderer symptom on the current Microsoft Store build.
Environment and failure signature
OpenAI.Codex_26.715.2305.0_x64__2p2nqsd0c76g0codex.exe app-serverinitialized and reachedconnected.--type=rendererprocess was created and no top-level window existed.Restart, Store update, AppX re-registration, GPU-disabled launch, and rotating GPU/Dawn/Code caches did not help.
The
cua_noderuntime was already finalized and healthy (v24.14.0), with no.staging-*directory, so the July 7 staging-directory workaround above did not apply.Root cause indicator
The shared Codex log database was unusually large:
state_5.sqliteand the auth/state files were left untouched.Reversible recovery
After resolving and stopping only the packaged Codex process tree, I moved these three files into a timestamped backup directory under
~/.codex/maintenance-backups/:Then I relaunched the Store app and allowed it to create a fresh log DB.
Result
Before:
After the log DB rotation:
The UI appeared immediately and remained visible/responding on a follow-up check. The fresh
logs_2.sqlitewas recreated normally. The 5.15 GB database and sidecars remain available for rollback/private diagnostic collection.This suggests startup should detect or tolerate an oversized/problematic
logs_2.sqlite, and a supported doctor/recovery path could rotate only the log DB after confirming no relevant Codex processes are active. A broadReset-AppxPackageor reinstall was not needed in this case.lwz20210407 commentedon Jul 24, 2026
I encountered the same user-visible symptom after an in-app update, but with a distinct and well-captured Windows AppX container failure signature. I am adding the details because this appears to be another update/runtime lifecycle path to the same “background process, no GUI” outcome.
Environment
Microsoft Windows NT 10.0.26200.0 x64(Windows 11 Pro)OpenAI.Codex_2p2nqsd0c76g0app\ChatGPT.exe26.715.10079.0->26.721.3404.026.721.3996.0Sequence and observed behavior
ChatGPT.exeprocess from the previous day remained alive in an abnormal state: one thread, about 2.3 GB working set,MainWindowHandle = 0, and no visible UI.taskkill /Ffailed with access denied. An elevatedtaskkill /F /IM ChatGPT.exeremoved the stale process.Status = Ok. Re-registeringAppxManifest.xmlalso succeeded.There were 52 matching Event 208/215 records between 09:44 and 10:53 on the affected day.
0x80070020isERROR_SHARING_VIOLATION.Lock investigation
ChatGPT.exeor the core package DLLs.\REGISTRY\WC\Silo...namespace.SystemAppData\Helium\User.dat,UserClasses.dat, and a package cache.dathive.User.datas PID 4 (System) and the WindowsRegistryprocess, both critical system processes. This is consistent with a still-mounted package/container hive rather than an ordinary file handle from another application.AppXSvcdid not release the hive. Resetting the app data could not replace the locked hive file.Other MSIX apps on the same machine also had mounted virtual registry hives and launched normally, so “hive mounted” by itself is not the problem. The Codex-specific failure was the inability to create/convert the Desktop AppX container while the previous container state remained present.
Recovery
A full Windows restart cleared the stale container/session state. The app then launched normally. Logging out and back in would likely have the same effect, but only reboot was verified.
The Codex CLI continued to work throughout because it did not depend on this Desktop AppX container activation path.
Interpretation (not claiming proven causality)
The evidence shows two consecutive failures around the update:
It is not proven whether force-terminating the process created the residual container state, or whether the update/hang had already left the container inconsistent. The failure is best described as an update + process/container lifecycle race until the responsible component is confirmed.
I have also seen reports from multiple other users describing the same top-level symptom immediately after desktop updates, although their underlying error code may differ.
Suggested safeguards
0x80070020during activation and present an explicit “sign out or restart Windows to finish the update” recovery message instead of silently exiting.Windows WER also contains earlier Codex hangs/crashes across several package versions on this machine (
MoAppHang,MoBEX,MoAppCrash, andHamLkd), so this does not appear to be an isolated one-off event. I can provide the relevant.evtxexports or WER report IDs if maintainers need them.