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
- Is ~26% renderer + ~20% GPU expected for 3.19.13 idle with an empty folder and one Agent chat?
- Is this a known issue in 3.19.13 (Electron 42.10.0 /
--disable-skia-graphite)? - What diagnostics or logging should we enable (GPU, compositor, Agents window)?
- Are there recommended launch flags or settings to test (GPU, vsync, Agents UI)?
- Is there a known interaction with the Agents feature? Two extension hosts were present (
untitled folderandAgents 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
- Launch Cursor 3.19.13.
- Open an empty folder (no project).
- Open one new Agent chat.
- Do not start indexing.
- Do not open additional tabs or browser automation.
- Let Cursor sit for approximately 4 minutes.
- 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