Skip to content

Codex Desktop renderer spins at high CPU while codex MCP servers are idle #20435

@eeeepie

Description

@eeeepie

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingmcp-serverIssues related to the use of the `codex mcp-server` subcommandperformance

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions