codex - 💡(How to fix) Fix Codex Desktop compositor glitch and severe lag after in-app browser renders Three.js/WebGL preview

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Codex Desktop became extremely laggy and rendered a stale bright cyan / light-blue layer over the composer/input area after I had a local Three.js/WebGL preview open in the in-app browser sidebar for a while. The local preview was showing a globe-like 3D scene, and after the problem appeared the globe preview no longer rendered correctly.

This looks related to the desktop app's Electron/Chromium compositor or WebGL/browser-sidebar path. It may overlap with the existing blurred/translucent overlay reports, but this happened on Apple Silicon and was observed after running an in-app browser WebGL preview.

Error Message

2026-05-26T09:34:58.588Z error [electron-message-handler] Request failed ... method=experimentalFeature/enablement/set ... unsupported feature enablement auth_elicitation 2026-05-26T09:34:58.588Z error [electron-message-handler] Failed to sync experimental feature enablement errorMessage="unsupported feature enablement auth_elicitation: currently supported features are apps, memories, mentions_v2, plugins, remote_control, tool_suggest, tool_call_mcp_elicitation"

Root Cause

The same relaunch log also includes repeated experimental-feature sync errors. I am not sure whether these are related, but including them because they were adjacent in time:

Code Example

2026-05-26T09:34:45.378Z warning [browser-session-registry] IAB_LIFECYCLE browser sidebar guest torn down conversationId=019e633c-8ee3-7a12-99ad-927a8c8dcf16 guestWebContentsId=2 windowId=1
2026-05-26T09:34:45.381Z warning [browser-sidebar-manager] IAB_LIFECYCLE route window is not live hasWindowState=true ownerDestroyed=true windowDestroyed=true windowId=1
2026-05-26T09:34:45.381Z warning [browser-sidebar-manager] IAB_LIFECYCLE browser use route window missing for active state conversationId=019e633c-8ee3-7a12-99ad-927a8c8dcf16 windowId=1
2026-05-26T09:34:45.382Z info [browser-session-registry] IAB_LIFECYCLE closed browser sidebar page conversationId=019e633c-8ee3-7a12-99ad-927a8c8dcf16 windowId=1
2026-05-26T09:34:45.383Z warning [browser-sidebar-manager] IAB_LIFECYCLE browser use route window missing for active state conversationId=019e6341-7950-7f41-9790-30f52b6a85fd windowId=1
2026-05-26T09:34:45.384Z info [browser-session-registry] IAB_LIFECYCLE removed browser session window windowId=1

---

2026-05-26T09:34:47.774Z info Launching app ... platform=darwin
2026-05-26T09:34:48.247Z info [AppServerConnection] Current reported app-server version: currentVersion=0.133.0-alpha.1 hostId=local
2026-05-26T09:34:48.560Z info [window-manager] window ready-to-show appearance=primary hostId=local startupElapsedMs=178 webContentsId=1 windowId=1
2026-05-26T09:34:48.779Z info [window-manager] window main frame finished load appearance=primary hostId=local startupElapsedMs=397 webContentsId=1 windowId=1
2026-05-26T09:34:58.288Z info [electron-message-handler] [startup][renderer] app routes mounted after 9857ms

---

2026-05-26T09:34:58.588Z error [electron-message-handler] Request failed ... method=experimentalFeature/enablement/set ... unsupported feature enablement `auth_elicitation`
2026-05-26T09:34:58.588Z error [electron-message-handler] Failed to sync experimental feature enablement errorMessage="unsupported feature enablement `auth_elicitation`: currently supported features are apps, memories, mentions_v2, plugins, remote_control, tool_suggest, tool_call_mcp_elicitation"

---

WindowServer                    ~25% CPU
Codex main process              ~13% CPU
Codex Helper --type=gpu-process ~15% CPU
Codex Helper (Renderer)         ~37% CPU
RAW_BUFFERClick to expand / collapse

Summary

