Cursor critical unrecoverable file read error

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

At some point at the conversation using auto model I hit a tool call error
Failed to read file error. It’s critical, unrecoverable and the only way to proceed is creating a new chat thread and start over from scratch.

Request info:
Request ID: a43a51cd-8df8-4fd1-99af-9e150a5a9308
{“error”:“ERROR_BAD_REQUEST”,“details”:{“title”:“Tool call error”,“detail”:“Failed to read file.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:true}
ConnectError: [invalid_argument] Error
at tJc.$endAiConnectTransportReportError (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:4989:399337)
at Ewo._doInvokeHandler (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:492:36007)
at Ewo._invokeHandler (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:492:35749)
at Ewo._receiveRequest (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:492:34514)
at Ewo._receiveOneMessage (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:492:33336)
at GDt.value (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:492:31429)
at _e._deliver (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:49:2962)
at _e.fire (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:49:3283)
at ggt.fire (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:4974:12156)
at MessagePort. (vscode-file://vscode-app/c:/Users/org/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:7497:18439)

Steps to Reproduce

Run a conversation, at some point you hit the error.
If relevant I’m working with SSH remote over forticlient VPN to the ubuntu-server instance.

Operating System

Linux

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.54 (user setup)
VSCode Version: 1.99.3
Commit: 7a31bffd467aa2d9adfda69076eb924e9062cb20
Date: 2025-11-03T22:40:44.657Z
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

For AI issues: which model did you use?

auto, but I can’t recover with sonnet or other models

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, thanks for the report. This error pattern looks similar to a recent issue that was fixed by disabling MCP servers. Let’s try the steps below:

Quick fixes:

  • Check MCP servers: Cursor Settings > Features > MCP > disable any configured MCP servers
  • Reduce context: In Chat settings, disable sources (Files, Folders, Docs) or lower the context window size
  • Network diagnostics: Settings > Network > Run Diagnostics
  • Disable HTTP/2: Cursor Settings > search “HTTP/2” > enable “Disable HTTP/2” (VPNs often break HTTP/2)

If that doesn’t help, please share:

  • Which specific file(s) the chat was trying to read when the error occurred
  • Console logs: Help > Toggle Developer Tools > Console tab (screenshot any errors)
  • File permissions on your SSH remote server for the affected directory

Let me know if these steps help.

Hi,

Unfortunately none of your suggestions worked… I can spot errors within the console
I just get it during chat out of the blue. Tried to switch from auto to gpt 5 mini and for some time it was more stable but I got the same error with it as well.

workbench.desktop.main.js:1442 [composer] Large diff detected for \home\orgr\ctera-di\ctera-ai-research\python\packages\ctera-ai-benchmarks\src\ctera_ai_benchmarks\utils\uda_answer_processing.py (183/183 lines). This may be due to diff timeout or whitespace issues.

workbench.desktop.main.js:5604 [transport] Stream error reported from extension host ConnectError: [invalid_argument] Error
at tJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
at Ewo._doInvokeHandler (workbench.desktop.main.js:492:36007)
at Ewo._invokeHandler (workbench.desktop.main.js:492:35749)
at Ewo._receiveRequest (workbench.desktop.main.js:492:34514)
at Ewo._receiveOneMessage (workbench.desktop.main.js:492:33336)
at GDt.value (workbench.desktop.main.js:492:31429)
at _e._deliver (workbench.desktop.main.js:49:2962)
at _e.fire (workbench.desktop.main.js:49:3283)
at ggt.fire (workbench.desktop.main.js:4974:12156)
at MessagePort. (workbench.desktop.main.js:7497:18439)

  1. {arch: ‘x64’, platform: ‘win32’, channel: ‘stable’, client_version: ‘2.0.54’, streamId: ‘e8027d20-b5be-40d0-a29a-e050dea1dd87’, …}

workbench.desktop.main.js:1647 [composer] ToolFormer: error in toolWrappedStream undefined ConnectError: [invalid_argument] Error
at tJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
at Ewo._doInvokeHandler (workbench.desktop.main.js:492:36007)
at Ewo._invokeHandler (workbench.desktop.main.js:492:35749)
at Ewo._receiveRequest (workbench.desktop.main.js:492:34514)
at Ewo._receiveOneMessage (workbench.desktop.main.js:492:33336)
at GDt.value (workbench.desktop.main.js:492:31429)
at _e._deliver (workbench.desktop.main.js:49:2962)
at _e.fire (workbench.desktop.main.js:49:3283)
at ggt.fire (workbench.desktop.main.js:4974:12156)
at MessagePort. (workbench.desktop.main.js:7497:18439)

workbench.desktop.main.js:5607 [AiService] streamResponse ConnectError: [invalid_argument] Error
at tJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
at Ewo._doInvokeHandler (workbench.desktop.main.js:492:36007)
at Ewo._invokeHandler (workbench.desktop.main.js:492:35749)
at Ewo._receiveRequest (workbench.desktop.main.js:492:34514)
at Ewo._receiveOneMessage (workbench.desktop.main.js:492:33336)
at GDt.value (workbench.desktop.main.js:492:31429)
at _e._deliver (workbench.desktop.main.js:49:2962)
at _e.fire (workbench.desktop.main.js:49:3283)
at ggt.fire (workbench.desktop.main.js:4974:12156)
at MessagePort. (workbench.desktop.main.js:7497:18439)

workbench.desktop.main.js:5604 [transport] Stream response error ConnectError: [invalid_argument] Error
at tJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
at Ewo._doInvokeHandler (workbench.desktop.main.js:492:36007)
at Ewo._invokeHandler (workbench.desktop.main.js:492:35749)
at Ewo._receiveRequest (workbench.desktop.main.js:492:34514)
at Ewo._receiveOneMessage (workbench.desktop.main.js:492:33336)
at GDt.value (workbench.desktop.main.js:492:31429)
at _e._deliver (workbench.desktop.main.js:49:2962)
at _e.fire (workbench.desktop.main.js:49:3283)
at ggt.fire (workbench.desktop.main.js:4974:12156)
at MessagePort. (workbench.desktop.main.js:7497:18439)

  1. {arch: ‘x64’, platform: ‘win32’, channel: ‘stable’, client_version: ‘2.0.54’, generationUUID: ‘40f836fc-c001-4e95-b6e2-c5294270b270’, …}

workbench.desktop.main.js:2750 [composer] Error in AI response: {“error”:“ERROR_BAD_REQUEST”,“details”:{“title”:“Tool call error”,“detail”:“Failed to read file.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:true} ConnectError: [invalid_argument] Error
at tJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
at Ewo._doInvokeHandler (workbench.desktop.main.js:492:36007)
at Ewo._invokeHandler (workbench.desktop.main.js:492:35749)
at Ewo._receiveRequest (workbench.desktop.main.js:492:34514)
at Ewo._receiveOneMessage (workbench.desktop.main.js:492:33336)
at GDt.value (workbench.desktop.main.js:492:31429)
at _e._deliver (workbench.desktop.main.js:49:2962)
at _e.fire (workbench.desktop.main.js:49:3283)
at ggt.fire (workbench.desktop.main.js:4974:12156)
at MessagePort. (workbench.desktop.main.js:7497:18439)

workbench.desktop.main.js:5604 [composer] Error in AI response ConnectError: [invalid_argument] Error
at tJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
at Ewo._doInvokeHandler (workbench.desktop.main.js:492:36007)
at Ewo._invokeHandler (workbench.desktop.main.js:492:35749)
at Ewo._receiveRequest (workbench.desktop.main.js:492:34514)
at Ewo._receiveOneMessage (workbench.desktop.main.js:492:33336)
at GDt.value (workbench.desktop.main.js:492:31429)
at _e._deliver (workbench.desktop.main.js:49:2962)
at _e.fire (workbench.desktop.main.js:49:3283)
at ggt.fire (workbench.desktop.main.js:4974:12156)
at MessagePort. (workbench.desktop.main.js:7497:18439)

  1. {arch: ‘x64’, platform: ‘win32’, channel: ‘stable’, client_version: ‘2.0.54’, requestId: ‘40f836fc-c001-4e95-b6e2-c5294270b270’, …}
error @ workbench.desktop.main.js:5604
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
undefined ---- ---- ----
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
qAd @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
ae @ workbench.desktop.main.js:2739
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:1477
undefined ---- ---- ----

workbench.desktop.main.js:2750 [composer] Failed to get complete AI response

submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
qAd @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
ae @ workbench.desktop.main.js:2739
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:1477
undefined ---- ---- ----

workbench.desktop.main.js:5604 [composer] Chat incomplete or aborted

  1. {arch: ‘x64’, platform: ‘win32’, channel: ‘stable’, client_version: ‘2.0.54’, requestId: ‘40f836fc-c001-4e95-b6e2-c5294270b270’, …}
_log @ workbench.desktop.main.js:5604
warn @ workbench.desktop.main.js:5604
undefined ---- ---- ----
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
undefined ---- ---- ----
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
qAd @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
ae @ workbench.desktop.main.js:2739
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:1477
undefined ---- ---- ----

workbench.desktop.main.js:1442 [composer] Large diff detected for \home\orgr\ctera-di\ctera-ai-devops\ctera-ai-rag\app\ctera_retriever\query_simplifier.py (254/254 lines). This may be due to diff timeout or whitespace issues.

getCodeBlockDiffStats @ workbench.desktop.main.js:1442
await in getCodeBlockDiffStats
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
mH @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:4735
undefined ---- ---- ----
Qls @ workbench.desktop.main.js:4735
undefined ---- ---- ----
r @ workbench.desktop.main.js:5764
undefined ---- ---- ----
await in r
(anonymous) @ workbench.desktop.main.js:5765
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:50
undefined ---- ---- ----
Promise.then
trigger @ workbench.desktop.main.js:50
undefined ---- ---- ----
o @ workbench.desktop.main.js:5765
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:5765
undefined ---- ---- ----
_deliver @ workbench.desktop.main.js:49
undefined ---- ---- ----
_deliverQueue @ workbench.desktop.main.js:49
undefined ---- ---- ----
fire @ workbench.desktop.main.js:49
undefined ---- ---- ----
fireDidFinishStreamChat @ workbench.desktop.main.js:589
undefined ---- ---- ----
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
undefined ---- ---- ----
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
qAd @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
ae @ workbench.desktop.main.js:2739
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:1477
undefined ---- ---- ----

workbench.desktop.main.js:1442 [composer] Large diff detected for \home\orgr\ctera-di\ctera-ai-research\scripts\run_all_benchmarks.sh (85/85 lines). This may be due to diff timeout or whitespace issues.

getCodeBlockDiffStats @ workbench.desktop.main.js:1442
await in getCodeBlockDiffStats
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
mH @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:4735
undefined ---- ---- ----
Qls @ workbench.desktop.main.js:4735
undefined ---- ---- ----
r @ workbench.desktop.main.js:5764
undefined ---- ---- ----
await in r
(anonymous) @ workbench.desktop.main.js:5765
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:50
undefined ---- ---- ----
Promise.then
trigger @ workbench.desktop.main.js:50
undefined ---- ---- ----
o @ workbench.desktop.main.js:5765
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:5765
undefined ---- ---- ----
_deliver @ workbench.desktop.main.js:49
undefined ---- ---- ----
_deliverQueue @ workbench.desktop.main.js:49
undefined ---- ---- ----
fire @ workbench.desktop.main.js:49
undefined ---- ---- ----
fireDidFinishStreamChat @ workbench.desktop.main.js:589
undefined ---- ---- ----
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
undefined ---- ---- ----
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
qAd @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
ae @ workbench.desktop.main.js:2739
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:1477
undefined ---- ---- ----

workbench.desktop.main.js:1442 [composer] Large diff detected for \home\orgr\ctera-di\ctera-ai-research\scripts\extract_commit_metrics.sh (45/45 lines). This may be due to diff timeout or whitespace issues.

getCodeBlockDiffStats @ workbench.desktop.main.js:1442
await in getCodeBlockDiffStats
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
mH @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:4735
undefined ---- ---- ----
Qls @ workbench.desktop.main.js:4735
undefined ---- ---- ----
r @ workbench.desktop.main.js:5764
undefined ---- ---- ----
await in r
(anonymous) @ workbench.desktop.main.js:5765
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:50
undefined ---- ---- ----
Promise.then
trigger @ workbench.desktop.main.js:50
undefined ---- ---- ----
o @ workbench.desktop.main.js:5765
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:5765
undefined ---- ---- ----
_deliver @ workbench.desktop.main.js:49
undefined ---- ---- ----
_deliverQueue @ workbench.desktop.main.js:49
undefined ---- ---- ----
fire @ workbench.desktop.main.js:49
undefined ---- ---- ----
fireDidFinishStreamChat @ workbench.desktop.main.js:589
undefined ---- ---- ----
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
undefined ---- ---- ----
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
undefined ---- ---- ----
SYs @ workbench.desktop.main.js:52
undefined ---- ---- ----
qAd @ workbench.desktop.main.js:52
undefined ---- ---- ----
n.value @ workbench.desktop.main.js:52
undefined ---- ---- ----
ae @ workbench.desktop.main.js:2739
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:1477
undefined ---- ---- ----

Thanks for the additional info. This is a known issue with the read_file tool that our engineering team is working on. It affects long conversations, and we’ve seen several reports with the same pattern.

Since basic troubleshooting didn’t help, I’ll pass this to the team. The “Large diff detected” warnings in your logs might be related.

A few details that would help:

  • .cursorignore: Do you have a .cursorignore file in your workspace? One SSH-related issue was caused by incorrect .cursorignore rules.
  • File details: When the error occurs, which exact file paths was the AI trying to read? Any patterns (size, location, etc.)?
  • SSH logs: Any errors in the SSH server logs on the Ubuntu side when this happens?
  • Local test: Does this happen on local files (non-SSH) or only over SSH+VPN?

For now, the only workaround is to start a new chat when it happens. I know that’s not ideal for long threads.