In certain projects, the AI chat/composer panel (prompt window) does not open, preventing me from having conversations with the AI assistant

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In certain projects, the AI chat/composer panel (prompt window) does not open, preventing me from having conversations with the AI assistant. The issue occurs only in specific projects, while other projects work normally.

Steps to Reproduce

Open a specific project in Cursor IDE
Try to open the AI chat/composer panel (using keyboard shortcut or menu)
The prompt window does not appear or open
Attempt to interact with AI assistant fails
Error message “[composer] No composer data handle found” appears
“Loading chat” message persists indefinitely

Expected Behavior

The AI chat/composer panel should open normally in all projects, allowing users to interact with the AI assistant regardless of which project is open.

Screenshots / Screen Recordings

Operating System

Windows 10/11

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.2.20 (system setup)
VSCode Version: 1.105.1
Commit: b3573281c4775bfc6bba466bf6563d3d498d1070
Date: 2025-12-12T06:29:26.017Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.26200

Additional Information

This issue occurs only in specific projects, not all projects
Some projects work normally with AI chat functionality
Error message: “[composer] No composer data handle found”
“Loading chat” message appears and persists
The issue started after updating to version 2.2.20
I’ve tried restarting Cursor, but the issue persists for affected projects

Does this stop you from using Cursor

Yes - Cursor is unusable

Thanks for the details. I see the screenshot with infinite Loading Chat and error “[composer] No composer data handle found”. This is a known issue with Composer data integrity - the team is already working on a fix.

Need to gather diagnostics for the specific project:

  • Open Cmd+Shift+P > Developer: Toggle Developer Tools > Console tab, click on the problematic chat/open composer and share all red errors that appear at that moment
  • Clarify where the project is located: local path, WSL, or network drive
  • Quick check for extension conflict: close Cursor and launch with disabled extensions cursor --disable-extensions. Report if behavior changes

Please share:

  • Screenshot/copy-paste of errors from Console
  • Project path and fact of moving/renaming
  • Result of running without extensions