Codex Desktop became extremely laggy and rendered a stale bright cyan / light-blue layer over the composer/input area after I had a local Three.js/WebGL preview open in the in-app browser sidebar for a while. The local preview was showing a globe-like 3D scene, and after the problem appeared the globe preview no longer rendered correctly.

This looks related to the desktop app's Electron/Chromium compositor or WebGL/browser-sidebar path. It may overlap with the existing blurred/translucent overlay reports, but this happened on Apple Silicon and was observed after running an in-app browser WebGL preview.

Environment

  • Codex Desktop: 26.519.41501, build 3044
  • Bundled codex CLI / app-server: codex-cli 0.133.0-alpha.1
  • Electron: 42.1.0 (from running Crashpad process annotation)
  • macOS: 26.2, build 25C56; Darwin 25.2.0 arm64
  • Hardware: MacBook Air, Apple M2, 16 GB RAM, built-in Apple M2 GPU with 8 cores
  • Display: built-in Liquid Retina, 2560 x 1664 Retina
  • UI locale: zh-CN

What I was doing

  1. Working in Codex Desktop with the in-app browser/sidebar preview open.
  2. Running a local Vite + Three.js project. The screenshot sidebar shows a local preview at 127.0.0.1:5173 for Claworld; Codex logs around the same time also show work in ~/myGit/articraft. I may have had more than one local WebGL/Three.js preview involved.
  3. The preview rendered a globe-like 3D model / scene.
  4. After a while, the whole Codex UI became very slow, the composer/input region had a large incorrect bright cyan/light-blue paint layer, and the 3D globe preview stopped showing.

Actual behavior

  • Codex Desktop UI becomes very laggy.
  • The composer/input area is covered by an incorrect stale cyan/light-blue layer.
  • The in-app browser preview can no longer render the Three.js/globe scene.
  • The rest of the app remains visible, but repaint/compositing appears broken.

Expected behavior

A WebGL/Three.js page in the in-app browser sidebar should not affect the rest of the Codex desktop UI. The composer should render normally and the preview should either continue rendering or fail in isolation.

Diagnostics found locally

I do not yet have a minimal repro, but I found some local signal around the failure time.

Screenshot files were created at:

  • 2026-05-26T09:34:16Z
  • 2026-05-26T09:34:29Z

Codex logs immediately before the restart/window teardown show repeated browser-sidebar lifecycle warnings:

2026-05-26T09:34:45.378Z warning [browser-session-registry] IAB_LIFECYCLE browser sidebar guest torn down conversationId=019e633c-8ee3-7a12-99ad-927a8c8dcf16 guestWebContentsId=2 windowId=1
2026-05-26T09:34:45.381Z warning [browser-sidebar-manager] IAB_LIFECYCLE route window is not live hasWindowState=true ownerDestroyed=true windowDestroyed=true windowId=1
2026-05-26T09:34:45.381Z warning [browser-sidebar-manager] IAB_LIFECYCLE browser use route window missing for active state conversationId=019e633c-8ee3-7a12-99ad-927a8c8dcf16 windowId=1
2026-05-26T09:34:45.382Z info [browser-session-registry] IAB_LIFECYCLE closed browser sidebar page conversationId=019e633c-8ee3-7a12-99ad-927a8c8dcf16 windowId=1
2026-05-26T09:34:45.383Z warning [browser-sidebar-manager] IAB_LIFECYCLE browser use route window missing for active state conversationId=019e6341-7950-7f41-9790-30f52b6a85fd windowId=1
2026-05-26T09:34:45.384Z info [browser-session-registry] IAB_LIFECYCLE removed browser session window windowId=1

After relaunch, the renderer was slow to mount routes:

