Skip to content

[Windows][26.901.4073.0] Codex stuck in repeating startup logo → black-screen loop while renderer/app-server remain alive #42808

Open

Description

@bchansuthus-web

What version of the Codex App are you using?

  • Microsoft Store / MSIX package: OpenAI.Codex 26.901.4073.0
  • Package family: OpenAI.Codex_2p2nqsd0c76g0
  • Embedded Chromium observed from the running process command line: 152.0.7977.64

What platform is your computer?

Windows x64. Exact Windows build was not captured during the initial diagnostics.

What issue are you seeing?

Codex cannot complete startup and is stuck in a continuous startup/reload loop.

The exact visible sequence is:

  1. Codex launches and displays the OpenAI/Codex startup logo.
  2. The logo slides upward/disappears as though the normal UI is about to load.
  3. The client area turns black.
  4. The startup logo appears again.
  5. Steps 2–4 repeat continuously.

This is not a static blank/black window. The startup animation repeatedly restarts and the normal Codex UI never becomes usable.

While the loop is occurring, local process inspection shows that the application is not simply crashing:

  • primary ChatGPT.exe remains running;
  • Crashpad processes remain running;
  • ChatGPT.exe --type=gpu-process remains running;
  • network and storage utility processes remain running;
  • multiple ChatGPT.exe --type=renderer processes remain running;
  • codex.exe ... app-server remains running.

The renderer process command line includes --device-scale-factor=3.

The desktop log also reached Git workspace discovery successfully, for example:

[git] [git-origins] worker-complete ...

Using Chromium remote debugging for diagnosis, the renderer target was reachable at:

app://-/index.html

So the renderer exists and can be reached even though the visible app remains in the startup loop.

What steps can reproduce the bug?

  1. Launch Codex Desktop normally on Windows with package 26.901.4073.0.
  2. Observe the startup logo.
  3. The logo slides upward/disappears.
  4. The window turns black.
  5. The startup logo returns.
  6. The same sequence repeats indefinitely and the main UI never becomes usable.

Troubleshooting already performed

The following non-destructive diagnostics/workarounds were attempted and did not resolve the issue:

  1. Fully terminated Codex/ChatGPT processes and relaunched.
  2. Launched the installed MSIX app with:
--disable-features=CalculateNativeWinOcclusion

The flag was confirmed on the running main/GPU/renderer process command lines, but the startup loop continued.

  1. Launched with local Chromium remote debugging enabled.
  2. Successfully discovered the renderer at app://-/index.html.
  3. Successfully connected to its DevTools WebSocket and issued:
{"id":1,"method":"Page.reload","params":{"ignoreCache":false}}

The command was accepted, but the visible startup loop continued unchanged after more than 20 seconds.

  1. Inspected the running process tree and confirmed that the renderer(s), GPU process, utility processes, and Codex app-server stay alive during the loop.

Important preservation constraint

I have intentionally not reset the Codex app, deleted .codex, cleared AppData/profile state, removed plugins, signed out, uninstalled/reinstalled, or altered repositories.

This installation contains important Codex state that I do not want to risk losing or disconnecting, including:

  • conversation/thread history;
  • project history;
  • connected plugins and MCP/tool configuration;
  • connected accounts/links;
  • local Git repositories and worktrees;
  • Codex tools and related local state.

A supported non-destructive recovery procedure would be especially helpful if the root cause is persisted client state rather than the current app build itself.

Expected behavior

Codex should display the startup logo once, finish initialization, and transition to the normal Codex UI.

If initialization fails, the app should surface a clear diagnostic/error state rather than continuously restarting the startup animation.

Additional information

Desktop logs are available under the normal MSIX path:

%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs

No private conversation contents, repository names, credentials, authentication tokens, or local username are included in this report.

Potentially related reports:

This report is for the current 26.901.4073.0 package and includes the additional observation that the renderer at app://-/index.html, GPU process, and codex.exe app-server remain alive, and that an explicit DevTools Page.reload did not recover the UI.

