Agents Window: chats permanently orphaned ("Execution backend unavailable") after opening an untitled multi-root workspace in the IDE — both "Save" and "Don't Save" delete the workspace definition file

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 :up_right_arrow:” 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 :up_right_arrow:” 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

  1. 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”.
  2. Create one or more chats in this workspace. Agent shell/tools work fine.
  3. Click “IDE :up_right_arrow:” to open the workspace in the classic IDE. Make no changes.
  4. Close the IDE window. A save prompt appears despite zero modifications. Choose either “Save” or “Don’t Save”.
  5. Observe that %APPDATA%\Cursor\Workspaces<timestamp>\workspace.json is now deleted.
  6. 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.
  7. If you click “IDE :up_right_arrow:” 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:

  1. No save/discard prompt (and no deletion of the definition) for an unmodified untitled workspace on IDE close.
  2. 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.
  3. 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):

  1. 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.

  2. 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

Hi @noxhoej Thank you for the post. I’m sorry for the effort this has required to debug.

What you are seeing is not caused by your WSL or Docker setup. Agent chats stay bound to the untitled workspace file under %APPDATA%\Cursor\Workspaces\<id>\workspace.json. Opening that workspace in the classic IDE and then closing it, with either Save or Don’t Save, removes that file. The Agents Window project and existing chats keep pointing at the old path, which is why tool calls fail with Execution backend unavailable and IDE :up_right_arrow: later shows Path does not exist.

Your recovery steps are right: the chats themselves are still there. Recreating the original workspace.json with the same folder list and "remoteAuthority": "wsl+ubuntu" brings them back. Marking that file read-only may stop it from being deleted again.

Until this is fixed, the safest approach is to save a multi-root workspace as a .code-workspace file before you rely on chats in it, and before closing an IDE window that still has that untitled workspace open. Existing chats are not moved over if you save after the fact, so restoring the original AppData file is still needed for those. I would also leave “Always discard untitled workspaces without asking” unchecked.

We’ve let the team know, and this is an issue we’re tracking. No timeline to share yet, but I’ll post here when there’s an update.