High idle CPU (~45-50%), 15-20W power draw and sustained thermal load on Apple Silicon due to ChatGPT main process activity
What version of the Codex App are you using (From “About Codex” dialog)?
ChatGPT Version 26.715.31925
What subscription do you have?
Plus
What platform is your computer?
Darwin 25.5.0 arm64 arm
What issue are you seeing?
Summary
The latest ChatGPT macOS desktop app consumes significantly more CPU and power than expected during ordinary conversational use.
The workload does not involve:
Active Codex task
Repository indexing
Computer Use
Long-running agent
Code execution
Despite this, the application consistently consumes approximately 45-50% CPU in the main ChatGPT process, resulting in approximately 15-20W package power on an Apple Silicon MacBook Air.
The renderer process remains comparatively idle.
Environment:
App: ChatGPT for macOS
Bundle ID: com.openai.codex
Version: 26.715.31925 (5551)
macOS: 26.5 (25F71)
Hardware: MacBook Air M2 (8 GB RAM)
Expected behavior:
When idle or during normal chat interaction, CPU usage should remain low and the application should spend most of its time waiting in the event loop.
Power consumption should be comparable to a normal Electron application displaying static content.
Actual behavior Observed consistently:
ChatGPT process: ~45-50% CPU
WindowServer: ~15-17% CPU (secondary)
Package power: ~16W
Sustained CPU temperatures above 90°C unless Low Power Mode is enabled
Restarting the application and rebooting macOS do not permanently resolve the issue.
Activity Monitor
Hierarchical view shows:
ChatGPT ~45%
├── Codex (Renderer) ~4%
├── Codex (Service) ~2%
The majority of CPU usage is in the main ChatGPT process, not the renderer.
Investigation
I captured both a sample and a spindump while the application was consuming ~45-50% CPU.
The hottest execution path is consistently:
ChromeMain
└── v8::Script::Run(...)
The main thread spends most of its execution inside the V8 runtime rather than the renderer.
The spindump further shows repeated activity through:
uv_run
└── uv__io_poll
└── node::worker::MessagePort::OnMessage
└── node::InternalMakeCallback
Additionally, the stack repeatedly enters:
uv_spawn
└── posix_spawn
far more frequently than expected for a desktop chat application performing only normal conversational interaction.
This appears to indicate continuous event-loop activity or repeated background task scheduling rather than rendering overhead.
Things that appear not to be the cause
Renderer process (low CPU)
GPU rendering
WindowServer (secondary effect)
Storage
No evidence suggests storage-related stalls or hardware issues.
Impact
Excessive battery drain
High sustained package power (~16W)
Significant thermal load on fanless Apple Silicon systems
CPU usage disproportionate to the visible workload
Attachments
Activity Monitor screenshots
sample output
spindump output
Additional observations
The process tree and profiling data suggest the excessive CPU usage originates from the main ChatGPT process rather than the renderer. The renderer remains mostly idle while the main process continuously executes JavaScript/V8 callbacks.
It would be useful to know whether this corresponds to a known issue involving background polling, agent orchestration, sync, or another subsystem introduced in recent desktop releases.
What steps can reproduce the bug?
Environment
- ChatGPT for macOS
- Version: 26.715.31925 (5551)
- macOS 26.5 (25F71)
- Apple Silicon (M2 MacBook Air, 8 GB)
Steps to reproduce
- Launch the ChatGPT desktop app.
- Start a normal text conversation (no Codex task, no Computer Use, no repository indexing).
- Continue chatting for several minutes or leave the conversation open.
- Open Activity Monitor.
- Observe CPU usage of the ChatGPT process.
Actual result
The ChatGPT process consistently consumes approximately 45–50% CPU.
Typical observations:
- ChatGPT: ~45–50% CPU
- Codex (Renderer): ~4%
- Codex (Service): ~2%
Package power reaches approximately 16 W, causing sustained high temperatures on Apple Silicon.
The issue persists across application restarts and system reboots.
Diagnostics
I have attached:
- Activity Monitor screenshot
chatgpt_spindump_head_redacted.txt
- spindump
<img width="339" height="369" alt="Image" src="https://github.com/user-attachments/assets/5419a329-ba79-4505-bd79-c1879aec27c9" />
What is the expected behavior?
The ChatGPT desktop app should remain mostly idle during normal conversational use.
For ordinary text conversations without active Codex tasks or repository operations, CPU usage should remain low and the application should spend most of its time waiting for user interaction.
The renderer and background services should not continuously consume CPU, and the application should not draw approximately 20 W of power during routine chat usage.
Additional information
Investigation summary:
- The renderer is not the primary source of CPU usage.
- Activity Monitor shows the main ChatGPT process consuming ~45–50% CPU.
- sample shows execution dominated by ChromeMain → V8::Script::Run().
- spindump shows repeated activity through the Node/libuv event loop (uv_run, MessagePort callbacks, InternalMakeCallback), suggesting continuous main-process activity.
- SSD health is normal (100% health, 99% lifetime remaining, 0 I/O errors), so this does not appear to be storage related.
All supporting diagnostics are attached.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