Skip to content

[Windows Desktop 26.818.5229.0] Repeated browser/main crashes when reopening oversized browser-heavy tasks #40349

Open

Description

@RuipsStars

What version of the Codex App are you using?

  • Microsoft Store package: OpenAI.Codex 26.818.5229.0
  • Previous package immediately before the update: 26.818.2441.0

What platform are you using?

Windows 11 x64, OS build 10.0.26100.6584.

What issue are you seeing?

Codex Desktop has repeatedly terminated over several days. The most clearly diagnosed occurrence is a real Electron main/browser-process crash shortly after an existing task restored two persisted in-app-browser sidebar tabs.

The whole desktop app disappeared without a crash dialog, interrupted active work, and had to be relaunched.

Crashpad recorded:

capture_kind=crash
ptype=browser
osarch=x86_64
local_report_uuid=8df12fb5-3221-4673-9b55-53de63445d56

A separate earlier exit during the same session was caused by the Microsoft Store/MSIX update path using ForceTargetApplicationShutdownOption. That update-driven exit is distinguished from the later Crashpad crash below.

Sanitized timeline

Local time (UTC+08:00), 2026-08-23:

17:31:37  AppX destroys the old 26.818.2441.0 container with
          ForceTargetApplicationShutdownOption.
17:31:45  Package update registers 26.818.5229.0.
17:31:47  Updated app relaunches.

17:40:47  Existing task restores two persisted in-app-browser sidebar tabs;
          both webviews attach and become DOM-ready.
17:41:12  Main desktop log stops.
17:41:28  Crashpad records capture_kind=crash, ptype=browser.
17:41:29  AppX container is destroyed.
17:43:35  App is manually relaunched.

There was no second package deployment/update at 17:41, so the later termination was not another forced-update shutdown.

What steps can reproduce the bug?

This is intermittent, but the observed sequence was:

  1. Launch or relaunch Codex Desktop on Windows with one or more tasks active.
  2. Open an existing task that has two persisted in-app-browser sidebar tabs.
  3. Allow both browser webviews to restore, attach, and become DOM-ready.
  4. Continue working or leave the task active.
  5. Roughly 40 seconds later, the entire Codex Desktop process exits.

Immediately before the crash, the desktop logs showed the two browser sidebar guests attaching and repeated mcp_app_sandbox.attach_unmatched warnings. The timing suggests an in-app-browser restore/lifecycle regression, but the available evidence does not prove the faulting native module.

What is the expected behavior?

  • Restoring persisted in-app-browser tabs should not crash the Electron browser/main process.
  • A stale or failed webview should be isolated and recoverable while the desktop host remains alive.
  • App updates should warn about and coordinate shutdown when active tasks are running.
  • Active turns should resume cleanly after an update or crash.

Additional diagnostics

  • No matching Windows Application Error, WER, or .NET Runtime event was recorded for the Crashpad occurrence.
  • No Resource Exhaustion Detector event was present.
  • Approximately 24.6 GB of 39.6 GB physical memory was free.
  • No GPU reset, WHEA, or Kernel-Power signal occurred in the same window.
  • Session JSONL remained parseable after restart; task state was not corrupted.
  • An older renderer Crashpad record also exists from the preceding day, consistent with repeated desktop instability rather than a single update event.
  • Raw logs and dumps are intentionally not attached publicly because they can contain local paths, browsing history, prompts, and project data. Sanitized excerpts can be provided if maintainers request them.

Potentially related, but not exact duplicates:

Activity

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

    @github-actions
    Contributor

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

    Powered by Codex Action

  3. RuipsStars commented on Aug 24, 2026

    @RuipsStars
    Author

    Follow-up: complete 7-day scan and two newer crashes

    The original report understated the frequency because only two events had been correlated at that point. A complete scan of Crashpad, desktop logs, AppModel/AppX events, and the affected session files found 8 Crashpad captures from 2026-08-22 through 2026-08-24:

    • 1 embedded-browser renderer crash with an explicit reason=oom
    • 1 browser-process capture caused by the already-documented forced MSIX update shutdown
    • 6 genuine Electron browser/main-process crashes with no concurrent update

    Sanitized list of the six main-process crashes (local time UTC+08:00):

    2026-08-23 17:41:28  8df12fb5-3221-4673-9b55-53de63445d56
    2026-08-23 17:58:22  b7e0b975-aebb-4b17-b082-6b7a8e3def81
    2026-08-23 18:52:14  5581e86d-e1d4-4af4-b9a8-814698f1c216
    2026-08-23 18:54:10  8f9e3067-89be-40e0-90a4-b1f9ce630508
    2026-08-24 15:07:52  b769022c-4f00-4785-b8ec-da8d60dd1101
    2026-08-24 15:21:10  6ee1d8b8-13b6-4a6f-a588-1fca3606fe0f
    

    Every one has capture_kind=crash, ptype=browser, and osarch=x86_64.

    AppModel confirms container destruction immediately after the two newest captures and automatic relaunch about three seconds later:

    15:07:52 Crashpad capture
    15:07:53 AppX container destroyed
    15:07:56 new desktop container/process created
    
    15:21:10 Crashpad capture
    15:21:11 AppX container destroyed
    15:21:14 new desktop container/process created
    

    New high-confidence trigger: oversized browser-heavy session state

    The repeatedly affected task has a rollout JSONL of approximately:

    1,874.32 MiB
    135,376 lines
    5,004 lines larger than 100 KiB
    34 lines larger than 1 MiB
    largest line: 4,099,080 characters (image/tool payload)
    

    A second browser-heavy task involved in the 17:58 crash is:

    626.77 MiB
    74,130 lines
    1,541 lines larger than 100 KiB
    23 lines larger than 1 MiB
    largest line: 4,099,080 characters (image/tool payload)
    

    When the 1.87 GiB task is opened, the desktop logs show two concurrent thread/read requests taking 20–29 seconds. The requests complete shortly before the main-process crash. The task also restores persisted in-app-browser state.

    The two newest reproductions were nearly identical:

    1. Switch to the oversized existing task.
    2. Restore one persisted in-app-browser sidebar tab.
    3. Log mcp_app_sandbox.attach_unmatched.
    4. The browser sidebar becomes DOM-ready.
    5. Duplicate thread/read calls take approximately 27–29 seconds.
    6. Roughly 50 seconds after the task/browser restore begins, Crashpad records ptype=browser and the whole AppX container is destroyed.

    The earlier renderer capture at 2026-08-22 04:00:41 is especially relevant:

    browser sidebar render process gone
    exitCode=-536870904
    reason=oom
    

    During that long browser-heavy session, the desktop reached a maximum of 19 in-app-browser tabs and emitted 62 attach_unmatched warnings. The 17:58 main-process crash session reached 16 browser tabs and emitted 17 attach_unmatched warnings.

    The two newest main-process sessions also produced large bursts of ResizeObserver loop completed with undelivered notifications (365 occurrences before the 15:07 crash and 77 before the 15:21 crash). This may be a symptom of renderer/UI churn rather than the native root cause.

    Updated assessment

    The strongest evidence now points to an interaction between:

    1. unbounded retention of large image/tool outputs in long-lived rollout JSONL,
    2. expensive and duplicated thread/read processing when reopening a very large task,
    3. persisted in-app-browser/webview restoration and unmatched sandbox attachments, and
    4. insufficient isolation when a renderer or Electron browser/main process reaches a per-process resource or lifecycle failure.

    There was no Windows Resource Exhaustion Detector event and no system-wide low-memory condition, so the explicit renderer reason=oom is more consistent with a Chromium/Electron renderer or V8/process-level limit than exhaustion of all physical RAM.

    Suggested product-side protections:

    • compact or externalize large image/tool payloads instead of retaining them inline indefinitely;
    • avoid duplicate full task reads during resume;
    • lazily/page-load large task history;
    • cap or garbage-collect stale persisted browser tabs;
    • discard invalid/unmatched webview routes during restore;
    • isolate a webview/renderer OOM so it cannot terminate the desktop main process.

    Raw files are not attached because they contain prompts, local paths, browsing history, and project data. The sizes, counts, timings, UUIDs, and warning names above are sanitized.

  4. changed the title [-][Windows Desktop 26.818.5229.0] Browser/main process crashes after restoring two persisted in-app-browser tabs[/-] [+][Windows Desktop 26.818.5229.0] Repeated browser/main crashes when reopening oversized browser-heavy tasks[/+] on Aug 24, 2026
  5. Ernest-NA commented on Aug 24, 2026

    @Ernest-NA

    Adding a second, independent Windows reproduction with the same current build.

    Sanitized evidence

    • Codex Desktop package: 26.818.5229.0
    • Platform: Windows 11 x64
    • Crashpad retained nine reports over roughly three days, all with:
      capture_kind=crash
      ptype=browser
      osarch=x86_64
      
    • Seven reports occurred on 26.818.5229.0. Two earlier reports had the same lifecycle signature on 26.818.2872.0 and 26.818.3698.0, so the current update appears to increase frequency rather than introduce the entire bug.

    Every crash report correlated with a main desktop log that stopped less than one second earlier. All nine logs ended during the same in-app-browser teardown sequence:

    unregistered debugger listener reason=target-close
    renderer disposed browser sidebar webview
    browser sidebar guest torn down
    browser tab lifecycle action=closed
    (optional) created browser use host
    browser-use PiP metadata received with tabID=undefined
    <browser/main process terminates>
    

    Shortly before teardown, the logs repeatedly contained:

    Cannot find context with specified id
    iab rejected tab for route
    Failed to upsert Browser Use PiP content
    

    Persisted browser-tab state grew across restarts: the app-level count observed at crash time increased from 6 to 10. The next restart restored 11 browser tabs across two tasks and spawned 21 desktop subprocesses. The machine still had ample free memory, with no matching Windows Application Error, resource-exhaustion event, or system instability, so this does not look like system-wide memory pressure.

    The persistence behavior suggests the app crashes before committing tab removal, then restores the stale route on the next launch. A targeted workaround is to fully quit Codex, back up the global state file, and remove only the affected thread-tab-routes-v1:* entries.

    No raw logs, session transcripts, task IDs, report UUIDs, local paths, URLs, prompts, repository names, or account information are included here because those artifacts may contain private data.

  6. Ernest-NA commented on Aug 24, 2026

    @Ernest-NA

    Follow-up (2026-08-24): another crash occurred with the same capture_kind=crash, ptype=browser signature. Immediately before exit, the desktop log shows 12 restored in-app browser tabs, repeated "No ChatGPT browser route is available for browser session" warnings, and then "iab rejected tab for route" with tabRouteKey=null followed by webview teardown. No raw logs or user data are attached.

    Important correction: the previously attempted local persisted-tab reset did not actually apply, so this recurrence should not be treated as evidence that the workaround failed.

  7. khalidovicGPT commented on Aug 26, 2026

    @khalidovicGPT

    Adding another independent Windows reproduction with the same Crashpad main/browser-process signature.

    Sanitized evidence

    • Codex Desktop builds affected:
      • 26.818.5229.0: 3 crash records
      • 26.818.8289.0: 5 crash records
      • 26.820.7780.0: 2 crash records after reinstall
    • Ten Crashpad sidecar records were observed on 2026-08-25.
    • All ten contain exactly:
      • capture_kind=crash
      • ptype=browser
      • osarch=x86_64
    • Eight occurred before reinstalling Codex.
    • The reinstall completed at approximately 22:47:23 local time (UTC+02:00). The same crash signature recurred at 22:47:37 and again at 23:16:06 on 26.820.7780.0.
    • The entire Codex desktop window closes and must be relaunched.

    The first post-reinstall crash occurred about 14 seconds after reinstall completion, before any intentional use of Google Chrome or the in-app Browser. Therefore, although the Crashpad signature matches this issue, I cannot confirm restored browser tabs or browser navigation as the trigger. Here, ptype=browser identifies the Electron/Chromium main process and does not by itself establish the root cause.

    No native stack or minidump is available. The two post-reinstall sidecars are still present; the eight earlier sidecars were removed by the uninstall, but their timestamps, versions, and signatures were preserved in sanitized diagnostic notes.

    No raw logs, local paths, project names, task/conversation IDs, browsing data, or report UUIDs are included publicly. I can provide targeted sanitized excerpts if maintainers indicate what would be useful.

  8. WHC97 commented on Aug 31, 2026

    @WHC97

    Adding another independent Windows reproduction on a newer build.

    • Microsoft Store package: OpenAI.Codex 26.820.9563.0
    • Previous package: 26.818.8289.0
    • Frequency: 3 crashes within approximately 15 minutes, with multiple similar crashes earlier the same day and the previous day
    • All retained Crashpad sidecars have the same signature: capture_kind=crash ptype=browser osarch=x86_64
    • The entire desktop app exits abruptly and must be relaunched
    • The crashes continued after the Microsoft Store update
    • One earlier termination was confirmed as the Store applying the update, but later terminations were genuine Crashpad-recorded browser/main-process crashes with no concurrent package deployment
    • No matching system-wide memory exhaustion, Microsoft Defender detection, or Windows Application Error event was found

    This reproduction does not establish that an in-app browser tab is the trigger. Here, ptype=browser identifies the Electron/Chromium main process. No raw logs, local paths, task IDs, browsing data, or report UUIDs are included publicly.

  9. WHC97 commented on Aug 31, 2026

    @WHC97

    Follow-up from the same independent Windows reproduction: the crash loop has now continued on an even newer Microsoft Store build.

    • Current package: OpenAI.Codex 26.825.6671.0
    • Two new Crashpad captures occurred at 2026-08-31 14:43:27 and 14:44:30 local time, only about 63 seconds apart.
    • Both sidecars contain exactly: capture_kind=crash ptype=browser osarch=x86_64
    • Windows AppModel recorded the corresponding Codex AppX container terminations at 14:43:28 and 14:44:31, followed by relaunches.
    • The package version remained 26.825.6671.0 throughout these two crashes; there was no concurrent package-version switch between them.

    This is a high-frequency browser/main-process crash loop that persists beyond the previously reported 26.820.9563.0 build. No raw logs, local paths, task IDs, report UUIDs, browsing data, or document contents are included publicly.

  10. WHC97 commented on Sep 6, 2026

    @WHC97

    Additional Windows desktop crash evidence for issue #40349

    Ten distinct historical Crashpad sidecar report IDs were recovered from locally retained diagnostic command output. Each reports capture_kind=crash and ptype=browser. These are a lower bound, not the total number of crashes.

    Local timestamps (UTC+08:00):

    • 2026-08-29 21:57:55.052
    • 2026-08-31 09:54:06.091
    • 2026-08-31 10:17:15.232
    • 2026-08-31 10:20:21.935
    • 2026-08-31 14:43:27.432
    • 2026-08-31 14:44:30.647
    • 2026-08-31 14:50:22.432
    • 2026-09-01 22:31:27.331
    • 2026-09-01 22:44:08.135
    • 2026-09-02 00:55:46.899

    The 14:43:27 and 14:44:30 crashes occurred approximately 63 seconds apart. Main desktop logs were correlated against these timestamps; final logged operations vary and do not establish a single causal operation.

    Current state verified September 6:

    • Running desktop executable package: OpenAI.Codex 26.901.6511.0.
    • The previous 26.901.5280.0 package reported an update download completed earlier that day. The new version is now actually running; there is no claim that the historical crash was reproduced on 26.901.6511.0.
    • The supported in-app-browser tab listing returns no currently open tabs.
    • Historical main-process dumps/sidecars are no longer present in the currently readable Crashpad directory. The ten historical records above are recovered tool-output evidence, not newly captured dumps.
    • Read-only inspection of the installed JavaScript bundle confirms renderer-reload recovery logic, but does not identify the faulting main-process function.

    Please provide a supported way to retain local MAIN/BROWSER-process crash dumps and identify the relevant fix/build, if available. The user has experienced repeated work interruption. Neither ordinary log-tail correlation nor assuming oversized task history is the cause is sufficient to establish a root-cause fix.

    No private conversation content, user files, account identifiers, browsing history, or raw dumps are included in this update.

  11. linan109 commented on Sep 24, 2026

    @linan109

    Related observation on Windows x64, 2026-09-24, package OpenAI.Codex 26.917.8451.0 (desktop build 10789). This did not involve persisted in-app-browser tabs, so it may indicate a broader Electron browser/main-process failure during oversized local-session recovery.

    Sanitized timeline (UTC+08:00):

    • 09:22:49 Crashpad recorded capture_kind=crash, ptype=browser, report 80e5bf7f-8858-4ed1-9da3-b77c215de637; the desktop instance had stopped logging abruptly and a new instance started about five seconds later.
    • 09:23:56 a second ptype=browser Crashpad report was recorded: 8c78ea2c-1bab-4295-be6e-9ff898f31e01, again immediately after the desktop log stopped.
    • The next app instance has remained running after recovery.

    Immediately before both crashes, the client was restoring an existing local task that the sidebar classified as notLoaded. Its transcript was 517,388,820 bytes. The logs contained repeated Conversation state not found while thread/read activity targeted that task. I did not attach the task ID, title, transcript, project path, or raw logs.

    This transcript has zero occurrences of data:image/, image_generation, base64,, input_image, or function_call_output, so it appears distinct from the inline-image/base64 mechanism in #28531.

    Checks around the crashes:

    • 26.44 GiB free of 39.75 GiB RAM; C: had 38.02 GiB free and E: had 163.5 GiB free.
    • No matching Windows Application Error/WER event and no recent GPU driver reset.
    • Crashpad retained only the ptype=browser sidecars, not a readable stack dump.

    Expected behavior: recovery/list hydration must bound or lazily page very large text-only session JSONL data, and a failed/stale task state must not terminate the Electron browser/main process.

  12. mchelen-gov commented on Oct 6, 2026

    @mchelen-gov

    Adding a matching Windows reproduction.

    Environment:

    • Windows 11 build 22631
    • Stable package: OpenAI.Codex 26.707.8479.0
    • Beta package: OpenAI.CodexBeta 26.727.4816.0
    • Reproduced in both builds; detailed lifecycle logs captured from beta

    Four beta sessions terminated while restoring a persisted right-panel
    in-app-browser tab. Each affected log ended abruptly at:

    [browser-sidebar-manager] IAB_LIFECYCLE browser sidebar will attach webview

    The affected state was one saved SharePoint browser tab under:

    electron-persisted-atom-state.thread-browser-tabs-v1:

    Stable and beta were both affected because they read the same
    %USERPROFILE%.codex.codex-global-state.json state.

    A targeted recovery succeeded:

    1. Backed up .codex-global-state.json
    2. Removed only the affected thread-browser-tabs-v1 entry
    3. Relaunched beta

    This broke the restart/crash loop without resetting chats, authentication,
    cookies, projects, or either app package.

    No matching Application Error or Crashpad dump was generated. Longer sessions
    had renderer RSS peaks around 2.3–3.3 GB, but one fresh restart also terminated
    after approximately 44 seconds at the same webview-attachment transition.

    I can provide sanitized logs and the state-repair details privately.
    Feedback/session ID: 01a1128b-602e-7d72-9c87-d12c38e8cb72

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