Activity

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

    @github-actions
    Contributor

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

    Powered by Codex Action

  3. bchansuthus-web commented on Sep 4, 2026

    @bchansuthus-web
    Author

    Root cause identified and non-destructive recovery confirmed

    I was able to recover this machine without resetting Codex, deleting .codex, clearing AppData, uninstalling the app, or touching history/plugins/repos.

    Root cause on this machine

    %USERPROFILE%\.codex\config.toml had been corrupted into an all-NUL file:

    • Size: 4902 bytes
    • Contents: 4902 NUL bytes (0x00)
    • No valid TOML sections / keys / values
    • Created/LastWriteTime: 2026-09-04 01:38:51 CT

    Desktop logs repeatedly reported layered-config failures such as:

    error [electron-message-handler] Failed to load layered config
    errorMessage="failed to read configuration layers: ...\.codex\config.toml:1:4903: key with no value, expected `=`"
    

    The same configuration parse failure propagated through startup RPCs including:

    • config/read
    • configRequirements/read
    • permissionProfile/list
    • mcpServerStatus/list
    • experimentalFeature/list / config reload

    JSON-RPC failures were -32603.

    This explains the visible startup loop observed in this issue: Electron/Chromium, authentication, renderer processes, GPU process, and codex.exe app-server all came up, but the main shell could not finish initializing because the config/requirements/permissions layer could not load. The app then returned to the splash/branding state and retried.

    Timeline correlation with the update

    On this machine:

    • Around 01:31 AM CT 2026-09-04, AppX deployment staging completed successfully for OpenAI.Codex_26.901.4073.0.
    • Around 01:38 AM CT, config.toml had been rewritten as the 4902-byte all-NUL file.
    • The Codex binary under %LOCALAPPDATA%\OpenAI\Codex\bin was also updated around the same minute.

    This is a strong temporal correlation with the 26.901.4073.0 update, but I do not have a captured filesystem write proving which process wrote the NUL bytes, so I am not claiming updater causation as definitively proven.

    There is also a related Windows config-update report at #41382 where a Codex update recreated config.toml and changed its file-level ACLs. That is a different failure mode, but it is relevant evidence that Windows update/migration code can replace this file.

    Minimal recovery that worked

    1. Backed up the corrupt file as:
    %USERPROFILE%\.codex\config.toml.corrupt-nulls-20260904160955
    
    1. Restored a prior valid config.toml backup (valid TOML, no NUL bytes) to:
    %USERPROFILE%\.codex\config.toml
    
    1. Restarted Codex Desktop.

    No other Codex state was changed.

    Result

    After restoring only config.toml:

    • the splash → blank → splash loop stopped;
    • Codex opened normally;
    • the previous config parse-error pattern disappeared;
    • config/plugin/feature RPCs returned errorCode=null;
    • MCP servers returned ready state (except one unrelated server requiring OAuth re-auth);
    • history DBs, sessions, plugins, skills, automations, and auth state remained intact;
    • Codex later rewrote config.toml itself to a valid non-NUL TOML file after successful startup.

    Requested product fixes

    Please consider:

    1. Do not replace ~/.codex/config.toml with a truncated/all-NUL file. Use a temp file + flush/fsync + atomic rename, and preserve a last-known-good backup.
    2. Validate the new file before replacing the existing config. Reject empty/NUL-filled/unparseable output and retain the previous good config.
    3. Fail visibly instead of looping. If config.toml cannot be parsed, show an actionable recovery UI with the path and parse error instead of repeatedly returning to the splash screen.
    4. Fallback safely. Prefer defaults or a last-known-good config so the app remains usable while surfacing the parse problem.
    5. Investigate why 26.901.4073.0 on this machine coincided with config.toml becoming a 4902-byte all-NUL file.

    I have preserved the corrupt file and the relevant desktop logs locally. I can provide sanitized excerpts if a maintainer requests specific diagnostics. No credentials, tokens, conversation contents, repository names, or private project data need to be shared.

  4. jackbashed commented on Sep 6, 2026

    @jackbashed

    Hey man, thank you for your work here, that was the same problem I was having. My file was nul bytes as well. Don't know what caused this, but for anyone else experiencing the problem heres a simple powershell script to test your file:

    $config = "$env:USERPROFILE\.codex\config.toml"
    
    "=== CONFIG FILE ==="
    Get-Item $config -ErrorAction SilentlyContinue |
        Select-Object FullName, Length, LastWriteTime
    
    if (Test-Path $config) {
        $bytes = [System.IO.File]::ReadAllBytes($config)
        $nulCount = ($bytes | Where-Object { $_ -eq 0 }).Count
    
        "Total bytes: $($bytes.Length)"
        "NUL bytes:   $nulCount"
    
        if ($bytes.Length -gt 0 -and $nulCount -eq $bytes.Length) {
            "RESULT: CONFIG IS ENTIRELY NUL BYTES -- SAME FAILURE AS #42808"
        }
        elseif ($nulCount -gt 0) {
            "RESULT: CONFIG CONTAINS NUL BYTES -- VERY SUSPICIOUS"
        }
        else {
            "RESULT: No NUL bytes detected"
        }
    }
    
  5. catatm commented on Sep 8, 2026

    @catatm

    for me this was the issue in config.toml:

    context_management.experimental_mode = true

  6. kuwabara74 commented on Sep 10, 2026

    @kuwabara74

    I can confirm that I am experiencing the same issue on a different Windows 11 system.

    Environment:

    Windows 11 Pro 25H2

    OS Build: 26200.9445

    CPU: Intel Core i7-1360P

    RAM: 32 GB

    GPU: Intel Iris Xe Graphics (integrated GPU only)

    ChatGPT/Codex package: OpenAI.Codex_26.903.8094.0_x64__2p2nqsd0c76g0

    Installed from the Microsoft Store

    Behavior:

    When I launch the ChatGPT desktop app, the application window opens and the OpenAI logo appears. The logo then disappears and reappears repeatedly in an endless loop. The application never reaches the normal ChatGPT UI.

    The browser version of ChatGPT works normally on the same computer and network.

    Troubleshooting performed:

    ChatGPT app Repair

    ChatGPT app Reset

    Complete uninstall, Windows restart, and clean reinstall from the Microsoft Store

    Installed all available Windows Updates

    Updated the Intel Iris Xe graphics driver to the latest available version

    Ran sfc /scannow

    The first scan found corrupted system files and successfully repaired them.

    After rebooting, a second scan reported no integrity violations.

    Restarted Windows and tested ChatGPT again

    None of these steps changed the behavior. The OpenAI logo loop still occurs exactly as before.

    I also tested this using a Pocket Wi-Fi/mobile connection, so in my case the issue does not appear to be related to a corporate proxy or corporate network.

    This seems to be the same startup-loop issue described here and may be related to the current Windows desktop app on Windows 11 25H2 / build 26200.

    Please let me know if any additional logs, Event Viewer information, or other diagnostic data would be useful. I would be happy to provide them.

  7. kuwabara74 commented on Oct 4, 2026

    @kuwabara74

    Updating Windows to 26H2 caused a change in its start-up behaviour. When launching the application, a different error message window appeared stating, ‘The contents of the config.toml file do not match the expected format’, so I deleted the existing config.toml file. After that, when I launched the application, it started up as normal. As a result of this launch, a new config.toml file has now been created.
    However, the causal relationship between this and the resolution of the desktop application launch issue remains unclear.

    I can confirm that I am experiencing the same issue on a different Windows 11 system.

    Environment:

    Windows 11 Pro 25H2

    OS Build: 26200.9445

    CPU: Intel Core i7-1360P

    RAM: 32 GB

    GPU: Intel Iris Xe Graphics (integrated GPU only)

    ChatGPT/Codex package: OpenAI.Codex_26.903.8094.0_x64__2p2nqsd0c76g0

    Installed from the Microsoft Store

    Behavior:

    When I launch the ChatGPT desktop app, the application window opens and the OpenAI logo appears. The logo then disappears and reappears repeatedly in an endless loop. The application never reaches the normal ChatGPT UI.

    The browser version of ChatGPT works normally on the same computer and network.

    Troubleshooting performed:

    ChatGPT app Repair

    ChatGPT app Reset

    Complete uninstall, Windows restart, and clean reinstall from the Microsoft Store

    Installed all available Windows Updates

    Updated the Intel Iris Xe graphics driver to the latest available version

    Ran sfc /scannow

    The first scan found corrupted system files and successfully repaired them.

    After rebooting, a second scan reported no integrity violations.

    Restarted Windows and tested ChatGPT again

    None of these steps changed the behavior. The OpenAI logo loop still occurs exactly as before.

    I also tested this using a Pocket Wi-Fi/mobile connection, so in my case the issue does not appear to be related to a corporate proxy or corporate network.

    This seems to be the same startup-loop issue described here and may be related to the current Windows desktop app on Windows 11 25H2 / build 26200.

    Please let me know if any additional logs, Event Viewer information, or other diagnostic data would be useful. I would be happy to provide them.

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 workingwindows-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