The Best Recovery Is Prevention
Before we dive into recovery methods, here's the truth: if you install RL4, you'll likely never need to recover anything.
RL4 v2.0 automatically and retroactively captures your entire Cursor chat history the moment you activate it. Everything goes into `.rl4/evidence/chat_history.jsonl` — timestamped, deduplicated, and searchable via MCP.
Even better, the Content Store (`.rl4/snapshots/`) saves SHA-256 checksums of every file you work on, enabling reconstruction of your project state at any point — even without Git.
If you already have RL4 installed, try searching before manual recovery:
Use search_chats to find conversations about "your topic"If that doesn't work, or you don't have RL4 yet, read on for manual recovery methods.
Why Cursor Conversations Disappear
You open Cursor, start typing a question, and realize—all your previous conversations are gone.
This happens more often than you'd expect:
- **Renamed your project folder** — Creates orphaned workspace
- **Moved the project** — Same effect, new location
- **Cursor update** — Sometimes migrates data poorly
- **Cleared cache** — Accidentally included chat data
- **Time passed** — Cursor silently purges old conversations
The good news: often, the data isn't deleted—just disconnected.
Understanding Cursor Storage
Cursor stores conversations in SQLite databases:
macOS:
~/Library/Application Support/Cursor/User/globalStorage/state.vscdb
~/Library/Application Support/Cursor/User/workspaceStorage/<id>/state.vscdbWindows:
%APPDATA%\Cursor\User\globalStorage\state.vscdb
%APPDATA%\Cursor\User\workspaceStorage\<id>\state.vscdbLinux:
~/.config/Cursor/User/globalStorage/state.vscdb
~/.config/Cursor/User/workspaceStorage/<id>/state.vscdbEach workspace gets a unique ID. When you rename or move a folder, Cursor creates a new workspace ID—the old one becomes orphaned.
Method 1: Find Orphaned Workspaces (Most Common Fix)
If you renamed or moved your project, your conversations are likely in an orphaned workspace.
Step 1: Navigate to workspaceStorage
cd ~/Library/Application\ Support/Cursor/User/workspaceStorage/
ls -laYou'll see folders with IDs like `abc123def456...`
Step 2: Search for your project
grep -r "your-project-name" */workspace.jsonThis finds which workspace ID was associated with your project's old path.
Step 3: Inspect the workspace
cat abc123def456.../workspace.jsonLook for the `folder` field—it shows the original project path.
Step 4: Use Debug Mode recovery
If you have RL4 installed:
- Open RL4 panel
- Enable Debug Mode (bottom of Step 0)
- Click "Scan for Orphans"
- Find your workspace and click "Scan This"
Method 2: Query the Database Directly
For manual recovery:
sqlite3 ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb
# List tables
.tables
# Find composer data (chat history)
SELECT key FROM cursorDiskKV WHERE key LIKE 'composerData:%' LIMIT 10;
# Export specific conversation
SELECT value FROM cursorDiskKV WHERE key = 'composerData:your-id-here';Warning: Don't modify the database while Cursor is running. Read-only queries are safe.
Method 3: Custom Scan Path
If you know where the data is:
- Open RL4 Debug Mode
- Find "Custom Scan Path" tool
- Enter the path to the workspace folder or state.vscdb file
- Click "Scan Path"
RL4 will extract whatever conversations exist in that database.
Method 4: Export JSON Recovery
If you previously exported conversations:
# Find export files
find ~ -name "cursor-aiService.generations.json" 2>/dev/null
find ~ -name "*.cursor-export.json" 2>/dev/nullThese files can be loaded directly:
- RL4 panel → "Pick exported JSON"
- Select your file
- Generate snapshot from the data
When Recovery Fails
Sometimes data is truly gone:
Cursor purged it:
- No official retention policy
- Older conversations (30-60+ days) may be deleted
- No recovery possible
Database corrupted:
- Try "Repair Database" in Debug Mode
- Run VACUUM to recover space
- May lose some data
File system deletion:
- Check trash/recycle bin
- Time Machine (macOS) or file history
- Professional data recovery (expensive)
Prevention: Never Lose Context Again
Make snapshots before risky operations:
- Before renaming project folders
- Before moving projects
- Before Cursor updates
- Before clearing cache
Regular backup schedule:
# Weekly backup of Cursor data
cp -r ~/Library/Application\ Support/Cursor/User/ ~/Backups/Cursor-$(date +%Y%m%d)/Use incremental snapshots:
"Since last snapshot" captures only new conversations, keeping your history continuously backed up.
The Rename/Move Trap
This is the #1 cause of "lost" conversations:
What happens:
- Project at `/Users/you/projects/my-app`
- You rename to `/Users/you/projects/my-app-v2`
- Cursor creates new workspace ID for the new path
- Old conversations are in old workspace ID
- Cursor shows empty history
The fix:
- Find the old workspace ID (search workspace.json files)
- Scan that workspace with RL4
- Generate snapshot of old conversations
- Now you have portable context regardless of folder name
Recovery Checklist
When you discover missing conversations:
- **Don't panic** — Data is often recoverable
- **Don't clear more data** — Might make it worse
- **Check orphaned workspaces** — Most common fix
- **Search for exports** — May have old backups
- **Query database directly** — Technical but effective
- **Use Debug Mode tools** — Easiest approach
Build Recovery Into Your Workflow
Make cursor workspace recovery unnecessary by building good habits. Learn to export your history properlyexport your history properly/cursor/blog/export-cursor-chat-history-complete-guide and create regular snapshotscreate regular snapshots/cursor/blog/create-first-ai-snapshot-tutorial:
Daily: End-of-day snapshot to restore cursor conversations
Weekly: Full backup of Cursor User folder
Before changes: Snapshot before rename/move/update
Monthly: Verify backups can be restored—find old cursor chats easily
Get Help Recovering
If you're stuck, RL4 provides multiple recovery tools:
- **Orphan Scanner** — Find disconnected workspaces
- **Custom Scan Path** — Target specific databases
- **Database Diagnostic** — `Cmd/Ctrl + Shift + P` → "RL4: Run Database Diagnostic"
- **MCP Search** — `search_chats("your topic")` to find captured conversations
- **Content Store** — Restore file snapshots via `get_content_store_index` + `read_rl4_blob`
The Real Fix: Continuous Capture
Recovery is painful. Prevention is free.
With RL4 v2.0:
- **Automatic capture** — Every conversation saved to `chat_history.jsonl` in real-time
- **Retroactive scan** — Captures history back to your very first prompt
- **Cloud backup** — Optional Supabase sync for cross-device protection
- **Content Store** — SHA-256 file snapshots for full project reconstruction
- **RAG search** — Find any conversation instantly via MCP
**Install RL4**Install RL4/cursor/form — stop recovering and start preventing. Your conversations are captured the moment you install.
Your conversations are worth recovering — and worth protecting from day one.