ERR [Extension Host] (node:30004) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `Cursor --trace-deprecation …` to show where the warning was created) error @ workbench.desktop.main.js:55 error @ workbench.desktop.main.js:55 error @ workbench.desktop.main.js:14765 pdf @ workbench.desktop.main.js:12123 $logExtensionHostMessage @ workbench.desktop.main.js:12123 _doInvokeHandler @ workbench.desktop.main.js:12807 _invokeHandler @ workbench.desktop.main.js:12807 _receiveRequest @ workbench.desktop.main.js:12807 _receiveOneMessage @ workbench.desktop.main.js:12807 (anonymous) @ workbench.desktop.main.js:12807 _deliver @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:12140 (anonymous) @ workbench.desktop.main.js:14806 workbench.desktop.main.js:12123 [Extension Host] (node:30004) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `Cursor --trace-deprecation …` to show where the warning was created) mdf @ workbench.desktop.main.js:12123 $logExtensionHostMessage @ workbench.desktop.main.js:12123 _doInvokeHandler @ workbench.desktop.main.js:12807 _invokeHandler @ workbench.desktop.main.js:12807 _receiveRequest @ workbench.desktop.main.js:12807 _receiveOneMessage @ workbench.desktop.main.js:12807 (anonymous) @ workbench.desktop.main.js:12807 _deliver @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:12140 (anonymous) @ workbench.desktop.main.js:14806 workbench.desktop.main.js:12854 [transport] Connect error in unary AI connect ConnectError: [deadline_exceeded] the operation timed out at t (workbench.desktop.main.js:12155:457504) at async Object.checkNumberConfig (workbench.desktop.main.js:585:88404) at async workbench.desktop.main.js:12885:3935 at async n (workbench.desktop.main.js:12885:3694) at async pfo.maybeRefreshConfigInner (workbench.desktop.main.js:12885:3918) at async pfo.getLatestConfig (workbench.desktop.main.js:12885:3307) {arch: ‘x64’, platform: ‘win32’, channel: ‘stable’, client_version: ‘2.2.20’, service: ‘aiserver.v1.AiService’, …} error @ workbench.desktop.main.js:12854 t @ workbench.desktop.main.js:12155 await in t (anonymous) @ workbench.desktop.main.js:12155 Vdr @ workbench.desktop.main.js:52 hU @ workbench.desktop.main.js:52 unary @ workbench.desktop.main.js:12155 (anonymous) @ workbench.desktop.main.js:585 (anonymous) @ workbench.desktop.main.js:12885 workbench.desktop.main.js:12854 [transport] Connect error in unary AI connect ConnectError: [unauthenticated] Error at t (workbench.desktop.main.js:12155:457504) at async Object.getTeamCommands (workbench.desktop.main.js:585:88404) at async eMo.loadTeamCommands (workbench.desktop.main.js:14809:2986) {arch: ‘x64’, platform: ‘win32’, channel: ‘stable’, client_version: ‘2.2.20’, service: ‘aiserver.v1.DashboardService’, …} error @ workbench.desktop.main.js:12854 t @ workbench.desktop.main.js:12155 await in t (anonymous) @ workbench.desktop.main.js:12155 Vdr @ workbench.desktop.main.js:52 hU @ workbench.desktop.main.js:52 unary @ workbench.desktop.main.js:12155 (anonymous) @ workbench.desktop.main.js:585 loadTeamCommands @ workbench.desktop.main.js:14809 workbench.desktop.main.js:14809 Failed to load team commands: ConnectError: [unauthenticated] Error at t (workbench.desktop.main.js:12155:457504) at async Object.getTeamCommands (workbench.desktop.main.js:585:88404) at async eMo.loadTeamCommands (workbench.desktop.main.js:14809:2986) loadTeamCommands @ workbench.desktop.main.js:14809 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\\Users\\user\\AppData\\Local\\Programs\\cursor\\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\”}”} error @ workbench.desktop.main.js:55 error @ workbench.desktop.main.js:55 error @ workbench.desktop.main.js:14765 pdf @ workbench.desktop.main.js:12123 $logExtensionHostMessage @ workbench.desktop.main.js:12123 _doInvokeHandler @ workbench.desktop.main.js:12807 _invokeHandler @ workbench.desktop.main.js:12807 _receiveRequest @ workbench.desktop.main.js:12807 _receiveOneMessage @ workbench.desktop.main.js:12807 (anonymous) @ workbench.desktop.main.js:12807 _deliver @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:12140 (anonymous) @ workbench.desktop.main.js:14806 workbench.desktop.main.js:12123 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\\Users\\user\\AppData\\Local\\Programs\\cursor\\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\”}”} mdf @ workbench.desktop.main.js:12123 $logExtensionHostMessage @ workbench.desktop.main.js:12123 _doInvokeHandler @ workbench.desktop.main.js:12807 _invokeHandler @ workbench.desktop.main.js:12807 _receiveRequest @ workbench.desktop.main.js:12807 _receiveOneMessage @ workbench.desktop.main.js:12807 (anonymous) @ workbench.desktop.main.js:12807 _deliver @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:49 fire @ workbench.desktop.main.js:12140 (anonymous) @ workbench.desktop.main.js:14806

this project path is C:\lucido\lucidoDevel\gaspi\gaspi2024_admin

I don’t move this project, and don’t change project name.

You asked if I had moved the project, so I moved the gaspi2024_admin project from C:\lucido\lucidoDevel\gaspi to the desktop and then back to its original path. After that, the “Loading Chat” message disappeared and the Cursor AI prompt window appeared, but all AI conversation history for that project was lost.

This is a significant issue. Fortunately, this project was recently started, so it’s not a major problem, but if AI conversations from other existing projects were to disappear, it would severely impact development speed and direction.

This issue started after updating Cursor. If AI conversation history can be lost like this, I’m now hesitant to update Cursor in the future.

Please let me know how to recover the lost AI conversations.

Also, please tell me where the AI conversation history files are located and how to open them. When I try to open the state.vscdb file in VS Code, I get the message “The file is not displayed in the text editor because it is either binary or uses an unsupported text encoding.” When I click “Open Anyway” and select “Text Editor Active and Default” from the dropdown, all Korean characters appear corrupted.

Thanks for the extra info - I see the problem was resolved by moving the project.

Regarding the lost history - unfortunately, when you moved the project, the system created a new workspace ID for it. Old chats remain in %APPDATA%\Cursor\User\workspaceStorage\, but under the old ID folder no longer linked to the project.

Where the history is:

Folder: %APPDATA%\Cursor\User\workspaceStorage\

Inside, there are several folders with hash-like names such as fd84c037829daf424ecf3593ffdcb629. Each folder contains a state.vscdb file - this is a SQLite database with the chats.

How to recover:

  • The easiest way is to install the SpecStory extension (available in Cursor extensions) - it automatically finds and exports all chats to Markdown.

Unfortunately, fully restoring chat history in the Cursor UI won’t work if the workspace ID is different. But the chat data itself is still in the files.