Composer loses Chat/Agent mode and fails to apply file edits

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Issue Description:
I’ve encountered a recurring bug where the Composer (Composer 2) suddenly loses its interactive “Chat/Agent” capabilities.
Key Symptoms:
Chat UI Breakdown: The input area no longer supports normal dialogue or agent-based commands (as shown in the red box in my screenshot). It seems to fall back to a basic text input or restricted mode.
Permission/Operation Failure: The agent explicitly prompts: “Current environment cannot directly modify files” (or in my case: “当前环境无法直接改文件”).

workbench.desktop.main.js:65 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:38247 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:65 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:38247 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:65 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:38247 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:65 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:38247 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:65 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:38247 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:29069 [composerModesService] Mode not found: project
workbench.desktop.main.js:41138 [composer] No first token received within 2s
Object
workbench.desktop.main.js:41138 [composer] No first token received within 4s
Object
workbench.desktop.main.js:41138 [composer] No first token received within 6s
Object
workbench.desktop.main.js:41138 [composer] No first token received within 8s
Object
workbench.desktop.main.js:41138 [composer] No first token received within 10s
Object
workbench.desktop.main.js:65 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:38247 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:65 ERR [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:38247 [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (c:\Users\torsi\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:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{"error":"Trace spans collection is not enabled for this user"}”}
workbench.desktop.main.js:41455 [HOOKS] Failed to parse project hooks configuration undefined

Steps to Reproduce

Maybe after a long plan work

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Version: 3.1.15 (user setup)
VSCode Version: 1.105.1
Commit: 3a67af7b780e0bfc8d32aefa96b8ff1cb8817f80
Date: 2026-04-15T01:46:06.515Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report and logs.

The key error is [composerModesService] Mode not found: project. This suggests Composer’s mode service lost track of the active mode, which explains why the agent falls back to a restricted state and can’t edit files.

A few things to try:

  • Restart Cursor completely. Close all windows, then reopen. Does that bring back normal Agent mode?
  • Start a new chat with Ctrl+N instead of continuing the broken session. Does the new chat work normally?
  • The [HOOKS] Failed to parse project hooks configuration undefined error also points to a hooks config issue. If you have any .cursor/hooks set up, try temporarily removing them.

The OTLP errors in your logs are telemetry-related and not the cause of this issue, so you can ignore those.

Also, can you share the Request ID from a failed chat session? Click the three-dot menu at the top right of the chat panel, then Copy Request ID. That’ll help us check this on the backend.

Does this happen consistently after long sessions, or is it intermittent?