2026-05-26T09:34:47.774Z info Launching app ... platform=darwin
2026-05-26T09:34:48.247Z info [AppServerConnection] Current reported app-server version: currentVersion=0.133.0-alpha.1 hostId=local
2026-05-26T09:34:48.560Z info [window-manager] window ready-to-show appearance=primary hostId=local startupElapsedMs=178 webContentsId=1 windowId=1
2026-05-26T09:34:48.779Z info [window-manager] window main frame finished load appearance=primary hostId=local startupElapsedMs=397 webContentsId=1 windowId=1
2026-05-26T09:34:58.288Z info [electron-message-handler] [startup][renderer] app routes mounted after 9857ms

The same relaunch log also includes repeated experimental-feature sync errors. I am not sure whether these are related, but including them because they were adjacent in time:

2026-05-26T09:34:58.588Z error [electron-message-handler] Request failed ... method=experimentalFeature/enablement/set ... unsupported feature enablement `auth_elicitation`
2026-05-26T09:34:58.588Z error [electron-message-handler] Failed to sync experimental feature enablement errorMessage="unsupported feature enablement `auth_elicitation`: currently supported features are apps, memories, mentions_v2, plugins, remote_control, tool_suggest, tool_call_mcp_elicitation"

Crashpad had no completed or pending crash dumps under ~/Library/Application Support/Codex/Crashpad/ at the time I checked.

A local process sample after the UI was still degraded showed non-idle UI/compositor-related processes, although this is not a clean idle sample because Codex was still being used:

WindowServer                    ~25% CPU
Codex main process              ~13% CPU
Codex Helper --type=gpu-process ~15% CPU
Codex Helper (Renderer)         ~37% CPU

Local WebGL preview details

The involved projects use Vite + Three.js:

  • ~/myGit/articraft/viewer/web/package.json: React 19, Vite 7.3.1, three 0.183.2.
  • ~/myGit/articraft/viewer/web/src/components/viewer3d/useThreeScene.ts creates THREE.WebGLRenderer({ antialias: true, alpha: false, preserveDrawingBuffer: true, ... }), uses requestAnimationFrame, and disposes renderer resources on cleanup.
  • ~/myGit/claworld_site/package.json: Vite 6.2.6, three 0.180.0.
  • ~/myGit/claworld_site/src/scene.js creates THREE.WebGLRenderer({ canvas, antialias: true, alpha: true, powerPreference: "high-performance" }), caps pixel ratio to 1.8, and runs a continuous requestAnimationFrame render loop for the globe scene.

At the time I checked after the failure, nothing was still listening on local ports 5173 or 5174.

Related issues

This may be related, but seems not identical:

  • #18341: persistent blurred/translucent overlay below composer. That thread mostly points at Intel macOS / backdrop-filter issues; this report is Apple Silicon and appears after an in-app browser WebGL preview.
  • #24185: macOS high CPU/GPU/WindowServer load.
  • #20413: stale repaint / compositor issues on Windows.

Reproducibility

Intermittent / not yet minimized. The best current repro direction is:

  1. Open Codex Desktop 26.519.41501 on macOS Apple Silicon.
  2. Open a project/thread with the right sidebar browser preview visible.
  3. Run a local Vite + Three.js page that continuously renders a globe/3D scene with WebGL.
  4. Leave the preview open for a while while continuing to use Codex.
  5. Observe whether the Codex window becomes laggy and whether the composer/input area gets covered by a stale cyan/blue compositor layer.

Screenshots

I have screenshots showing the broken composer/input repaint and the in-app browser sidebar state. I could not attach them through the automated filing path, but they can be added in a follow-up comment if needed. <img width="2336" height="1674" alt="Image" src="https://github.com/user-attachments/assets/acdd1284-8e96-4b70-b5fe-d9c69c76cb0b" />

<img width="2336" height="1630" alt="Image" src="https://github.com/user-attachments/assets/fe698dcf-eeee-4cbc-8a23-909b5636fcef" />

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

A WebGL/Three.js page in the in-app browser sidebar should not affect the rest of the Codex desktop UI. The composer should render normally and the preview should either continue rendering or fail in isolation.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Codex Desktop compositor glitch and severe lag after in-app browser renders Three.js/WebGL preview