Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Chats/agents created in an untitled multi-root workspace in the Agents Window are all orphaned when that workspace is opened in the classic IDE (via the “IDE
” button) and the IDE window is then closed.
On close, the IDE shows a “do you want to save your workspace?” prompt even if nothing was changed, and BOTH choices destroy the file backing the workspace:
- “Don’t Save” → deletes %APPDATA%\Cursor\Workspaces<id>\workspace.json (untitled workspace discarded)
- “Save” → converts it to a .code-workspace file and ALSO deletes the AppData file
The Agents Window project entry and all existing chats keep referencing the deleted file path and are never migrated. Afterwards, every tool call in every affected chat fails with “Execution backend unavailable”, and the “IDE
” button shows “Path does not exist: C:\Users...\AppData\Roaming\Cursor\Workspaces<id>\workspace.json”. The error looks identical to a WSL/backend outage, which makes it very hard to diagnose (I spent a day debugging WSL, Docker Desktop, and Cursor installs before finding the real cause).
My workspace was an untitled multi-root group of 5 WSL folders (vscode-remote://wsl+ubuntu/home/nox/…) used via the Agents Window.
Steps to Reproduce
- In the Agents Window, create a multi-root workspace from several WSL folders without saving it as a .code-workspace (this is the natural flow — the UI never prompts to save). Note that %APPDATA%\Cursor\Workspaces<timestamp>\workspace.json is created, containing the folders (vscode-remote URIs) and “remoteAuthority”: “wsl+ubuntu”.
- Create one or more chats in this workspace. Agent shell/tools work fine.
- Click “IDE
” to open the workspace in the classic IDE. Make no changes. - Close the IDE window. A save prompt appears despite zero modifications. Choose either “Save” or “Don’t Save”.
- Observe that %APPDATA%\Cursor\Workspaces<timestamp>\workspace.json is now deleted.
- Return to the Agents Window and open any pre-existing chat in that workspace: every tool call fails with “Execution backend unavailable”. The workspace resolves to a broken Windows-local identity: folders reported as \home\nox... backslash paths, PowerShell as shell, and session data keyed to C:\Users<user>\AppData\Local\Temp<uuid> with a fresh UUID per session. Choosing “Save” in step 4 orphans the chats just the same — the new .code-workspace gets a new identity and nothing points the old chats at it.
- If you click “IDE
” again, you will now get a “Path does not exist” error dialog, telling that the %APPDATA%\Cursor\Workspaces<timestamp>\workspace.json file doesn’t exist now.
Expected Behavior
Chats keep working after opening/closing the IDE. Specifically:
- No save/discard prompt (and no deletion of the definition) for an unmodified untitled workspace on IDE close.
- When an untitled workspace is saved to a .code-workspace, the Agents Window project entry and all existing chat/agent bindings are migrated to the new file.
- A workspace definition still referenced by live chats is never hard-deleted; at minimum, a real error (“workspace definition missing”) is surfaced instead of the misleading “Execution backend unavailable”.
Screenshots / Screen Recordings
Operating System
Windows 10/11
Version Information
Version: 3.14.7 (user setup)
VS Code Extension API: 1.128.0
Commit: a758f2241ca99fecf380180b6cbdbbce0f1f42c0
Date: 2026-07-30T06:41:34.009Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.26200
cursor-server commit (WSL side): a758f2241ca99fecf380180b6cbdbbce0f1f42c0
WSL: 2.7.11.0, kernel 6.18.33.2-microsoft-standard-WSL2, distro: Ubuntu
Additional Information
Workarounds found (which also confirm the diagnosis):
-
Hand-recreating %APPDATA%\Cursor\Workspaces<original-id>\workspace.json — with the original folders list AND “remoteAuthority”: “wsl+ubuntu” — fully revives the orphaned chats, proving the chats are intact and only the file reference is dangling. Marking the file read-only prevents it from being deleted again. Note: recreating it with incomplete content (e.g. missing remoteAuthority) instead causes the chats to be regrouped under a generic “workspace.json” entry, still without a working backend — the contents must match the original format exactly.
-
Editing %APPDATA%\Cursor\User\workspaceStorage<hash>\workspace.json to point “workspace” at a saved .code-workspace restores the project entry durably, but pre-existing chats still reference the old AppData path and stay orphaned unless that file is also restored.
The full of the deleted workspace can be recovered from %APPDATA%\Cursor\User\workspaceStorage*\workspace.json, which still contains the dangling reference.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor

