openai / openai/codex

[Windows][26.810.6296.0] Electron main process busy loop causes system-wide mouse stutter; full exit fixes it

Open
#38,716 7 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug performance windows-os
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using?

26.810.6296.0 (Microsoft Store package: OpenAI.Codex_26.810.6296.0_x64__2p2nqsd0c76g0)

The regression appeared immediately after updating to this build.

What platform are you using?
  • Windows 11 Home, x64
  • OS version/build: 10.0.26200 / 26200
  • 16 logical processors
  • 63.4 GB RAM
  • NVIDIA GeForce RTX 5090 Laptop GPU, driver 32.0.16.1088
  • GameViewer Virtual Display Adapter is also present
What issue are you seeing?

After the latest Codex desktop update, keeping Codex open causes clearly visible system-wide mouse stutter. The pointer becomes choppy outside the Codex window as well.

Fully quitting Codex from the tray and terminating the complete ChatGPT.exe process family makes mouse movement smooth immediately. Reopening Codex makes the problem return. No mouse reconnect, graphics-driver reset, or Windows reboot is required for recovery.

This is a controlled application-lifecycle A/B result:

  • Codex running: system-wide mouse stutter.
  • Codex fully exited: mouse is immediately smooth.
Live process evidence from the affected state
  • 12 ChatGPT.exe processes were present.
  • Their combined working set was approximately 2.4-2.9 GB.
  • During a 10-second sample, aggregate ChatGPT.exe CPU time increased by approximately 13.5 CPU-seconds.
  • In a separate five-second per-process sample:
    • Electron main process: +6.92 CPU-seconds (~1.38 logical cores)
    • renderer process: +1.30 CPU-seconds
    • GPU process: +1.22 CPU-seconds
  • The root Electron process alone had approximately 2,000 handles.
  • The system has 16 logical processors and was not under general CPU or memory pressure.

The hot process is the root ChatGPT.exe Electron process, not the bundled codex.exe app-server process.

This is not the old taskkill.exe / WMI storm

I originally compared this with #34025, but the current reproduction is different:

  • Repeated sampling showed 0 live taskkill.exe processes.
  • conhost.exe count remained stable.
  • WmiPrvSE.exe CPU remained near zero.
  • The current desktop log did not contain the earlier electron-sampler / child-process-snapshot failure pattern.

The current failure is sustained CPU in the Electron main/renderer/GPU process family together with system-wide cursor stutter.

Steps to reproduce
  1. Update the Windows Codex desktop app to 26.810.6296.0.
  2. Launch Codex and use an existing local task normally.
  3. Leave the app running until mouse movement becomes visibly choppy across Windows.
  4. Observe sustained CPU accumulation in the root ChatGPT.exe process.
  5. Fully quit Codex from the system tray.
  6. Observe that mouse movement becomes smooth immediately.
  7. Reopen Codex and observe that the problem can return.
Regression context

This appears to be a continuation/regression of the Windows input-lag family reported in #38554, #38547, #33074, and #28855, but it reproduces on the newer 26.810.6296.0 package.

One existing investigation in #38554 suggests that Codex may register a global low-level mouse hook (WH_MOUSE_LL) on the Electron main thread. If that is correct, any busy loop or main-thread stall could delay mouse delivery across the entire OS. I have not independently proven the hook ownership on this machine, but the sustained root-process CPU and immediate full-exit recovery are consistent with that hypothesis.

Please investigate:

  1. Why the root Electron process continuously consumes roughly 1.3-1.4 logical cores in the affected state.
  2. Whether a WH_MOUSE_LL hook is installed on the busy Electron main thread and whether it is necessary.
  3. Main-thread event/IPC, hidden renderer (avatarOverlay / quick-chat), plugin reconciliation, and layout-update loops.
  4. A supported diagnostic/feature flag to disable the global hook or expensive background process discovery.
  5. A rollback/pinning option until a fixed Windows build is available.
Expected behavior

Codex should not install an input-path hook or perform background work in a way that makes the Windows pointer stutter system-wide. Idle/background operation should remain bounded, and fully exiting the app should not be the only reliable workaround.

Privacy

This report intentionally omits usernames, local paths, task IDs, prompt contents, and raw logs. Sanitized counters or additional targeted diagnostics can be provided if maintainers request them.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by profiling the root Electron main process in the affected Windows build and compare its CPU behavior with the renderer and GPU processes. Trace the mentioned hidden renderer (avatarOverlay/quick-chat), plugin reconciliation, layout-update loops, and any WH_MOUSE_LL hook, using #38554 as context. Done means idle operation no longer causes system-wide pointer stutter and CPU remains bounded.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron
Domain
desktop, operating-systems, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.