High CPU usage and excessive idle wake-ups on empty chat page (V8 RequestInterrupt loop)

Resolved 💬 3 comments Opened Apr 7, 2026 by xyz347 Closed Apr 7, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

26.325.31654 (1272)

What subscription do you have?

Business

What platform is your computer?

Darwin 24.6.0 arm64 arm

What issue are you seeing?

Description

When opening the chat page in Codex (macOS), the application consumes significant CPU and causes excessive idle wake-ups, even when the conversation is completely empty.

This results in noticeable battery drain and the laptop heating up.

The issue disappears immediately when switching away from the chat page (e.g., to Settings), which suggests the problem is isolated to the chat UI.

What steps can reproduce the bug?

  1. Open Codex
  2. Navigate to a new empty chat page
  3. Do not input anything (no messages at all)
  4. Observe CPU usage and idle wake-ups
  5. Switch to another page (e.g., Settings)

What is the expected behavior?

  • An empty chat page should be essentially idle
  • CPU usage and wake-ups should remain near zero when no activity is happening

Additional information

Investigation / Technical Findings

Using sample on the main process shows a consistent call stack dominated by:

  • v8::Isolate::RequestInterrupt (very high frequency)
  • Event loop (CFRunLoopRun, mach_msg)

The call graph indicates that nearly all samples hit the same execution path, suggesting a tight loop or high-frequency interrupt mechanism.

Example pattern:

v8::Isolate::RequestInterrupt
→ v8::Message::GetLineNumber
→ node::PrincipalRealm::http2session_on_origin_function
→ CFRunLoopRun

Key observations:

  • The loop persists even when the chat is empty
  • No GPU usage spike (not a rendering issue)
  • No abnormal pmset wake reasons or sleep prevention assertions
  • Appears to be a user-space event loop / interrupt storm

---

Hypothesis

The chat page likely contains a high-frequency timer, event loop, or interrupt mechanism that continues running even in an idle/empty state.

Possible causes:

  • Unbounded setInterval / requestAnimationFrame
  • Streaming or polling logic not gated by activity
  • Excessive V8 interrupt requests (likely the main cause)

---

Impact

  • Significant battery drain
  • Laptop heating
  • Poor idle efficiency
  • Makes it impractical to keep Codex open on the chat page

---

Workarounds

  • Switching away from the chat page immediately resolves the issue
  • Using CLI instead of the UI avoids the problem entirely

---

Additional Notes

This issue reproduces consistently on an empty chat page, so it does not depend on:

  • conversation length
  • message content
  • streaming responses

View original on GitHub ↗

3 Comments

github-actions[bot] contributor · 4 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #15391

Powered by Codex Action

xyz347 · 4 months ago
szhongzehao-maker · 2 months ago

Codex desktop on Windows shows CPU spikes and heating while idle/open.

Environment:

  • Windows
  • Codex desktop version: 26.623.5546
  • App path: OpenAI.Codex_26.623.5546.0_x64
  • Issue occurs after opening Codex desktop, even without running Git/Node/model tasks.

Observed during 60s sampling:

  • Total CPU average: ~20%, max: ~31%
  • Codex average CPU: ~2.8%, max spike: ~51.6%
  • Spiking child processes:
  • Codex.exe --type=renderer
  • Codex.exe --type=gpu-process
  • Git, node, and GitHub access were not active during the spike.
  • Temperature sensor was not accessible from Windows WMI, but the machine physically heats up only after Codex is open.

Expected:
Codex desktop should stay near idle CPU when no task is running.

Actual:
Renderer/GPU child processes periodically spike CPU and cause noticeable heating.