Cursor 3.19.13 maintains ~50% CPU at idle in empty workspace (Apple M1 Pro, reproducible after reinstall)

Describe the Bug

Cursor Diagnostic Report

Date: 2026-09-09 (America/Denver)
Subject: Sustained renderer and GPU CPU on Cursor 3.19.13 while idle
Prepared for: Cursor Support / Cursor Engineering


1. Executive Summary

On macOS, Cursor 3.19.13 keeps a single renderer and the GPU process busy after a clean launch, with no project open, no indexing, and no product tooling running. Over a four-minute idle window in an empty workspace with one new chat, Cursor used about 50% total CPU (renderer ~26%, GPU ~20%). On the same machine, Google Chrome’s GPU process stayed at ~0% and Chrome’s total CPU at ~1%. The UI stayed responsive; the process table stayed clean. Idle CPU did not return to near-zero.


2. Environment

Item Value
Cursor 3.19.13 (stable), commit dd066f332fcea7382764400fde902f61920648d0, VS Code 1.128.0
Bundle /Applications/Cursor.app, Info.plist 2026-09-04 12:38
Electron (Crashpad annotation) 42.10.0
GPU process flag (observed) --disable-skia-graphite
OS macOS 26.5.2 (25F84), Darwin 25.5.0
Hardware MacBook Pro MacBookPro18,1 (MK193LL/A), Apple M1 Pro (10 cores: 8P+2E)
RAM 16 GB
Host uptime 60 days, 17 hours (at report collection)
Comparison browser Google Chrome (GPU helper path version 150.0.7871.49), already running

3. Reproduction

Smallest case observed: Launch Cursor 3.19.13 → open empty workspace untitled folder → open one new Agent chat → do not index a code project → do not start other product tools → sample Cursor.app CPU for several minutes.

The elevated renderer/GPU CPU does reproduce with all of the following:

Condition Result
Fresh 3.19.13 launch (single instance; all Cursor PIDs same etime) Yes
Empty workspace (not a product repo) Yes
New chat only Yes
No active indexing (fileWatcher and conversation-search ~0%; no tsserver) Yes
Validation harness not started (nothing listening on the harness/app ports used in later engineering) Yes
No Cursor browser automation in the idle window Yes

Two Cursor launches on 2026-09-09 showed the same pattern (session ~06:06 and session ~06:40).


4. Measurements

CPU is process CPU-time delta / wall time unless noted. macOS instantaneous %CPU was higher and was not used for the idle window.

Idle window A — empty workspace, new chat, 2026-09-09 06:45:37–06:49:38 (4 min, 16 × 15s)
Single renderer (renderer-client-id=4, pid 2819). GPU pid 2813. Main pid 2806. 16 Cursor processes; none spawned or died during the window.

Process Mean Min Max RSS
Renderer 26.0% 22.1% 28.2% ~399–420 MB
GPU 20.2% 19.9% 20.5% ~79–83 MB
Main 0.5% 0.3% 1.1% ~211–226 MB
Cursor total 50.3% 46.1% 52.4% —

Renderer state was S or occasional R. Same renderer PID for the full window. Agent shell round-trip after the window: 4.9 ms.

Idle window B — same empty workspace, earlier launch, 06:08:44–06:12:30 (4 min)
Instantaneous ps %CPU (not delta): after the first sample, renderer typically ~17–28%, GPU ~17–25%, Cursor total ~43–54%. First sample renderer 117.1%. One renderer only. Extension hosts ~1–2% (untitled folder and Agents Window). Indexing/fileWatcher/MCP 0%.


5. Comparison

Side-by-side, 2026-09-09 06:20:09–06:22:20 (~2 min, 13 × 10s), same machine.
Chrome totals are Google Chrome.app only (a separate --no-startup-window Chrome instance was excluded).

Cursor Chrome
Total CPU mean 54.1% (46.2–57.8%) 0.82% (0.10–2.00%)
Renderer mean 26.8% (19.7–29.2%) 0.00%
GPU mean 22.8% (21.4–23.7%) 0.04% (0.00–0.10%)

Chrome remained effectively idle. Cursor stayed significantly active. The GPU load tracked Cursor’s GPU process, not Chrome’s.


6. Troubleshooting already performed

Completed; none of these removed the idle renderer/GPU load:

  • Cursor restart (clean 06:06 launch; later clean 06:40 launch; one instance each time)
  • Operator fresh 3.19.13 installation/launch used for the 06:43 idle check
  • Orphaned Cursor 3.15.19 Crashpad (chrome_crashpad_handler, PID 95261, PPID 1, ~25 days old) SIGTERM’d on 2026-09-08; live 3.19.13 Crashpad left running
  • Chrome idle comparison (section 5)
  • Empty workspace + new chat
  • No active indexing
  • No stale Cursor processes (16 PIDs, all from the current launch)
  • Idle check did not start a validation harness or Cursor browser automation

7. Current Impact

  • Product engineering is paused until Cursor idle CPU is understood.
  • Long Agent sessions run on top of a ~50% CPU / ~20% GPU baseline, so timing and “is the machine busy?” checks are not trustworthy.
  • Browser automation and operator validation were stopped so they would not confound this measurement.
  • This morning: no renderer hang, no blocked-renderer log in the earlier session, UI/agent remained responsive.
  • Confidence in engineering investigations on this install is low while idle Cursor holds half a CPU and a steady GPU process.

8. Questions for Cursor Engineering

  1. Is ~26% renderer + ~20% GPU expected for 3.19.13 idle with an empty folder and one Agent chat?
  2. Is this a known issue in 3.19.13 (Electron 42.10.0 / --disable-skia-graphite)?
  3. What diagnostics or logging should we enable (GPU, compositor, Agents window)?
  4. Are there recommended launch flags or settings to test (GPU, vsync, Agents UI)?
  5. Is there a known interaction with the Agents feature? Two extension hosts were present (untitled folder and Agents Window) while only one renderer ran at ~26%.

9. Attachments / Supporting Evidence

Available locally; not inlined:

  • CPU idle window A (delta): /tmp/cursor-health-idle-20260909-0644.txt (06:45:37–06:49:38)
  • Chrome vs Cursor comparison: /tmp/chrome-vs-cursor-gpu-20260909.txt (06:20:09–06:22:20)
  • Earlier idle sample (instantaneous %CPU): /tmp/cursor-health-sample-20260909.txt (06:08:44–06:12:30)
  • Process observations: one renderer (client-id=4); GPU --disable-skia-graphite; fileWatcher/conversation-search ~0%; no extra Cursor etimes
  • Prior renderer observation (same day, previous launch): renderer pid 97176, GPU pid 97170, same idle pattern

Observation vs conclusion: Idle CPU numbers and the Chrome contrast are measurements. That this is Cursor-specific rather than machine-wide GPU failure is the conclusion from those measurements. Cause inside Cursor is not identified. No fix is recommended.

Steps to Reproduce

  1. Launch Cursor 3.19.13.
  2. Open an empty folder (no project).
  3. Open one new Agent chat.
  4. Do not start indexing.
  5. Do not open additional tabs or browser automation.
  6. Let Cursor sit for approximately 4 minutes.
  7. Observe renderer and GPU process CPU usage.

Expected Behavior

Cursor should return to a low idle CPU state when no significant work is being performed. Renderer and GPU utilization should be minimal, comparable to an idle Chromium browser.

Operating System

MacOS

Version Information

Cursor 3.19.13
Commit: dd066f332fcea7382764400fde902f61920648d0

MacBook Pro (Apple M1 Pro)
16 GB RAM

Does this stop you from using Cursor

Yes - Cursor is unusable

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.