Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
. Bug #1 — McpProcess Crashes on Startup (Critical)
Description
On every Cursor startup, the McpProcess utility process fails to initialize and crashes in a retry loop before giving up and falling back to legacy in-window MCP. This causes the agent execution provider to become unresponsive when the user attempts to run any task.
Observed Behavior
• McpProcess times out waiting for ipcReady after 10,000ms on every attempt
• Cursor retries with exponential backoff: 1s → 2s → 4s → 8s → 16s
• After 6 crashes within 600,000ms, Cursor gives up and falls back to legacy MCP
• First agent task after startup fails with: “The agent execution provider did not respond in time”
• Subsequent tasks succeed once the legacy MCP path is established
Log Evidence
[McpProcess] ipcReady wait failed [McpProcess] timed out waiting for ipcReady after 10000ms
[McpProcess] crash detected (attempt 1), retrying in 1000ms
[McpProcess] crash detected (attempt 2), retrying in 2000ms
[McpProcess] crash detected (attempt 3), retrying in 4000ms
[McpProcess] crash detected (attempt 4), retrying in 8000ms
[McpProcess] crash detected (attempt 5), retrying in 16000ms
[McpProcess] giving up after 6 crashes within 600000ms; falling back to legacy in-window MCP
[McpProcess] gave up after exceeding restart budget; renderer will fall back to legacy MCP path
Root Cause Hypothesis
macOS 26 appears to have changed IPC socket or sandboxing behavior for Electron utility processes. The McpProcess binary (at Contents/Resources/app/out/vs/code/electron-utility/mcpProcess/mcpProcessMain.js) fails to establish its IPC channel before the 10s timeout. Running the Cursor binary directly from the terminal produces a ‘trace trap’ (SIGTRAP), suggesting the OS is halting the utility process before it can run. Code signing is valid (Notarized Developer ID) so this is not a Gatekeeper issue.
Workaround
Adding the following to User Settings JSON bypasses the utility process entirely and forces the legacy in-window MCP path, which functions correctly:
“cursor.agent.legacyMcpMode”: true
Impact
• Every Cursor startup wastes ~90 seconds on retry attempts before fallback
• First agent task on every session fails with a timeout error
• Users with no MCP servers configured are affected (not a server config issue)
- Bug #2 — Excessive Disk Writes Triggering macOS Throttling
Description
A Cursor process was throttled and killed by macOS for writing 2.14 GB of data in approximately 9 minutes, far exceeding the macOS limit of 24.86 KB/sec sustained write rate.
Crash Report Details
Incident Date 2026-05-14 07:41:05 +0200
Cursor Version 3.3.30
PID 65415
Write Volume 2,147.50 MB over 556 seconds
Write Rate 3,864 KB/sec average (limit: 24.86 KB/sec)
Duration ~9 minutes 16 seconds
macOS Action Process throttled / killed
Stack Trace
The heaviest stack identified in the diagnostic report:
sqlite3_exec → sqlite3_step → sqlite3VdbeExec → sqlite3VdbeHalt
→ vdbeCommit → pagerWalFrames → walWriteOneFrame → pwrite
The write-heavy thread was executing SQLite WAL (Write-Ahead Log) frame commits via vscode-sqlite3.node, the native SQLite module used for Cursor’s local agent storage, chat history, and workspace indexing databases.
Impact
• Process killed by macOS after exceeding disk write budget
• Potential data corruption risk if SQLite commits are interrupted mid-transaction
• Abnormal write amplification: 155× the allowed sustained write rate
- Bug #3 — Remote-SSH Extension Prompt Loop
Description
On every Cursor startup, before any remote connection is made, a notification appeared prompting the user to install the Remote - SSH extension:
“Extension ‘Remote - SSH’ is required to open the remote window. Do you want to install the extension?”
Clicking ‘Install and Reload’ installs the extension and reloads Cursor, but the same prompt reappears on the next startup.
Root Cause
Cursor ships its own Remote SSH fork as anysphere.remote-ssh (version 1.0.49 was installed). However, Cursor’s remote window restoration code checks for the Microsoft extension ID ms-vscode-remote.remote-ssh instead of its own fork’s ID. On startup, Cursor attempts to restore the last remote session (qualif or prod as defined in remote.SSH.remotePlatform settings) and triggers this check, finding the Microsoft ID absent even though the Anysphere fork is present and functional.
Settings at Time of Issue
“remote.SSH.remotePlatform”: { “qualif”: “linux”, “prod”: “linux” }
Workaround
Clearing Cursor’s saved remote window state (globalStorage) prevented the auto-reconnect on startup and stopped the prompt from appearing. The underlying ID mismatch in the dependency check should be corrected in the remote window restoration code.
Steps to Reproduce
Install Cursor on macOS 26.3.1 (Build 25D2128), Apple Silicon (arm64)
Have zero MCP servers configured (~/.cursor/mcp.json absent, no mcpServers in settings.json)
Launch Cursor
Wait ~90 seconds
Attempt any agent task (chat, composer, etc.)
Expected: Agent responds normally
Actual: McpProcess crashes 6 times with exponential backoff (1s→2s→4s→8s→16s), falls back to legacy MCP, first agent task fails with “The agent execution provider did not respond in time”
Reproducible: 100% — happens on every cold start
Workaround: Add “cursor.agent.legacyMcpMode”: true to User Settings JSON
Expected Behavior
Cursor starts normally, the McpProcess utility initializes successfully within the 10-second timeout, and the agent is immediately ready to handle tasks without any retry loop or fallback.
Operating System
MacOS
Version Information
Cursor Version3.4.17Electron Framework39.8.1OSmacOS 26.3.1 (Build 25D2128)Architecturearm64e (Apple Silicon)HardwareMac Mini (Mac14,12) — 10 cores, 32 GB RAMMCP SDK@modelcontextprotocol/sdk (bundled)
Does this stop you from using Cursor
Yes - Cursor is unusable