How to retrieve records from a previously closed workspace

I placed two code folders in one window, and then I noticed that after restarting Cursor, the terminal stopped loading content. So I closed the window, and then I could no longer find this workspace, which caused all the previous chat history to be lost as well

Version: 3.1.17 (Universal)
VSCode Version: 1.105.1
Commit: fce1e9ab7844f9ea35793da01e634aa7e50bce90
Date: 2026-04-19T19:33:58.189Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.3.0

Hey, the data is most likely still on disk. The UI just can’t find it because the workspace got “lost”. Chats are tied to the first folder you added to the multi-root workspace, because the slug is generated from that folder path.

What to try:

  1. Reopen the exact folder that was added first, as a single folder, not as a multi-root workspace. If you pick the right one, the history should load.
  2. Check that the transcripts exist on disk:
    ~/.cursor/projects/
    
    You should see folders with project slug names, and inside them agent-transcripts/. You can usually tell which project was first by the names.
  3. Also, VS Code stores workspace state in ~/Library/Application Support/Cursor/User/workspaceStorage/. There’s a state.vscdb for each workspace.

Related threads with the same pattern after 3.1.17:

Let me know if you found folders in ~/.cursor/projects/ and if reopening the first folder brought the history back. If the transcripts are on disk but the UI still won’t pick them up, I can share how to restore them manually.

I used Linux remote ssh with cursor, I just renamed the workspace before restart for update, and it looks like I lost all chat history in the editor sidebar

I looked that the agent transcript is still in ~/.cursor/projects/ but it’s spread out in different folders, how do I restore them back?

Is there step by step guide on how to do this?

@andycjw, your case is different from the original one. This looks like an SSH alias or workspace rename issue. The slug in ~/.cursor/projects/ for Remote-SSH is built from the SSH host name plus the remote path. So after a rename, the old transcripts stay in the folder with the old slug, but the UI is now looking at the new one.

The most reliable fix is to roll back the rename:

  1. Close Cursor.
  2. Change the SSH host (or workspace) name back to the old name it had before the update.
  3. Open the project the same way you did before. The sidebar should pick up the old history from the old folder in ~/.cursor/projects/.

If rolling back the rename isn’t an option, I need a bit more info to guide you safely:

  • Output of ls -la ~/.cursor/projects/ (you can mask names, but please keep the modification dates, they help match slugs to projects).
  • What the old SSH host or workspace name was, and what it is now.
  • Your Cursor version and your client OS.

Quick heads-up: there isn’t a fully automatic step-by-step guide for this. Composer headers are stored not only in agent-transcripts/, but also in state.vscdb (workspaceStorage). It filters by the workspace identifier, so simply moving the transcripts folder to the new slug can restore message bodies, but the chat list in the sidebar might not show up unless state.vscdb is edited. That’s why rolling back the rename is the preferred option.

We have this issue (orphaned history after renaming an SSH alias) on our radar, but I can’t share an ETA for a fix yet. Let me know what happens after step 1, or share the details above and we’ll take it from there.