[Windows] Restored localhost Browser sidebar leaves renderers at sustained high CPU

Open 💬 1 comment Opened Aug 25, 2026 by KOMAP-KPOBOCOC
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

  • Windows package: OpenAI.Codex_26.818.8289.0_x64
  • Chromium framework: 151.0.7922.170
  • Bundled app-server / CLI: 0.149.0-alpha.4.3
  • In-app Browser release: 26.818.61809

What subscription do you have?

Omitted for privacy.

What platform is your computer?

Windows 11 25H2, build 26200, x64; 12 logical processors.

What issue are you seeing?

Restoring an existing Codex task with an in-app Browser sidebar pointed at a stopped local development server (http://localhost:3000/) can leave additional Chromium renderer processes in a sustained high-CPU state.

The Browser sidebar created two additional renderer processes at the same timestamp. The sanitized desktop log sequence was:

IAB_LIFECYCLE renderer created browser sidebar webview ... initialUrl=http://localhost:3000/
mcp_app_sandbox.attach_unmatched guestWebContentsId=<redacted> url=undefined urlProtocol=invalid
IAB_LIFECYCLE did attach browser sidebar webview ...
browser sidebar dom-ready ... url=http://localhost:3000/

Nothing was listening on port 3000. After the restore, the Codex process group stayed around 35% CPU and roughly 2.2–2.6 GiB working set even while the app-server was idle. Switching to a different small task did not lower CPU.

Five-second sample on a 12-logical-processor machine:

| Process role | CPU (whole-machine %) | Working set |
|---|---:|---:|
| Electron main | 12.2% | 518 MiB |
| additional renderer | 11.5% | 139 MiB |
| primary renderer | 8.9% | 543 MiB |
| GPU process | 2.4% | 164 MiB |
| codex app-server | ~0% | 187 MiB |

Force-terminating only the two additional renderers immediately recovered the app. Electron recreated clean renderer processes automatically.

Post-recovery sample:

| Process role | CPU (whole-machine %) | Working set |
|---|---:|---:|
| Electron main | 0% | 317 MiB |
| primary renderer | 1.2% | 412 MiB |
| GPU process | 1.4% | 152 MiB |
| recreated renderers | 0% | 35 MiB / 70 MiB |

No app-server restart, task deletion, cache reset, or full application restart was required.

The main desktop log also contained repeated frontend errors while the app was hot:

ResizeObserver loop completed with undelivered notifications.

This points to an in-app Browser/webview lifecycle or cleanup failure rather than model execution or Git scanning.

What steps can reproduce the bug?

  1. On Windows, open a Codex task and create an in-app Browser sidebar tab for http://localhost:3000/.
  2. Stop the local dev server.
  3. Leave the Browser tab/task persisted and navigate away.
  4. Later reopen/resume that task so Codex restores the Browser sidebar.
  5. Observe the Browser lifecycle log around webview creation and attachment.
  6. If the failure occurs, observe sustained CPU in Electron main plus renderer processes even after switching tasks.
  7. Verify that codex app-server remains near idle.
  8. Terminate only the pair of additional renderers created during Browser restoration.
  9. Observe CPU and memory return close to idle while Electron recreates clean renderers.

The trigger may be timing-sensitive. The strongest correlation was the restored Browser sidebar targeting a stopped localhost server together with mcp_app_sandbox.attach_unmatched.

What is the expected behavior?

  • An unavailable local Browser target should show a bounded connection error and return to idle.
  • Browser/webview renderers should be disposed when their task or sidebar is inactive.
  • Failed attachment or navigation should use bounded retry/backoff.
  • Switching away should release Browser renderer CPU and memory.
  • Recovery should not require manually terminating child renderers.

Additional information

A Task Manager screenshot is available but is not attached because the issue connector cannot upload local attachments.

Privacy: no account identifiers, task/thread/session IDs, local workspace paths, hostnames, pipe names, raw log archives, or private task content are included.

Goodwill request

Substantial paid Codex usage and time were spent isolating this desktop-app defect, collecting process-role measurements, finding the exact Browser lifecycle trigger, and verifying a renderer-only recovery. If OpenAI has an applicable goodwill program, please consider a usage credit, temporary limit increase, bug-reporter recognition, swag, or another small thank-you for the reproducible report.

View original on GitHub ↗

1 Comment

github-actions[bot] contributor · 2 days ago

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

  • #39552
  • #40349

Powered by Codex Action