Agent History Wiped

Describe the Bug

Switching to nightly wiped my entire agent history. Tried switching back to stable and it’s still gone.

Steps to Reproduce

Switch to nightly build.

Operating System

MacOS

Version Information

Version 2.6.2

Does this stop you from using Cursor

Yes - Cursor is unusable

fixed it.. post mortem if it’s helpful

_________________________
Issue: Cursor agent history disappeared after switching release channels

Timeline:

  • Switched from Cursor stable (2.6.20) to nightly (2.7.0-pre)
  • Nightly showed no history
  • Switched back to stable — only partial history
  • Switched to early access — all history gone
  • Switched back to stable — still no history

Root Cause:
Cursor’s history UI reads from a single index key (composer.composerHeaders in ItemTable of state.vscdb) to populate the history list. When switching between release channels, each channel overwrites this index with only the sessions it recognizes, shrinking it from 451+ entries down to 59 — and eventually showing nothing.

The actual conversation data was never deleted. All 442 sessions with content, 286K+ message bubbles, and 3.4GB of conversation data remained intact in the cursorDiskKV table. The UI just couldn’t find them because the index was truncated.

Fix:
Rebuilt composer.composerHeaders by scanning all composerData:* entries in cursorDiskKV that had conversation content, reconstructing the header metadata, and matching each session to its workspace via file paths found in the bubble data. Recovered 413 of 451 sessions (remaining 38 were sub-agent tasks with no file references).

Suggestions for Cursor team:

  1. Channel switching should not overwrite composer.composerHeaders — it should merge/preserve existing entries
  2. The history UI should be resilient to a missing or partial index — it could rebuild from composerData:* entries on startup
  3. Consider a migration safety check that warns users if switching channels would affect their data

Hey, thanks for the report. This is a really valuable breakdown with a clear root cause around composerHeaders and reproducible steps.

I shared your suggestions with the team:

  • Merge instead of overwriting composerHeaders when switching channels
  • A more resilient UI that can rebuild the index from composerData:*
  • A warning when switching channels

There’s no ETA on a fix yet, but your analysis really helps with prioritization. Glad you were able to recover 413 out of 451 sessions.

This happened to me as well, and I lost vital chats for all my projects. Can we expect a fix in an upcoming Cursor update that restores the lost chats? This is highly critical as this affects my daily work on a Team plan.