Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Cursor IDE → Agent chat → @ picker (reference/attach prior chats).
When referencing prior agent chats via @ inside Agent mode, many entries appear as untitled “New Chat” even though the conversations exist and have substantial history.
This is not (primarily) the main Past chats sidebar in my case — the issue shows up in the @ chat picker when trying to find and attach a previous thread.
A. Stale entries after transcript deletion (secondary)
When transcript folders are removed outside Cursor’s in-app delete, metadata can remain and still appear in the @ picker as an untitled “New Chat” even though the conversation is gone or broken.
B. Long agent chats never get auto-titled
-
Real conversations can remain with
name: null/emptyincomposer.composerHeaders, so the @ chat picker shows “New Chat” instead of a generated title. Many of mine are alsoisArchived: true, which makes them harder to distinguish among identical labels. -
Manual DB edits did not stick while the app was open (see Additional Context).
Expected: @ picker lists prior chats with recognizable auto-generated titles; deleted chats disappear.
Actual: @ picker shows multiple identical “New Chat” rows; hard to find the right thread; some may be stale after transcript deletion.
Steps to Reproduce
- macOS — open a workspace in Cursor Agent mode and run several long multi-turn agent chats.
- In a new Agent chat, type @ and open the chat/conversation picker to reference a prior thread.
- Observe multiple entries labeled “New Chat” despite real conversation history.
- (Optional) Quit Cursor, manually delete one
~/.cursor/projects/<workspace-id>/agent-transcripts/{composerId}/folder, reopen, repeat step 2 — an untitled “New Chat” may still appear.
Operating System
MacOS
Version Information
Version: 3.8.2
VS Code Extension API: 1.105.1
Commit: b89e482a59f84f55a982a0e6fa6b2399a1430860
Date: 2026-06-16T01:49:35.480Z
Layout: editor
Build Type: Stable
Release Track: Nightly
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.256
OS: Darwin arm64 27.0.0
Additional Information
Storage split (for debugging):
Cursor appears to keep at least three separate stores that are not reconciled:
- Sidebar metadata: SQLite key
composer.composerHeaders→allComposers[](fields observed:composerId,name,subtitle,isArchived,workspaceIdentifier) - Conversation payload: SQLite
cursorDiskKV→composerData:{composerId} - Agent transcript files:
~/.cursor/projects/<workspace-id>/agent-transcripts/{composerId}/{composerId}.jsonl
Observed on one macOS project workspace:
- ~18 prior chats available when using @ in Agent mode
- Most appear as untitled “New Chat” despite real history (many archived)
- Main sidebar: Past chats may show proper titles for recent threads; the @ picker is where the problem is visible for me.
Local workaround attempted (advanced, not recommended): I tried editing local Cursor state (composer.composerHeaders) to backfill titles from .jsonl. Changes did not persist while Cursor was running (SQLITE_BUSY: database is locked in main.log).
Does this stop you from using Cursor
No - Cursor works, but with this issue