Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Cursor IDE is experiencing severe memory leaks in the chat/composer system that cause the extension host to crash and restart repeatedly. The listener count grows exponentially (180 → 459+ listeners) within minutes, leading to complete IDE instability.
Environment
OS: macOS (darwin 25.0.0)
Workspace: Large PHP codebase (~30,000+ files)
Extensions: Various (but issue persists even with minimal extensions)
Steps to Reproduce
Open Cursor IDE with a large codebase
Use the chat/composer feature for code analysis or file operations
Perform multiple tool calls (file writes, code analysis, etc.)
Monitor the system for 10-30 minutes
IDE will crash and restart
Expected Behavior
Chat/composer should work without memory leaks
Extension host should remain stable
IDE should not crash during normal usage
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Version: 1.7.23 (Universal)
VSCode Version: 1.99.3
Commit: 5069385c5a69db511722405ab5aeadc01579afd0
Date: 2025-09-30T02:52:09.100Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Darwin arm64 25.0.0
For AI issues: which model did you use?
Auto
For AI issues: add Request ID with privacy disabled
Request ID: 208bfa27-b034-478f-a2cf-1b2c19b60341
Additional Information
Timeline of Memory Leak
12:18:10.244 - 180 listeners
12:18:10.249 - 268 listeners (+88 in 5ms)
12:18:10.795 - 274 listeners (+6 in 546ms)
12:20:51.778 - 364 listeners (+90 in 2 minutes)
12:20:53.395 - 459 listeners (+95 in 1.6 seconds)
12:24:54.710 - Extension host terminated unexpectedly
Root Cause Analysis
The issue is in Cursor’s internal chat/composer system, specifically:
Bubble creation system (Pcr.createBubbleFromToolCall)
Tool call processing (w7.submitChatMaybeAbortCurrent)
Code block processing (Tte.processCodeBlocks)
Impact
Critical: IDE becomes unusable due to frequent crashes
Productivity: Work is lost during crashes
Stability: Cannot rely on IDE for development work
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor

