Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
On Cursor 3.18.9 for macOS, an existing window and its running agents/terminals continue to work, but File > New Window / Cmd+Shift+N immediately crashes the newly launched Cursor Helper (Renderer) with code 6.
Read-only diagnostics taken while preserving the running session show that the main Cursor process is holding exactly 10,000 numeric file descriptors (highest FD 9999). 9,800 are regular files from one workspace; 9,798 point into /backend/nestjs/src. That directory contains 10,004 files, so Cursor is retaining descriptors for nearly the entire source tree.
At each failed new-window launch, macOS logs SeatbeltExec Broken pipe / Bad file descriptor immediately before the renderer exits. Existing windows remain usable.
Steps to Reproduce
- Open a large workspace (the affected source directory contains 10,004 files).
- Use Cursor/Agents in a long-lived session until the main Cursor process retains 10,000 numeric FDs.
- Verify with lsof that most descriptors point to individual source files.
- Choose File > New Window or press Cmd+Shift+N.
- The new renderer aborts immediately with code 6; the existing window and running agents remain alive.
Observed twice consecutively at 2026-09-01 16:22:36 and 16:22:40 (+08:00).
Expected Behavior
A new window should open normally. Cursor should not retain a separate open descriptor for nearly every source file, and renderer startup should not fail when the main process reaches its FD ceiling.
Operating System
MacOS
Version Information
Version: 3.18.9 (Universal)
Commit: 2ba48ff3f7514cc4643c52ca9f7b3173d9b66130
Date: 2026-08-27T01:42:22.092Z
Build Type: Stable
Electron: 40.10.3
OS: macOS 26.6.2 (Darwin arm64 25G83)
Additional Information
Sanitized evidence:
lsof summary:
numeric_fds=10000
max_fd=9999
workspace_regular_files=9800
/backend/nestjs/src descriptors=9798
actual files in that directory=10004
macOS unified log:
2026-09-01 16:22:36.489 Cursor: SeatbeltExec: buffer length write failed: Broken pipe
2026-09-01 16:22:36.910 ReportCrash: SeatbeltExec: buffer length read failed: Bad file descriptor
2026-09-01 16:22:40.175 Cursor: SeatbeltExec: buffer length write failed: Broken pipe
2026-09-01 16:22:40.763 ReportCrash: SeatbeltExec: buffer length read failed: Bad file descriptor
Cursor main.log:
2026-09-01 16:22:36.921 CodeWindow: renderer process gone (reason: crashed, code: 6)
2026-09-01 16:22:40.772 CodeWindow: renderer process gone (reason: crashed, code: 6)
Two macOS Diagnostic Reports show:
Process: Cursor Helper (Renderer)
Exception: EXC_CRASH
Signal: SIGABRT
Termination namespace: SIGNAL
Termination code: 6
Indicator: Abort trap: 6
The installed Cursor bundle currently passes:
codesign --verify --deep --strict /Applications/Cursor.app
=> valid on disk; satisfies its Designated Requirement.
System memory was not exhausted.
This provides strong evidence for the immediate causal chain:
Cursor retains 10,000 FDs → renderer sandbox pipe fails with EBADF/Broken pipe → new renderer aborts with SIGABRT/code 6.
The deeper reason Cursor retains almost every source file descriptor is not yet determined.
Related reports:
Also related: forum topic 165059 documents an Agents Window process retaining about 22,000 snapshot file descriptors.
I can provide the two .ips reports and relevant log excerpts privately if needed. Raw reports are not attached publicly because they may contain local paths.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor
