Can't pin chats anymore

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When I try to pin a chat nothing happens.

Steps to Reproduce

Start a chat, then click pin

Expected Behavior

Chat gets pinned above other workspaces

Operating System

MacOS

Version Information

Version: 3.8.23 (Universal)
VS Code Extension API: 1.105.1
Commit: 7cf19b7482706625cdb70db3211b7dd035b7aa30
Date: 2026-06-23T14:57:42.334Z
Layout: glass
Build Type: Stable
Release Track: Default
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 24.6.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hi @Samuel_Talenti Thanks for reporting! Unfortunately I’m unable to replicate this bug on this version of Cursor on Mac. Can you try updating and restarting Cursor? If it persists, do you mind sharing a quick screen recording? This will better enable us to pinpoint the bug and get the right reports raised. Thank you!

Hey Kevin, when I try check for updates it says no updates currently available. Recording attached

Hi, polite bump as this issue is still persisting for me, and is quite annoying since I liked pinning… @kevinn are there any developer logs I can get and attach here to help pinpoint the root cause? I’ve tried quit & restart, reload window, closing and opening the workspace. Updated version info below:

Version: 3.11.19 (Universal)
VS Code Extension API: 1.125.0
Commit: bf249e6efb5b097f23d7e21d7283429f0760b740
Date: 2026-07-12T21:39:24.175Z
Layout: Agent Window
Build Type: Stable
Release Track: Default
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 24.6.0

Hey @Samuel_Talenti!

There’s a limit to how many chats you can have pinned (50), so I’m wondering if some of them might be “stuck” somewhere.

Do you have sqlite3 installed on your machine? You can confirm this with a terminal command like this:

for f in ~/Library/Application\ Support/Cursor/User/workspaceStorage/*/state.vscdb; do
  sqlite3 "$f" "SELECT value FROM ItemTable WHERE key = 'cursor/pinnedComposers'" 2>/dev/null | grep -q . && echo "$f" && sqlite3 "$f" "SELECT value FROM ItemTable WHERE key = 'cursor/pinnedComposers'"
done

If you see 50+ results (likely exactly 50), that’s the issue you’re running into. Our next step would be to figure out where these ghost chats are coming from.

Hey Colin, that’s it, 50 exactly. Is it safe to delete those entries from the table if I close cursor first, or is there an easier way without db commands?

On where they came from I’m not sure… I primarily work in a single workspace, and while I’ve updated and reopened it on occasion I doubt I’ve had so many chats pinned that it could’ve accumulated. If you want additional info send me over the commands and I’ll give you results.

It’s not ideal to perform surgery, but if you perform a backup first it’s low-risk!

Do they all show up under empty-window/state.vscdb? If so, a safe approach would be:

Fully quit Cursor (Cmd+Q, not just closing the window). Cursor keeps this value in memory and writes it back on exit, so any edit made while it’s running will be overwritten.

1. Back up the database:

mkdir -p ~/Desktop/cursor-backup && cp ~/Library/Application\ Support/Cursor/User/workspaceStorage/empty-window/state.vscdb* ~/Desktop/cursor-backup/

2. (Optional) Look at the current value first:

sqlite3 ~/Library/Application\ Support/Cursor/User/workspaceStorage/empty-window/state.vscdb \
"SELECT value FROM ItemTable WHERE key = 'cursor/pinnedComposers';"

3. Delete the pinned-chats entry:

sqlite3 ~/Library/Application\ Support/Cursor/User/workspaceStorage/empty-window/state.vscdb \
"DELETE FROM ItemTable WHERE key = 'cursor/pinnedComposers';"

4. Verify it’s gone (should print nothing):

sqlite3 ~/Library/Application\ Support/Cursor/User/workspaceStorage/empty-window/state.vscdb \
"SELECT value FROM ItemTable WHERE key = 'cursor/pinnedComposers';"

5. Relaunch Cursor and re-pin the chats you want. If anything looks wrong, quit Cursor and restore the backup:

cp ~/Desktop/cursor-backup/state.vscdb* ~/Library/Application\ Support/Cursor/User/workspaceStorage/empty-window/