Glass Agents: new draft agent binds to wrong workspace after typing a few chars

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When I create a new Agent under rcysxt / rcysxt-front in the Glass Agents window, typing a few characters in the draft can cause the agent workspace root to switch to /Users/dzwsmac/myproject/lure_fish.
The sidebar may still show the chat under rcysxt, but the agent actually runs with lure_fish as workspace root. This wastes tokens searching the wrong repo and risks editing the wrong project.
Cursor version: 3.17.19 (ae3a2b7231dd56194447fe4570dfdc61640b1e90, stable)
macOS Darwin 27.0.0

Steps to Reproduce

  1. Keep multiple projects open (rcysxt, rcysxt-front, lure_fish).
  2. Open the Glass Agents window.
  3. Select or create a new agent under rcysxt / rcysxt-front.
  4. Start typing a few characters in the draft prompt.
  5. Observe the agent workspace root becomes /Users/dzwsmac/myproject/lure_fish instead of rcysxt.
  6. Sidebar UI may still group the chat under rcysxt, but agent tools/search run in lure_fish.

Expected Behavior

A new draft agent should inherit the workspace selected in the Agents sidebar (e.g. rcysxt-front + rcysxt), and should not fall back to another open folder like lure_fish.

Operating System

MacOS

Version Information

Cursor IDE 3.17.19
Commit: ae3a2b7231dd56194447fe4570dfdc61640b1e90
Quality: stable
OS: macOS Darwin 27.0.0

For AI issues: which model did you use?

Auto (Agent mode). Not model-specific — this is a workspace binding issue in Glass Agents.

For AI issues: add Request ID with privacy disabled

No Request ID captured. Issue is workspace binding, not a single failed model response.

Additional Information

Local evidence:

  1. Corrupted Glass workspace file (filename vs content mismatch):
    ~/Library/Application Support/Cursor/glassMultiRootWorkspaces/lure_fish.code-workspace
    Filename says lure_fish, but contents are rcdb + smssg_front (same as 人车前后端.code-workspace).

  2. storage.json keeps lure_fish in backup/open windows:
    ~/Library/Application Support/Cursor/User/globalStorage/storage.json

  • backupWorkspaces.folders includes lure_fish (listed first) and rcysxt
  • openedWindows includes rcysxt multi-root, lure_fish folder, rcysxt folder, and empty Glass window as lastActiveWindow
  1. Duplicate workspaceStorage entries for lure_fish:
    76cd67f0630bad22c4bf374329c086cb
    904920bf2f9bf3ebf69ed44751a8fbb1

  2. Frequent Draft workspace archived errors while typing in new drafts:
    ~/Library/Application Support/Cursor/logs/20260825T145246/window4_wb0/renderer.log
    Example:
    Draft workspace archived: e20fcda6-4a14-40f7-8a8f-dbfb9cfe5753
    Error: Draft workspace archived: e20fcda6-4a14-40f7-8a8f-dbfb9cfe5753
    at Object.load (…/workbench.glass.main.js:…)

  3. Real case:
    Chat “船代主页委托编辑” shown under rcysxt in sidebar, but agent started with workspace root /Users/dzwsmac/myproject/lure_fish and had to move_agent_to_root to rcysxt-front + rcysxt.

Related forum threads (search by title):

  • Agents Window opens focused on another workspace/thread
  • Chats migrated to a phantom workspace
  • Glass workspace folders changed to none

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. The logs and evidence are really helpful.

This is a known issue we’re tracking. If another window is open, or a recently viewed agent points to a different folder, the selected workspace for a new draft agent can switch back while you’re typing. The sidebar showing the chat under rcysxt while the agent actually starts in lure_fish is part of the same behavior, along with the mismatch in the glassMultiRootWorkspaces file.

A more reliable workaround is to pick the project from the repo list in the left sidebar, not from the selector above the input box. Choosing via the sidebar tends to survive this churn. Also, double-check the selected project right before you send.

We’ve already fixed part of this behavior, the re-binding while typing, and it’ll ship in one of the next releases. The second scenario is still in progress, so I can’t share an exact ETA yet. I’ll post an update in the thread once I have one.