Chat history fails to load in Cursor; past conversations show "Loading" indefinitely or broken UI

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Chat history does not load in Cursor. When opening previous chats/conversations, they either show “Loading Chat” indefinitely, display a broken tab (e.g. “1 Tab”), or fail to render content. Diagnostic logs show multiple errors including “An unknown error occurred” in the renderer, and on some sessions I’ve seen “WritableIterable is closed: WriteIterableClosedError”. OTLPExporterError also appears repeatedly (Trace spans collection not enabled), though that may be separate. Storage: globalStorage 597MB, workspaceStorage 132MB, User/History 5.8MB.

Steps to Reproduce

  1. Open Cursor IDE
  2. Click on a previous chat/conversation in the sidebar or history
  3. Observe: loading never completes, or shows broken/empty tab instead of chat content

Expected Behavior

Chat history should load and display past conversations correctly.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Cursor: 2.4.31
OS: Darwin 24.6.0
Arch: arm64

Additional Information

Full diagnostic output (run: cd cursor-history-debug && ./diagnose.sh):

— Recent Errors (last 48h of logs) —
From: /Users/og/Library/Application Support/Cursor/logs/20260211T152815
2026-02-11 15:28:17.536 [error] Missing ‘tunnelApplicationConfig’ or ‘tunnelApplicationName’ in product.json. Remote tunneling is not available.
2026-02-11 15:28:17.777 [error] Failed to check if file sync is enabled for user {}
2026-02-11 15:28:17.777 [error] Failed to fetch fsConfig File sync is disabled
2026-02-11 15:28:17.777 [error] Failed to fetch fsConfig File sync is disabled
2026-02-11 15:28:24.187 [error] Error: Npm task detection: failed to parse the file /Users/og/Documents/Projects/AlternateFutures/web-app.alternatefutures.ai/package.json
2026-02-11 15:28:17.811 [error] Error getting repo info: Failed to execute git
2026-02-11 15:28:17.811 [error] Error: Failed to execute git
2026-02-11 15:28:17.889 [error] Error getting repo info: Failed to execute git
2026-02-11 15:28:52.002 [error] Error getting git status: Failed to execute git
2026-02-11 15:28:17.702 [error] [Extension Host] (node:3493) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
2026-02-11 15:28:24.189 [error] An unknown error occurred. Please consult the log for more details. {}
2026-02-11 15:29:00.772 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (/Applications/Cursor.app/Contents/Resources/app/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:90:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
2026-02-11 15:29:11.475 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (/Applications/Cursor.app/Contents/Resources/app/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:90:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
2026-02-11 15:29:21.463 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (/Applications/Cursor.app/Contents/Resources/app/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:90:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
2026-02-11 15:29:28.790 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (/Applications/Cursor.app/Contents/Resources/app/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:90:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
2026-02-11 15:29:34.276 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (/Applications/Cursor.app/Contents/Resources/app/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:90:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}

— Chat/History Related Errors —
2026-02-11 15:28:15.581 [warning] Via ‘product.json#extensionEnabledApiProposals’ extension ‘ms-vscode.vscode-copilot-data-analysis’ wants API proposal ‘chatVariableResolver’ but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check ‘vscode.d.ts’) or was abandoned.
2026-02-11 15:28:15.582 [warning] Via ‘product.json#extensionEnabledApiProposals’ extension ‘github.copilot-chat’ wants API proposal ‘chatReadonlyPromptReference’ but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check ‘vscode.d.ts’) or was abandoned.
2026-02-11 15:28:15.582 [warning] Via ‘product.json#extensionEnabledApiProposals’ extension ‘apidev.azure-api-center’ wants API proposal ‘chatParticipant’ but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check ‘vscode.d.ts’) or was abandoned.

— Storage Sizes —
User/History: 5.8M
workspaceStorage: 132M
globalStorage: 597M

— Debug Commands Available —
In Cursor: Cmd+Shift+P → ‘debug.logComposer’ or ‘debug.classifyRecentConversations’
These may dump useful state to the logs.

Also seen in previous log sessions: “WritableIterable is closed: WriteIterableClosedError” in renderer.log when loading chats. Debug commands available: debug.logComposer, debug.classifyRecentConversations (Cmd+Shift+P).

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the report. This is a known issue. The chat history data is usually still intact in the DB, but the UI can’t load it.

Try this temporary workaround:

  1. Fully close Cursor (make sure the process isn’t still running)
  2. Open ~/Library/Application Support/Cursor/User/globalStorage/
  3. Look for a file like state.vscdb.corrupted.1739... (or with a similar timestamp)
  4. Rename the current state.vscdb to state.vscdb.old
  5. Rename the file with the .corrupted suffix to state.vscdb
  6. Launch Cursor

If there’s no .corrupted file, try this recovery guide: Tutorial: How to Fix Loading Chat and Recover History

The OTLPExporterError (“Trace spans collection not enabled”) isn’t related to this and can be ignored.

Let me know if this helped.

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.