Cursor Helper processes never terminate on macOS, causing memory exhaustion and system crashes

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Cursor Helper processes accumulate over time and never terminate, even after closing projects or quitting Cursor. This causes severe memory exhaustion on macOS.

Impact: System runs out of RAM (15GB/16GB used), apps force quit, extreme swap usage (800M+ swapins/outs)

Evidence: Running ps aux | grep -i cursor showed 100+ zombie processes dating back over a month, some with 7700+ hours of accumulated CPU time.

Affected Processes:

  • Extension host processes
  • Language servers (JSON, CSS, Tailwind, auto-rename-tag)
  • Git workers
  • File watchers
  • TypeScript installers

System Info:

  • macOS (MacBook Air, 16GB RAM)
  • Cursor versions affected: 2.2.43, 2.4.21, 2.5.17, 2.5.20
  • Memory state: 15GB/16GB with 5.6GB compressed, 800M+ swap operations

Temporary Workaround:
Must manually kill processes after each Cursor session: pkill -9 -i cursor

Request: Helper processes should automatically terminate when their parent window/project closes or when Cursor quits.

Steps to Reproduce

  1. Open Cursor and work with multiple repositories (3-5 repos)
  2. Close individual repository windows OR quit Cursor entirely
  3. Open Terminal and run: ps aux | grep -i cursor | grep -v grep
  4. Observe dozens/hundreds of “Cursor Helper” processes still running
  5. Leave Cursor closed and check again hours/days later
  6. Processes continue accumulating over weeks

Note: The longer Cursor is used, the more severe the memory leak becomes.

Expected Behavior

When closing a Cursor window or quitting the application, all associated Cursor Helper processes should terminate automatically. After quitting Cursor, running ps aux | grep -i cursor should show zero processes (except maybe crash reporters for a brief moment).

Currently, helper processes remain active indefinitely, consuming memory and CPU resources even when Cursor is not running.

Operating System

MacOS

Version Information

Multiple versions affected:

  • Version: 2.5.20, VSCode: 1.105.1, Commit: (varies)
  • Version: 2.5.17, VSCode: 1.105.1, Commit: (varies)
  • Version: 2.4.21, VSCode: 1.105.1, Commit: (varies)

Tested on macOS with 16GB RAM MacBook Air

For AI issues: which model did you use?

N/A - This is a process management/memory leak issue, not AI-related

Additional Information

This issue makes Cursor completely unusable for developers working with multiple repositories. After a few days of normal use, the system becomes so unstable that all applications start crashing.

The processes appear to be orphaned when:

  • Switching between projects
  • Closing repository windows
  • Force quitting Cursor
  • Normal Cursor quit

Process examples found running for weeks:

  • PID 41252: 7776+ hours CPU time (started Feb 8)
  • PID 5419: 130+ hours CPU time (started Jan 23)

Full process list and system logs available if needed for debugging.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. This is a known issue. Closing individual Cursor windows on macOS doesn’t always properly stop the related helper processes.

A couple things to check:

  1. Does Cmd+Q (fully quitting Cursor) clean up all processes? Based on similar reports, a full quit should stop everything, while just closing windows can leave orphan processes behind. If processes are still running even after Cmd+Q, that’s a different and more serious issue.

  2. What extensions do you have installed? Please run cursor --list-extensions in Terminal and share the output. Third party AI extensions (Claude Code, Cline, CodeRabbit, etc.) often cause extra memory use per process, and combined with the orphan process issue it can get worse fast.

  3. Can you try running cursor --disable-extensions for one session and see if the orphan process behavior still happens after closing windows?

For now, your workaround pkill -9 -i cursor is totally fine. A less aggressive option is to always use Cmd+Q instead of just closing windows, cleanup should work correctly that way.

The team is aware. I’ll flag this.

Let me know the answers above, especially whether fully quitting with Cmd+Q fixes it.