Cursor is using 231 GB on my Mac — I guess I've been building an operating system without knowing it?

So I ran OmniDiskSweeper today to figure out where my disk space went, and here’s what I found:

  • ~/Library/Application Support: 323 GB
  • ~/Library/Application Support/Cursor: 231.3 GB

That’s 71% of my entire Application Support folder. Cursor isn’t just my editor anymore — it IS my Mac. At this point I have to assume I’ve accidentally developed a super-system of some kind, because no amount of TypeScript I’ve actually written could possibly explain this.

Drilling down, the culprit is User/globalStorage: 222.2 GB, with a single state.vscdb file at 188.3 GB. One SQLite file. 188 GB. My entire Steam library is jealous.

Feature request: could Cursor add a built-in way to reclaim unused disk space? Something like a “Clear old chat/composer history & cache” button in settings, or automatic compaction of state.vscdb. Storage is expensive these days — my SSD costs more per GB than my Cursor subscription.

For now, is it safe to delete state.vscdb manually? What do I lose — chat history only, or settings too?

Hey there!
Quick answer first: state.vscdb holds your local chat/agent history and checkpoints - not your settings or extensions, and never your project files. So clearing it only costs you old chat history.

To reclaim space (fully quit Cursor first):

  1. Delete state.vscdb.backup in that same globalStorage folder — it’s just a fallback copy, so it’s the easy win.
  2. Reopen → Command Palette (Cmd+Shift+P) → Developer: GC Agent KV Blobs to compact the DB. Update to the latest version if you don’t see it.
  3. Still huge? Run Developer: Delete Old Chats… and pick a cutoff (e.g., 30 days) — on a DB this size, that’s what actually shrinks it. It auto-compacts after.

I’d avoid deleting the whole state.vscdb file — it can leave existing chats stuck on “Loading Chat…”. If you ever do, back it up first.

If you want the heaviest hammer, quit Cursor, back up the file, then clear the big tables directly:

cp ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb ~/state.vscdb.backup
sqlite3 ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb "DELETE FROM cursorDiskKV WHERE key LIKE 'agentKv:%' OR key LIKE 'bubbleId:%' OR key LIKE 'checkpointId:%'; VACUUM;"

This drops it to a fraction of the size; you’ll lose chat history from the UI (transcripts stay in ~/.cursor/projects/).

And great feature request - a built-in “reclaim space” button is exactly right, and it’s something we’re tracking. Let me know if this frees things up!