Skip to content

[Windows][26.825.4187.0] Startup blocked for 5+ minutes by pending in-app update policy after AppX transition #41339

Open

Description

@selfrestart

What version of the Codex / ChatGPT Desktop app are you using?

26.825.4187.0

Package:

OpenAI.Codex_26.825.4187.0_x64__2p2nqsd0c76g0

Platform

Windows x64, Windows build 10.0.26200.0.

What issue are you seeing?

After the Microsoft Store/AppX package transitioned from 26.820.9563.0 to 26.825.4187.0, launching the Windows desktop app could block for more than five minutes before the UI appeared.

The user clicked the desktop icon several times because there was no visible window. This produced multiple launch attempts, but the important failure was that each attempt stopped at the same startup gate. The final attempt eventually continued after the wait timed out.

This is not the same as a normal multi-instance warning, and it is not a renderer-only hang. The app's main process was created, but the startup critical path did not proceed to the app-server or visible window until the update-policy wait expired.

Evidence from the app logs

On the affected launch:

2026-08-28T14:01:33.160Z [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
2026-08-28T14:07:10.475Z Failed to load shell env caller=startup detail="Timed out after 5000ms" durationMs=337306 status=timed_out
2026-08-28T14:07:10.476Z [sparkle] in_app_updates_policy_timeout policy=pending timeoutMs=300000
2026-08-28T14:07:12.887Z [StdioConnection] stdio_transport_spawned ... codex.exe
2026-08-28T14:07:13.569Z [startup] Host startup critical-path phases completed startupElapsedMs=341110
2026-08-28T14:07:14.260Z [window-manager] window ready-to-show appearance=primary

The durationMs=337306 value is approximately 5 minutes 37 seconds and overlaps the pending update-policy wait. The shell env message therefore appears to be a downstream timeout/reporting symptom rather than the initial cause.

Five earlier launch attempts on the same day produced only the initial startup lines and stopped at the same gate:

in_app_updates_policy_wait_started timeoutMs=300000
Launching app ... platform=win32
Appshot hotkey inactive ...

They did not reach StdioConnection, window ready-to-show, or the normal startup completion log.

Relevant Windows AppX timeline

Windows AppX logs show the following sequence:

  • 21:45:21: deployment processing began for the Codex package.
  • 21:48:37: the old 26.820.9563.0 desktop AppX container was destroyed.
  • 21:48:38: the package state was updated successfully.
  • 21:48:39: registration of 26.825.4187.0 completed successfully; the registration performance summary reports about 2344 ms.
  • 22:01:31: the new package launched ChatGPT.exe successfully.
  • 22:07:10: the in-app update-policy wait timed out.
  • 22:07:13: the app-server initialized and the main frame finished loading.

This suggests that AppX registration itself was successful and took seconds, while a subsequent startup coordination/update-policy state remained pending and blocked the app for several minutes.

Additional observations

  • Get-AppxPackage OpenAI.Codex currently reports Status: Ok and version 26.825.4187.0.
  • Windows NTFS health events reported all volumes healthy during the same period.
  • No Application Error, Windows Error Reporting, or Application Hang event was recorded for the final launch window.
  • codex.exe started successfully immediately after the policy wait timed out.
  • A stale vendor_imports\\skills\\.git\\info\\sparse-checkout.lock caused recommended-skills sync to fail later, but it did not explain the pre-window startup delay.
  • Some post-start API requests returned 401 Unauthorized; these occurred after the window was available and are unrelated to the startup delay.

Steps to reproduce / observed behavior

  1. Have the Windows Store version of Codex Desktop installed.
  2. Start the app around an AppX version transition or after the package has been updated.
  3. Observe that the app process is created but no visible window appears.
  4. Repeated launch attempts may create additional startup attempts that also stop at in_app_updates_policy_wait_started.
  5. Wait several minutes.
  6. The policy wait times out, then codex.exe starts and the desktop window appears.

Expected behavior

The desktop window should become available promptly. An update-policy check should not block the entire startup critical path for five minutes. If the update policy is still pending, the app should continue starting and handle the update state asynchronously or fail it quickly with a recoverable result.

Actual behavior

The app waits approximately 5 minutes 37 seconds before continuing startup. During that time the user sees no usable desktop UI and cannot tell whether the launch succeeded.

Related issues / distinction

This appears distinct from:

The issue is reproducible in the sense that multiple launch attempts on the same machine during this state stopped at the same startup gate, although the exact trigger for the pending policy state is not yet known.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    on Aug 28, 2026
  2. github-actions commented on Aug 28, 2026

    @github-actions
    Contributor
  3. etoqeyeyise49-lang commented on Aug 28, 2026

    @etoqeyeyise49-lang

    I can reproduce this repeatedly on the same Store build, including two separate launches on the same day. This adds a control showing that the local shell itself is fast while the pending update-policy gate remains on the startup critical path.

    Environment

    • Desktop package: OpenAI.Codex_26.825.4187.0_x64
    • Windows x64, OS build 26200
    • AppX package is installed and reports a healthy status

    Reproduction

    1. Launch Codex Desktop normally from Windows.
    2. The process starts, but no usable window appears.
    3. Wait several minutes without terminating or resetting the app.
    4. The update-policy wait times out; app-server initialization and the main window then complete within seconds.
    5. Repeat: the same sequence occurred again later that day.

    Sanitized timelines

    Launch A:

    04:41:48.776Z  in_app_updates_policy_wait_started timeoutMs=300000
    04:50:14.836Z  Failed to load shell env ... durationMs=506054 status=timed_out timeoutMs=5000
    04:50:14.837Z  in_app_updates_policy_timeout policy=pending timeoutMs=300000
    04:50:19.194Z  initialize_handshake_result outcome=success durationMs=456
    04:50:20.855Z  startup critical path completed startupElapsedMs=512503
    

    Launch B:

    15:51:44.011Z  in_app_updates_policy_wait_started timeoutMs=300000
    15:58:11.160Z  Failed to load shell env ... durationMs=387145 status=timed_out timeoutMs=5000
    15:58:11.160Z  in_app_updates_policy_timeout policy=pending timeoutMs=300000
    15:58:13.620Z  initialize_handshake_result outcome=success durationMs=361
    15:58:13.883Z  startup critical path completed startupElapsedMs=390434
    

    An earlier launch on the prior Store build showed the same downstream shell-env signature and recovered after about 602 seconds, but did not contain the update-policy lines in the filtered excerpt:

    Failed to load shell env ... durationMs=596878 status=timed_out timeoutMs=5000
    initialize_handshake_result outcome=success durationMs=687
    startup critical path completed startupElapsedMs=602077
    

    Shell control

    Fresh local measurements:

    powershell.exe -NoLogo -NoProfile -Command exit  -> 609 ms
    powershell.exe -NoLogo -Command exit             -> 314 ms
    

    There are no user or system PowerShell profile files on this machine. This makes a genuinely slow interactive PowerShell startup unlikely to explain the 387–506 second waits.

    Interpretation

    For the two current-build launches, the Failed to load shell env duration overlaps the pending in-app update-policy wait and is logged at essentially the same moment as in_app_updates_policy_timeout. Once that gate returns, app-server initialization and window loading are fast. This supports the issue's conclusion that the update-policy state is the upstream blocker and the shell-env warning is a downstream/coincident symptom.

    I have intentionally omitted full raw logs because they contain local paths and workspace metadata. Sanitized excerpts can be expanded if maintainers need additional event names.

  4. xxh16384 commented on Aug 28, 2026

    @xxh16384

    Independent reproduction on the same Windows Store build (26.825.4187.0). This run is slightly different from the original report and may help narrow down the blocking point.

    Observed process state before the UI appeared

    • Get-AppxPackage OpenAI.Codex reported Status: Ok.
    • A single normal launch created the Chromium process tree (main process, crashpad, GPU, network, storage), but no --type=renderer process was present.
    • All ChatGPT.exe processes had MainWindowHandle = 0 and reported Responding = True.
    • The main process continued consuming CPU while no window was visible.

    Sanitized timeline

    17:38:57.869Z  [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    17:38:58.004Z  [AppServerConnection] Initializing app-server transport
    17:38:58.006Z  [AppServerConnection] Starting app-server connection hostId=local transport=stdio
    
    17:43:34.627Z  Failed to load shell env caller=startup
                      detail="Timed out after 5000ms."
                      durationMs=276754
                      status=timed_out
                      timeoutMs=5000
    
    17:43:38.555Z  [StdioConnection] stdio_transport_spawned ... codex.exe
    17:43:39.295Z  [window-manager] window main frame finished load
    17:43:39.629Z  [window-manager] window ready-to-show
    17:43:39.729Z  initialize_handshake_result outcome=success
    17:43:39.745Z  startup critical-path phases completed startupElapsedMs=282296
    

    Notable difference from the original reproduction

    In this run, the app recovered after about 282.3 seconds (~4m42s), i.e. before the configured 300000 ms update-policy timeout. The captured log did not contain an in_app_updates_policy_timeout line before the app-server spawned and the window appeared.

    The unusual part is that the shell-env operation reports timeoutMs=5000 but actually remained on the startup path for 276754 ms. Once that call returned, codex.exe spawned about 4 seconds later and the window became ready about 1 second after that.

    This suggests the pending update-policy state and shell-env/startup coordination are strongly correlated, but the UI may not be blocked strictly on the 300-second policy timeout itself. The renderer/window is never created during the long wait; after the wait clears, the rest of startup completes normally within a few seconds.

    Full raw logs are omitted because they contain local paths and environment entries, but I can provide additional sanitized events if useful.

  5. 88766lawrence commented on Aug 29, 2026

    @88766lawrence

    Independent reproduction on Windows with the same Microsoft Store build.

    Environment

    • Desktop package: OpenAI.Codex_26.825.4187.0_x64__2p2nqsd0c76g0
    • Windows 11 x64
    • Codex CLI and the VS Code Codex extension remained functional while the desktop UI was unavailable

    Reproduction

    1. Launch Codex Desktop after restarting Windows.
    2. No visible window appears, although the launch command returns without an error.
    3. Do not terminate the process or start another instance.
    4. After approximately six minutes, the normal Codex window appears with the existing projects and conversations intact.

    The behavior had also occurred the previous night. The app was usable the next morning, but restarting Windows reproduced the long invisible startup again.

    Sanitized startup log

    2026-08-29T00:04:17.684Z info [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    2026-08-29T00:04:17.687Z info Launching app agentRunId=null allowDebugMenu=false allowDevtools=false allowInspectElement=false buildFlavor=prod enableSparkle=false enableUpdater=true nodeEnv=undefined packaged=true platform=win32
    2026-08-29T00:04:17.847Z info Appshot hotkey inactive configured=true enabled=false platform=win32
    

    The UI became visible only after the wait period, at roughly 00:10Z. This independently confirms that the application can look completely dead during the pending update-policy gate and then recover without another launch attempt.

    No private paths or full raw logs are included.

  6. Haoting-wang commented on Aug 29, 2026

    @Haoting-wang

    Independent reproduction on Windows with Codex Desktop 26.825.4187.0.

    What I observe

    • Launching Codex creates the normal background process group (Task Manager shows Codex (6)), including a main process using several hundred MB of memory.
    • No visible Codex window is created.
    • The processes remain running in the background.

    Troubleshooting already tried

    • Windows app Reset
    • Completely uninstalled and reinstalled Codex

    The problem persists after reinstalling the same Store build.

    Sanitized latest startup log

    2026-08-28T22:16:44.281Z info [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    2026-08-28T22:16:44.282Z info Launching app ... buildFlavor=prod enableUpdater=true packaged=true platform=win32
    2026-08-28T22:16:44.387Z info Appshot hotkey inactive configured=true enabled=false platform=win32
    

    The log does not progress to StdioConnection, startup critical-path phases completed, or window ready-to-show.

    This is slightly worse than the recoverable cases already described in this issue: on this machine the app can remain headless indefinitely rather than merely showing the UI after the ~300 s policy wait. Resetting and reinstalling do not clear the state.

    I am omitting full raw logs because they contain local paths/user information, but I can provide additional sanitized events if maintainers need them.

  7. redniu123 commented on Aug 29, 2026

    @redniu123

    I can reproduce this issue on Windows with Codex Desktop 26.825.4187.0.

    Package:
    OpenAI.Codex_26.825.4187.0_x64__2p2nqsd0c76g0

    After an update, Codex launches background ChatGPT.exe processes but no visible window appears.

    My latest startup log stops at:

    [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    Launching app ... enableSparkle=false enableUpdater=true ... platform=win32
    Appshot hotkey inactive configured=true enabled=false platform=win32
    

    I confirmed that if I launch Codex once and wait for approximately 5 minutes, the application eventually opens successfully.

    Reinstalling Codex did not fix the issue.

    This strongly suggests the pending update-policy check is blocking the startup critical path.

    Please do not block application startup on this update-policy state. The update check should run asynchronously, or fail quickly and allow the UI to start.

    A five-minute invisible startup with background processes running makes the application appear completely broken and causes users to repeatedly launch or reinstall it unnecessarily.

  8. redniu123 commented on Aug 29, 2026

    @redniu123

    This behavior is unacceptable for production software.

    A desktop application should NEVER block its entire startup path for five minutes just because an update-policy state remains pending. An updater is a secondary component. It should not be allowed to make the core application appear completely dead.

    What makes this especially bad is the user experience:

    • The Codex processes are clearly running in Task Manager.
    • No window appears.
    • There is no loading indicator.
    • There is no error message.
    • There is no explanation.
    • There is no way for the user to know that the application is silently waiting for a 300,000 ms timeout.

    From the user's perspective, the application is simply broken.

    This design actively encourages users to repeatedly click the application, kill processes, reinstall Codex, reset application data, clear caches, and potentially put valuable local sessions and configuration at risk — all because a non-critical updater component is blocking the startup critical path.

    That is not a minor UX issue. It is a serious reliability and architectural failure.

    An update check should be asynchronous. If the update service is unavailable, stuck, or returns a pending state, Codex should start normally and handle the update in the background. Under no reasonable design should an updater be able to hold the entire application hostage for five minutes.

    I reproduced this on Codex Desktop 26.825.4187.0. The log clearly shows:

    [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    Launching app ... enableSparkle=false enableUpdater=true ...
    Appshot hotkey inactive ...
    

    After approximately five minutes, Codex finally opens.

    Please treat this as a high-priority regression.

    More importantly, please reconsider the architecture that allows an update-policy check to block application startup at all. A failure in an optional update mechanism must never translate into a five-minute failure of the primary product.

    For a developer tool that users may depend on for important projects and valuable local work, this level of startup reliability is simply not acceptable.

  9. Ever-scut commented on Aug 29, 2026

    @Ever-scut

    Independent reproduction on Windows with Codex Desktop package OpenAI.Codex_26.825.4187.0_x64__2p2nqsd0c76g0.

    Additional data point

    On this machine, a normal launch created the ChatGPT/Codex background process group but no visible window. The startup log contained:

    2026-08-29T07:32:47.671Z info [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    2026-08-29T07:32:47.672Z info Launching app ... enableSparkle=false enableUpdater=true ... packaged=true platform=win32
    

    The UI finally became visible at approximately 15:41 local time (UTC+8), i.e. roughly 8 minutes after the logged startup gate began. This is longer than the configured 300,000 ms policy timeout and suggests that some affected launches can remain blocked substantially beyond five minutes.

    Workaround test

    Before this launch, the app was started with the process environment variable:

    $env:CODEX_SPARKLE_ENABLED = "false"

    and launched from the installed AppX package. The log still reported:

    enableSparkle=false enableUpdater=true
    [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    

    so disabling Sparkle through this environment variable did not bypass the pending update-policy startup gate on this build.

    No private paths or full raw logs are included. This appears to be the same startup-blocking regression described in this issue, with a longer observed recovery time.

  10. yuyi-coder commented on Aug 29, 2026

    @yuyi-coder

    Independent follow-up after a full Windows restart. The issue persists on a newer Store package, so restarting Windows did not clear the condition and the regression is not limited to 26.825.4187.0.

    Environment

    • Previous affected package: OpenAI.Codex_26.825.4187.0_x64__2p2nqsd0c76g0
    • Current affected package after automatic update: OpenAI.Codex_26.825.5331.0_x64__2p2nqsd0c76g0
    • Windows x64

    Latest sanitized timeline

    2026-08-29T08:10:24.450Z  [sparkle] in_app_updates_policy_wait_started timeoutMs=300000
    2026-08-29T08:10:24.451Z  Launching app ... enableUpdater=true platform=win32
    2026-08-29T08:16:57.267Z  Failed to load shell env ... durationMs=392816 status=timed_out timeoutMs=5000
    2026-08-29T08:16:57.268Z  [sparkle] in_app_updates_policy_timeout policy=pending timeoutMs=300000
    2026-08-29T08:17:00.539Z  stdio_transport_spawned ... codex.exe
    2026-08-29T08:17:00.752Z  initialize_handshake_result durationMs=212 outcome=success
    2026-08-29T08:17:01.235Z  startup critical path completed startupElapsedMs=397702
    2026-08-29T08:17:01.504Z  window ready-to-show
    2026-08-29T08:17:06.973Z  in_app_updates_policy_latch enabled=true ignored=true policy=allowed
    

    The UI was unavailable for about 397.7 seconds (6m38s). Once the pending update-policy wait returned, codex.exe spawned and the window became ready in roughly four seconds.

    Additional controls

    • A full Windows restart did not fix the behavior.
    • No sleep/wake, display-driver reset, Codex crash, or Windows application-hang event occurred during this blocked interval.
    • Fresh PowerShell startup controls complete in approximately 0.25-0.32 s.
    • No user or system PowerShell profile scripts are present.
    • Earlier affected launches measured approximately 314.2 s and 360.9 s; this latest build measured 397.7 s.

    The reported shell-env duration again ends at essentially the same instant as in_app_updates_policy_timeout, despite its nominal timeoutMs=5000. This makes the shell-env warning look downstream or coincident rather than the primary cause. The strongest correlation remains the pending update-policy gate on the startup critical path.

    Full raw logs are intentionally omitted because they contain local paths, environment entries, and workspace metadata.

  11. etoqeyeyise49-lang commented on Aug 29, 2026

    @etoqeyeyise49-lang

    Additional independent reproduction on the newer Store package, with a substantially longer delay than the earlier reports.

    Environment

    • Desktop package: OpenAI.Codex_26.825.5331.0_x64
    • Bundled app-server: 0.151.0-alpha.7.1
    • Windows x64, OS build 26200

    User-visible result

    The app was launched normally at approximately 21:36 local time (UTC+8). Background processes existed, but the usable main window did not finish loading until approximately 21:49. No reset, reinstall, cache deletion, or forced termination was performed; the app eventually recovered on its own.

    Sanitized startup timeline

    2026-08-29T13:36:48.877Z  in_app_updates_policy_wait_started timeoutMs=300000
    2026-08-29T13:36:48.882Z  Launching app enableSparkle=false enableUpdater=true packaged=true platform=win32
    
    [approximately 12 minutes with no usable main window]
    
    2026-08-29T13:48:58.287Z  Failed to load shell env caller=startup
                                  detail="Timed out after 5000ms."
                                  durationMs=729405
                                  status=timed_out
                                  timeoutMs=5000
    2026-08-29T13:48:58.288Z  in_app_updates_policy_timeout policy=pending timeoutMs=300000
    2026-08-29T13:49:02.416Z  Current reported app-server version: currentVersion=0.151.0-alpha.7.1
    2026-08-29T13:49:02.417Z  initialize_handshake_result outcome=success durationMs=769
    2026-08-29T13:49:04.865Z  window main frame finished load appearance=primary
    2026-08-29T13:49:04.942Z  Host startup critical-path phases completed startupElapsedMs=736783
    

    Total measured startup time was 736,783 ms (12m16.8s). The nominal five-minute update-policy timeout did not return until approximately 729 seconds had elapsed. After in_app_updates_policy_timeout was logged, app-server initialization and main-frame loading completed in about 6.6 seconds.

    Why this is useful

    This confirms that the regression persists on 26.825.5331.0 with the newer bundled app-server 0.151.0-alpha.7.1, and that affected launches can exceed both the nominal 5-second shell-env timeout and the 300-second update-policy timeout by a large margin. The tight timestamp alignment again indicates that the shell-env warning is downstream or coincident, while the strongest observable startup gate remains the pending update-policy wait.

    Full raw logs are intentionally omitted because they contain local paths and workspace metadata. No sensitive paths, environment values, account identifiers, or project content are included above.

  12. yuan86927 commented on Aug 29, 2026

    @yuan86927

    Independent reproduction on another Windows system with the same Codex App version: 26.825.4187.0.

    I encountered almost exactly the same startup behavior.

    Initial symptom

    Launching Codex created multiple ChatGPT.exe processes, but no visible window appeared.

    Get-AppxPackage showed that the package itself was correctly installed:

    Name              : OpenAI.Codex
    PackageFullName   : OpenAI.Codex_26.825.4187.0_x64__2p2nqsd0c76g0
    PackageFamilyName : OpenAI.Codex_2p2nqsd0c76g0
    Status            : Ok
    

    The Start menu registration was also present:

    Name    AppID
    ----    -----
    ChatGPT OpenAI.Codex_2p2nqsd0c76g0!App
    

    Window state

    I checked all Codex/ChatGPT processes with:

    Get-Process ChatGPT -ErrorAction SilentlyContinue |
    Select-Object Id, CPU, Responding, MainWindowHandle, MainWindowTitle

    There were six responsive ChatGPT.exe processes, but every process showed:

    Responding       : True
    MainWindowHandle : 0
    MainWindowTitle  :
    

    So this was not an off-screen or hidden window: no main window had been created.

    config.toml exclusion test

    I temporarily renamed %USERPROFILE%\.codex\config.toml and launched Codex without the configuration file.

    The behavior was unchanged:

    • 6 ChatGPT.exe processes
    • all responsive
    • all MainWindowHandle = 0
    • no visible GUI

    I therefore restored the original configuration.

    Long startup observation

    I terminated all existing processes, launched Codex exactly once using:

    Start-Process explorer.exe -ArgumentList 'shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App'

    Then I monitored the processes every 10 seconds.

    The result stayed unchanged for the full 420-second observation period:

    10 sec   processes=6  window=False
    20 sec   processes=6  window=False
    ...
    400 sec  processes=6  window=False
    410 sec  processes=6  window=False
    420 sec  processes=6  window=False
    

    Immediately after this observation period completed, the Codex desktop window appeared.

    Subsequent launch

    After the first successful startup, I closed Codex, terminated the processes, and launched it again.

    This time:

    5 sec  processes=8  window=True
    

    The GUI appeared normally within approximately five seconds.

    Conclusion

    This independent reproduction strongly matches the behavior described in this issue:

    First/post-update launch
    → ChatGPT.exe processes start
    → processes remain responsive
    → MainWindowHandle remains 0
    → no visible GUI for several minutes
    → GUI eventually appears
    → subsequent launches work normally
    

    In my case, removing config.toml did not change the behavior, and AppX package registration remained healthy throughout.

    I did not reset or reinstall the application. Simply allowing the initial startup to continue long enough eventually resolved the state.

    Hopefully this additional reproduction helps confirm the scope of the Windows startup issue.

  13. etoqeyeyise49-lang commented on Aug 30, 2026

    @etoqeyeyise49-lang

    Additional same-day control on the newer Store package: one launch completed normally in 7.5 seconds, while a later launch on the same machine and configuration was blocked for 10m11.5s. This makes the intermittent/race-like nature of the update-policy startup gate especially clear.

    Environment

    • Desktop package: OpenAI.Codex_26.825.6671.0_x64
    • Bundled app-server during slow launch: 0.151.0-alpha.7.2
    • Windows x64, OS build 26200

    Fast control launch

    2026-08-30T01:50:01.022Z  in_app_updates_policy_wait_started timeoutMs=300000
    2026-08-30T01:50:01.027Z  Launching app enableSparkle=false enableUpdater=true packaged=true platform=win32
    2026-08-30T01:50:07.817Z  Current reported app-server version: 0.151.0-alpha.7.1
    2026-08-30T01:50:07.818Z  initialize_handshake_result outcome=success durationMs=621
    2026-08-30T01:50:07.836Z  window main frame finished load appearance=primary
    2026-08-30T01:50:07.873Z  Host startup critical-path phases completed startupElapsedMs=7544
    2026-08-30T01:50:51.092Z  in_app_updates_policy_latch enabled=true ignored=false policy=pending
    

    The main window became available in 7,544 ms (7.5s) even though the update policy later remained pending. In this launch, policy evaluation did not block first-window creation.

    Slow launch later the same day

    2026-08-30T08:59:38.909Z  in_app_updates_policy_wait_started timeoutMs=300000
    2026-08-30T08:59:38.911Z  Launching app enableSparkle=false enableUpdater=true packaged=true platform=win32
    2026-08-30T09:09:43.933Z  Failed to load shell env ... durationMs=605021 status=timed_out timeoutMs=5000
    2026-08-30T09:09:43.934Z  in_app_updates_policy_timeout policy=pending timeoutMs=300000
    2026-08-30T09:09:48.812Z  Current reported app-server version: 0.151.0-alpha.7.2
    2026-08-30T09:09:48.813Z  initialize_handshake_result outcome=success durationMs=457
    2026-08-30T09:09:49.875Z  window main frame finished load appearance=primary
    2026-08-30T09:09:49.939Z  Host startup critical-path phases completed startupElapsedMs=611546
    2026-08-30T09:09:58.534Z  in_app_updates_policy_latch enabled=true ignored=true policy=allowed
    

    The slow launch took 611,546 ms (10m11.5s). Once the update-policy timeout returned, app-server initialization and main-frame loading completed within roughly six seconds.

    Four intervening launch attempts produced only the initial in_app_updates_policy_wait_started and Launching app lines, without reaching app-server initialization or window creation. This is consistent with repeated user attempts while the application remained invisible, rather than ordinary slow rendering.

    Interpretation

    Both the fast and slow launches began update-policy evaluation, and the fast launch demonstrates that a pending policy state does not inherently require blocking the UI. The failure appears intermittent: in the healthy path, the main window starts while policy evaluation remains pending; in the failing path, the same policy state blocks the startup critical path for approximately ten minutes. This comparison may help isolate a latch/coordination race rather than a consistently slow dependency.

    Full logs and local paths are intentionally omitted.

  14. etoqeyeyise49-lang commented on Sep 3, 2026

    @etoqeyeyise49-lang

    Follow-up from the same machine on 2026-09-03: prolonged startup has recurred after updating to a newer desktop package, following several much faster launches in the intervening days.

    Affected version

    • Running desktop package: OpenAI.Codex_26.901.1978.0_x64
    • Bundled app-server reported by this launch: 0.153.0-alpha.5
    • Platform: Windows x64

    Latest completed launch — sanitized timeline (UTC)

    2026-09-03T09:59:29.704Z  in_app_updates_policy_wait_started timeoutMs=300000
    2026-09-03T09:59:29.706Z  Launching app enableSparkle=false enableUpdater=true packaged=true platform=win32
    2026-09-03T09:59:29.929Z  Initializing app-server transport
    2026-09-03T09:59:29.931Z  Starting app-server connection hostId=local transport=stdio
    
    [approximately 587 seconds without completing startup]
    
    2026-09-03T10:09:16.642Z  Failed to load shell env caller=startup
                             detail="Timed out after 5000ms."
                             durationMs=586935 status=timed_out timeoutMs=5000
    2026-09-03T10:09:16.643Z  in_app_updates_policy_timeout policy=pending timeoutMs=300000
    2026-09-03T10:09:20.525Z  stdio_transport_spawned
    2026-09-03T10:09:21.519Z  Current reported app-server version: 0.153.0-alpha.5
    2026-09-03T10:09:21.519Z  initialize_handshake_result durationMs=991 outcome=success
    2026-09-03T10:09:23.073Z  window main frame finished load appearance=primary
    2026-09-03T10:09:23.187Z  Host startup critical-path phases completed startupElapsedMs=594322
    2026-09-03T10:09:23.639Z  window ready-to-show appearance=primary
    2026-09-03T10:11:11.252Z  in_app_updates_policy_latch enabled=true ignored=true policy=allowed
    

    The app reports 594,322 ms (9m54.3s) for this completed launch. After the policy timeout was logged, main-frame loading completed in about 6.4 seconds; the app-server handshake itself took 991 ms.

    Three earlier attempts at 09:47:47, 09:51:04, and 09:54:32 UTC contain the initial policy-wait/launch messages but no startup-completion or window-load event. The span from the earliest attempt to the eventual window load was approximately 21m36s. That is a multi-attempt wall-clock span, not the duration of one continuously running startup.

    Intermittency and interpretation limits

    • On 2026-08-31, three recorded launches on this machine completed in 5.307s, 10.945s, and 15.725s.
    • On 2026-09-02, another launch took 290.582s, so the issue had not completely disappeared before today's update.
    • Today's recurrence confirms the same timeout signature on 26.901.1978.0; it does not by itself prove that this update introduced a new regression.
    • I also want to qualify my earlier comments: the near-simultaneous shell-env and update-policy timeouts establish a strong timing correlation, but these logs alone do not prove that update-policy waiting is the sole root cause, or that a latch/race condition is established. A shared upstream startup blocker remains possible.

    Please investigate why these early-startup operations can exceed their nominal 5-second and 300-second timeouts while delaying the first usable window. Full raw logs, local paths, environment values, account details, and workspace content are intentionally omitted.

  15. etoqeyeyise49-lang commented on Sep 5, 2026

    @etoqeyeyise49-lang

    再次上报:2026-09-05 仍然出现同样超慢启动

    今天再次命中同类现象(同上次 #41339/#41539 的行为):

    • 日志文件:C:\Users\13711\AppData\Local\Codex\Logs\2026\09\05\codex-desktop-0e237c5e-cc72-4a5b-968b-6ffcea6abf83-30212-t0-i1-153025-0.log
    • 现象:主窗口长时间无响应,约 8 分 14 秒后才恢复显示。
    • 关键日志(UTC):
      • 2026-09-05T15:30:25.199Z in_app_updates_policy_wait_started timeoutMs=300000
      • 2026-09-05T15:38:36.219Z Failed to load shell env caller=startup detail="Timed out after 5000ms." durationMs=491018
      • 2026-09-05T15:38:36.220Z in_app_updates_policy_timeout policy=pending timeoutMs=300000
      • 2026-09-05T15:38:39.632Z [startup] Host startup critical-path phases completed startupElapsedMs=494819
      • 2026-09-05T15:38:40.115Z window ready-to-show ... startupElapsedMs=4216

    补充:同一天 15:15 与 15:24 的启动也只停在 in_app_updates_policy_wait_started,未继续;另有一次 t2 启动显示 WSL 检测返回二进制错误。

    建议与 #41539 的同步修复归并看待:

    • in_app_updates_policy_wait 与 Failed to load shell env 挂起/计时异常仍在临界路径上
    • 日志中仍是主线冻结到超时结束后才恢复
  16. iiiiiiiii111iii commented on Sep 6, 2026

    @iiiiiiiii111iii

    Independent reproduction on Windows with newer Codex Desktop package 26.901.6511.0_x64; the previous 26.901.5280.0_x64 package was also affected.

    Latest launch:

    12:31:58Z  update-policy wait started
    12:33:39Z  Failed to load shell env
                 timeoutMs=5000, actual durationMs=101451
    12:33:41Z  app-server initialized successfully in 99 ms
    12:33:41Z  startup completed after 103767 ms
    

    Previous package:

    shell-env durationMs=95524 despite timeoutMs=5000
    total startupElapsedMs=97658
    

    Controls:

    • Windows PowerShell starts in approximately 89–133 ms.
    • Bundled pwsh starts in approximately 138–154 ms.
    • No PowerShell profile scripts are present.
    • Other launches on the same machine completed in 1.5–2.1 seconds.

    This supports an intermittent Codex startup-path/timer defect rather than a consistently slow user shell. Please enforce the five-second timeout without blocking first-window creation.

    No usernames, private paths, credentials, session content, or complete logs are included.

  17. luaelsia commented on Sep 11, 2026

    @luaelsia

    I'm experiencing this issue repeatedly.

    The logs from the update through the first successful launch show the following sequence:

    • Update attempted while the existing Codex instance was still running
    • Failed with 0x80073D02 (ERROR_PACKAGES_IN_USE)
    • ~16s later, update retried with ForceTargetApplicationShutdownOption
    • Old Codex package termination stalled for approximately 94s
    • Near the end of the stall, dllhost.exe (COM Surrogate) associated with the old Codex package hit MoAppHang
    • TerminateApplications then succeeded and package registration completed
    • On the first launch of the new version, ChatGPT.exe and GPU/network/storage processes started, but no renderer or window was created
    • Approximately 3m54s later, renderer processes appeared, followed shortly by the GUI
    • Subsequent launches were immediate

    Observed sequence:

    update → 0x80073D02 → forced-shutdown retry → ~94s termination stall / dllhost MoAppHang → update completes → first launch has no renderer for ~4 min → GUI appears → subsequent launches normal

    I haven't confirmed a direct causal relationship between the update/termination failure and the subsequent ~4-minute startup stall, but they occurred consecutively during the same update transition.

  18. aiken070707 commented on Sep 17, 2026

    @aiken070707

    Also reproducing this on Windows, on two separately managed devices, on
    26.908.9136.0. Same pairing you describe: in_app_updates_policy_wait_started
    timeoutMs=300000 followed by a shell-env step whose 5000 ms timeout returns
    after 158-684 seconds. Posting 11 measurements and a runtime-extraction
    correlation in #41539 to keep it in one place.

  19. tolga-guldutuna commented on Sep 25, 2026

    @tolga-guldutuna

    One caution from a related workaround I am using: I would not describe CODEX_SPARKLE_ENABLED=false as a direct fix for this specific startup-policy stall. This thread already contains evidence that, on 26.825.4187.0, the app still logged enableUpdater=true and entered in_app_updates_policy_wait_started even when the environment variable was set.

    What has been useful operationally is preventing the machine from entering these unattended post-update transitions in the first place:

    • keep the Codex in-app updater disabled during normal work;
    • disable Microsoft Store automatic app updates via the Windows Store AutoDownload=2 policy;
    • when intentionally updating, back up the current settings, temporarily unblock, update manually, verify the registered OpenAI.Codex package is the intended version and Status: Ok, then re-block.

    I documented the backup/unblock/manual-update/re-block workflow here:
    #25770 (comment)

    So this is only a preventive maintenance workaround, not a bypass for the pending-policy gate shown in this issue. The Store policy is also machine-wide, so it affects automatic updates for all Store apps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingperformancewindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions