codex - 💡(How to fix) Fix Codex Desktop renderer spins at high CPU while codex MCP servers are idle [1 comments, 2 participants]

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…
GitHub stats
openai/codex#20435Fetched 2026-05-01 05:43:08
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Timeline (top)
labeled ×3commented ×1

Codex Desktop appears to have a renderer CPU spin issue. A Codex Helper (Renderer) process stayed around 85-120% CPU for roughly an hour, causing a macOS laptop to heat up. Killing/restarting the helper stopped the high CPU, and the machine began cooling down immediately.

The Codex CLI and codex mcp-server processes themselves were low CPU, so this looks like a Desktop/Electron renderer issue rather than backend compute.

Error Message

A Codex Desktop renderer process consumed high CPU continuously:

Root Cause

Codex Desktop appears to have a renderer CPU spin issue. A Codex Helper (Renderer) process stayed around 85-120% CPU for roughly an hour, causing a macOS laptop to heat up. Killing/restarting the helper stopped the high CPU, and the machine began cooling down immediately.

The Codex CLI and codex mcp-server processes themselves were low CPU, so this looks like a Desktop/Electron renderer issue rather than backend compute.

Code Example

Codex Helper (Renderer)  ~85-120% CPU
RSS                      ~240 MB
Runtime                  ~1 hour

---

codex                    ~0.5-2% CPU
codex mcp-server          0% CPU
node codex mcp-server     0% CPU
RAW_BUFFERClick to expand / collapse

Summary

Codex Desktop appears to have a renderer CPU spin issue. A Codex Helper (Renderer) process stayed around 85-120% CPU for roughly an hour, causing a macOS laptop to heat up. Killing/restarting the helper stopped the high CPU, and the machine began cooling down immediately.

The Codex CLI and codex mcp-server processes themselves were low CPU, so this looks like a Desktop/Electron renderer issue rather than backend compute.

Environment

  • OS: macOS
  • App: Codex Desktop
  • Related setup: multiple Claude sessions configured with codex mcp-server
  • Workload: long-running Codex Desktop conversation with large outputs/tables and several background MCP server connections

Observed behavior

A Codex Desktop renderer process consumed high CPU continuously:

Codex Helper (Renderer)  ~85-120% CPU
RSS                      ~240 MB
Runtime                  ~1 hour

At the same time, related backend processes were mostly idle:

codex                    ~0.5-2% CPU
codex mcp-server          0% CPU
node codex mcp-server     0% CPU

After killing/restarting the renderer/helper process, the high CPU disappeared.

Expected behavior

The Codex Desktop renderer should not remain at high CPU while the Codex CLI and MCP server processes are idle. If there are many MCP connections, long chat history, or heavy tool output, the renderer should throttle, batch UI updates, or otherwise avoid a sustained busy loop.

Possible trigger

This may be related to one or more of:

  • Multiple Claude sessions connected to codex mcp-server
  • Several simultaneous MCP server connections
  • Long chat history / large rendered outputs
  • Continuous MCP status or tool event updates
  • Electron/React renderer repeatedly re-rendering state even when backend processes are idle

The MCP server itself did not appear to be the CPU source.

Reproduction sketch

  1. Run Codex Desktop on macOS.
  2. Configure multiple Claude sessions/processes to use codex mcp-server.
  3. Keep a long Codex Desktop conversation open with large tool outputs or tables.
  4. Let the system run for an extended period.
  5. Observe Codex Helper (Renderer) in Activity Monitor or via ps.

Suggested areas to inspect

  • Renderer update loop for MCP connection state
  • Rendering of long tool outputs / long chat histories
  • Event batching or throttling for MCP status updates
  • Handling of detached or idle MCP connections
  • Possible React/Electron re-render loop triggered by multiple MCP clients

If this repo is not the right place for Codex Desktop issues, please route or close with the right tracker.

extent analysis

TL;DR

The issue can likely be mitigated by optimizing the renderer update loop for MCP connection state and implementing event batching or throttling for MCP status updates.

Guidance

  • Investigate the renderer update loop to ensure it's not continuously re-rendering state when backend processes are idle, potentially causing a busy loop.
  • Review the handling of long tool outputs and chat histories to prevent excessive rendering.
  • Consider implementing event batching or throttling for MCP status updates to reduce the load on the renderer.
  • Inspect the handling of detached or idle MCP connections to prevent unnecessary updates.

Example

No specific code snippet can be provided without more context, but an example of event batching might involve debouncing updates using a library like Lodash.

Notes

The issue seems specific to the Electron/React renderer and its interaction with multiple MCP connections and long-running conversations. The suggested areas to inspect should help identify the root cause.

Recommendation

Apply a workaround by optimizing the renderer update loop and implementing event batching or throttling, as this is likely to mitigate the high CPU issue without requiring a full fix.

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

The Codex Desktop renderer should not remain at high CPU while the Codex CLI and MCP server processes are idle. If there are many MCP connections, long chat history, or heavy tool output, the renderer should throttle, batch UI updates, or otherwise avoid a sustained busy loop.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING