When reopening Cursor with a previous session that includes Claude Code tabs (even just one), the entire UI gets stuck in a loading state.
The editor does not load properly
Claude tabs show “Waiting for extension host” indefinitely
No interaction is possible
This happens consistently after restarting Cursor or the system if Claude Code tabs were open in the previous session.
Steps to Reproduce:
Open Cursor
Open one or multiple Claude Code tabs
Restart Cursor or your computer
Reopen Cursor
Observe that everything is stuck loading
Expected Behavior:
Cursor should restore the previous session and load all tabs normally.
Actual Behavior:
Cursor freezes and remains stuck in a loading state until intervention.
Workarounds:
Close all Claude Code tabs before restarting Cursor (not practical)
Alternative workaround:
Open a new tab
Type something (e.g., “hello”)
Wait a few minutes until it times out
Cursor prompts to reload the app
After reload, everything works again
Impact:
High.
This breaks workflow completely because:
I rely on keeping multiple Claude Code tabs configured with specific agents
After every restart/update, I’m forced to rebuild my entire setup from scratch
Additional Notes:
This seems specifically tied to Claude Code tabs during session restore. Likely an issue with extension host initialization or session hydration.
Hey, thanks for the detailed report. The repro steps and workaround are super helpful.
This looks related to a known issue where the extension host init times out on startup. A few things to help narrow it down:
Can you open Developer Tools via Help > Toggle Developer Tools, go to the Console tab, and copy any red errors that show up while Cursor is stuck loading? That should tell us what’s hanging.
Also check if the cursor-socket extension is intact. Run this in your terminal:
ls -la "/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-socket/"
If you only see package.json and there’s no out/ directory, that’s a known packaging issue.
Does cursor --disable-extensions let Cursor start normally? That would confirm whether it’s a Claude Code extension issue or a broader extension host problem.
The team knows about extension host timeout issues and is actively investigating. Your report is a useful data point, especially session restore with extension tabs as a trigger.
Share the console logs when you can. That’ll help confirm if this is the same root cause or something specific to Claude Code session restore.
Ran cursor --disable-extensions — same issue, extensions aren’t the cause. Also checked the cursor-socket extension directory and it has dist/, extension.webpack.config.js, and package.json all present, so it’s not the packaging issue either.
Console logs attached below. The key errors I’m seeing:
Extension host v3 health check failed after 10 attempts (7051ms)
[auth] Timeout waiting for auth ready signal repeating dozens of times
[PluginsProviderService] Timed out waiting for plugins provider after 30000ms
[Anthropic.claude-code]: View container ‘claude-sidebar-secondary’ does not exist
429 rate limit from api2.cursor.sh at the very bottom
Looks like the auth/backend connection is what’s hanging, not extensions. The 429 rate limit from Cursor’s API might be triggering the whole cascade.