This is obviously an ongoing issue with users of Cursor and I have followed every guideline and setting but using GPT-5.2 High, Extra High and Fast models, even with less than 30% context window usage I still get this message. I get the same with Claude Opus 4.5 models
Can someone from Cursor explain the logic behind this and what causes this error?
Being an ULTRA user, I think this should give us more options when it comes to API Keys and URL overrides as spending $2,000+/mo with Cursor and spending a majority of my time dealing with this is getting very frustrating
Steps to Reproduce
After four or five agent chats I get this message, even with brand new agent windows
Expected Behavior
Allow “power users” more options
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Test with clean profile: cursor --user-data-dir=/tmp/cursor-test from terminal
Done - no result
Done - no result / same issues
Please also share:
2-3 Request IDs from failed attempts (Chat menu > Copy Request ID)
Request ID: 76b7cd1b-c9b5-46da-a55e-a5c7e1e85975
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We’re having trouble connecting to the model provider. This might be temporary - please try again in a moment.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:false}
Request ID: 0c251e0b-6772-479c-8612-9d475a10a841
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We’re having trouble connecting to the model provider. This might be temporary - please try again in a moment.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:false}
Also to note, clicking “Resume” or “Try Again” does nothing.
I normally need to just send another agency chat which then I need to have the agent go back and review where things left off. These are not large commands or heavy context usage, one I was just doing was to change the color and location of a button on a page.
Otherwise I need to shut down Cursor and open it back up.
ALL of this has significantly slowed down progress, but more importantly, I noticed I am being charged for the for the attempt, but when it fails, it shows $0. The problem here is that I need to run the same command/chat request multiple times, therefore significantly increasing my cost.
Already at $600 in usage past the Ultra plan credit in just a few days.
Thanks for the detailed diagnostic info. I can see the network diagnostics screenshot. Everything is passing, which is odd given the ERROR_OPENAI.
Based on your Request ID and the pattern you described (the issue happens after 4 to 5 chats), this might be a regional routing or rate limiting issue on the infrastructure side.
Let’s try a few more things:
Can you check if GPT-5.2 works in Ask mode (not Agent). Do you get the same error?
Developer Console logs:
Help > Toggle Developer Tools > Console
Reproduce the error
Take a screenshot of any red errors
Please collect 2 to 3 more Request IDs after the error happens again (you mentioned you’d add more)
Try a different ISP or network (for example, a mobile hotspot) just to test and rule out AT&T Fiber routing
I am using my OpenAI key with another tool and I have no problems at all.
Ask, Planning and Agent mode = ALL SAME ISSUE
Here is another one when I am asking for a simple formatting change to text:
Request ID: 009de20b-2fd5-47b8-a433-03405850290d
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We’re having trouble connecting to the model provider. This might be temporary - please try again in a moment.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:false}
Here is one for PLAN mode (fourth time and gave up):
Request ID: 07be9487-034b-48d5-8406-61727dd90097
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We’re having trouble connecting to the model provider. This might be temporary - please try again in a moment.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:false}
Tried mobile hotspot on AT&T and Verizon = SAME ISSUE
; <<>> DiG 9.10.6 <<>> api2.cursor.sh
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13311
;; flags: qr rd ra; QUERY: 1, ANSWER: 10, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;api2.cursor.sh. IN A
;; ANSWER SECTION:
api2.cursor.sh. 184 IN CNAME api2geo.cursor.sh.
api2geo.cursor.sh. 1355 IN CNAME api2direct.cursor.sh.
api2direct.cursor.sh. 45 IN A 100.52.131.34
api2direct.cursor.sh. 45 IN A 54.152.128.254
api2direct.cursor.sh. 45 IN A 98.90.130.114
api2direct.cursor.sh. 45 IN A 44.208.52.43
api2direct.cursor.sh. 45 IN A 52.45.189.187
api2direct.cursor.sh. 45 IN A 13.223.24.180
api2direct.cursor.sh. 45 IN A 35.173.28.245
api2direct.cursor.sh. 45 IN A 34.228.203.77
;; Query time: 22 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Jan 05 09:31:52 EST 2026
;; MSG SIZE rcvd: 218
johnny@Johnnys-Mac-Studio ~ % traceroute api2.cursor.sh
traceroute: Warning: api2.cursor.sh has multiple addresses; using 54.243.161.175
traceroute to api2direct.cursor.sh (54.243.161.175), 64 hops max, 40 byte packets
1 192.168.68.1 (192.168.68.1) 6.148 ms 6.081 ms 7.082 ms
2 192.168.1.254 (192.168.1.254) 10.868 ms 5.804 ms 6.368 ms
3 107-221-52-1.lightspeed.miamfl.sbcglobal.net (107.221.52.1) 7.542 ms 8.156 ms 7.833 ms
4 99.167.38.190 (99.167.38.190) 13.143 ms 11.419 ms 12.450 ms
5 12.240.210.118 (12.240.210.118) 17.128 ms 16.761 ms 14.527 ms
6 * * *
7 32.130.89.187 (32.130.89.187) 12.736 ms 11.022 ms 12.399 ms
8 * * *
9 * * *
10 * * *
2 Try changing your DNS:
Changed to to 9.9.9.9 and 149.112.112.112
DNS Flushed again (MacOS)
3 If that didn’t help, run:
Done already
4 Also, I need a bit more info:
Currently set to 9.9.9.9 and 149.112.112.112, was at 8.8.8.8 and 1.1.1.1 prior
I’m still getting the same issues with both Opus 4.5 and GPT 5.2
Latest error: Request ID: 13e8d6c1-c248-423a-a8d8-3664f61d905e
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We’re having trouble connecting to the model provider. This might be temporary - please try again in a moment.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:false}
Console Logs:
workbench.desktop.main.js:13074 [transport] Stream error reported from extension host ConnectError: [unavailable] Error
at szc.$endAiConnectTransportReportError (workbench.desktop.main.js:12375:456006)
at xBo._doInvokeHandler (workbench.desktop.main.js:13027:22831)
at xBo._invokeHandler (workbench.desktop.main.js:13027:22573)
at xBo._receiveRequest (workbench.desktop.main.js:13027:21335)
at xBo._receiveOneMessage (workbench.desktop.main.js:13027:20152)
at zLt.value (workbench.desktop.main.js:13027:18244)
at Ee._deliver (workbench.desktop.main.js:49:2962)
at Ee.fire (workbench.desktop.main.js:49:3283)
at Tvt.fire (workbench.desktop.main.js:12360:12156)
at MessagePort.<anonymous> (workbench.desktop.main.js:15027:18433) {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.2.44', streamId: '06b7cf1c-14c0-4b29-af52-ba623064d7af', …}
error @ workbench.desktop.main.js:13074
$endAiConnectTransportReportError @ workbench.desktop.main.js:12375
_doInvokeHandler @ workbench.desktop.main.js:13027
_invokeHandler @ workbench.desktop.main.js:13027
_receiveRequest @ workbench.desktop.main.js:13027
_receiveOneMessage @ workbench.desktop.main.js:13027
(anonymous) @ workbench.desktop.main.js:13027
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:12360
(anonymous) @ workbench.desktop.main.js:15027
workbench.desktop.main.js:8903 [composer] ToolFormer: error in toolWrappedStream undefined ConnectError: [unavailable] Error
at szc.$endAiConnectTransportReportError (workbench.desktop.main.js:12375:456006)
at xBo._doInvokeHandler (workbench.desktop.main.js:13027:22831)
at xBo._invokeHandler (workbench.desktop.main.js:13027:22573)
at xBo._receiveRequest (workbench.desktop.main.js:13027:21335)
at xBo._receiveOneMessage (workbench.desktop.main.js:13027:20152)
at zLt.value (workbench.desktop.main.js:13027:18244)
at Ee._deliver (workbench.desktop.main.js:49:2962)
at Ee.fire (workbench.desktop.main.js:49:3283)
at Tvt.fire (workbench.desktop.main.js:12360:12156)
at MessagePort.<anonymous> (workbench.desktop.main.js:15027:18433)
toolWrappedStream @ workbench.desktop.main.js:8903
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:9993
handleStreamComposer @ workbench.desktop.main.js:8786
streamResponse @ workbench.desktop.main.js:13075
(anonymous) @ workbench.desktop.main.js:13204
(anonymous) @ workbench.desktop.main.js:13206
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:8903
(anonymous) @ workbench.desktop.main.js:13204
processCodeBlocks @ workbench.desktop.main.js:8838
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9993
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
workbench.desktop.main.js:13075 [AiService] streamResponse ConnectError: [unavailable] Error
at szc.$endAiConnectTransportReportError (workbench.desktop.main.js:12375:456006)
at xBo._doInvokeHandler (workbench.desktop.main.js:13027:22831)
at xBo._invokeHandler (workbench.desktop.main.js:13027:22573)
at xBo._receiveRequest (workbench.desktop.main.js:13027:21335)
at xBo._receiveOneMessage (workbench.desktop.main.js:13027:20152)
at zLt.value (workbench.desktop.main.js:13027:18244)
at Ee._deliver (workbench.desktop.main.js:49:2962)
at Ee.fire (workbench.desktop.main.js:49:3283)
at Tvt.fire (workbench.desktop.main.js:12360:12156)
at MessagePort.<anonymous> (workbench.desktop.main.js:15027:18433)
streamResponse @ workbench.desktop.main.js:13075
await in streamResponse
(anonymous) @ workbench.desktop.main.js:13204
(anonymous) @ workbench.desktop.main.js:13206
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:8903
(anonymous) @ workbench.desktop.main.js:13204
processCodeBlocks @ workbench.desktop.main.js:8838
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9993
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
workbench.desktop.main.js:13074 [transport] Stream response error ConnectError: [unavailable] Error
at szc.$endAiConnectTransportReportError (workbench.desktop.main.js:12375:456006)
at xBo._doInvokeHandler (workbench.desktop.main.js:13027:22831)
at xBo._invokeHandler (workbench.desktop.main.js:13027:22573)
at xBo._receiveRequest (workbench.desktop.main.js:13027:21335)
at xBo._receiveOneMessage (workbench.desktop.main.js:13027:20152)
at zLt.value (workbench.desktop.main.js:13027:18244)
at Ee._deliver (workbench.desktop.main.js:49:2962)
at Ee.fire (workbench.desktop.main.js:49:3283)
at Tvt.fire (workbench.desktop.main.js:12360:12156)
at MessagePort.<anonymous> (workbench.desktop.main.js:15027:18433) {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.2.44', generationUUID: '8c9a4d60-81fe-41d2-8c12-c717c450ce04', …}
error @ workbench.desktop.main.js:13074
streamResponse @ workbench.desktop.main.js:13075
await in streamResponse
(anonymous) @ workbench.desktop.main.js:13204
(anonymous) @ workbench.desktop.main.js:13206
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:8903
(anonymous) @ workbench.desktop.main.js:13204
processCodeBlocks @ workbench.desktop.main.js:8838
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9993
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
workbench.desktop.main.js:13074 [transport] Automatic bug report submitted for unexpected connection error {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.2.44', requestId: '8c9a4d60-81fe-41d2-8c12-c717c450ce04', …}
_log @ workbench.desktop.main.js:13074
warn @ workbench.desktop.main.js:13074
showImmediateErrorMessage @ workbench.desktop.main.js:8290
handleError @ workbench.desktop.main.js:8290
streamResponse @ workbench.desktop.main.js:13075
await in streamResponse
(anonymous) @ workbench.desktop.main.js:13204
(anonymous) @ workbench.desktop.main.js:13206
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:13199
(anonymous) @ workbench.desktop.main.js:8903
(anonymous) @ workbench.desktop.main.js:13204
processCodeBlocks @ workbench.desktop.main.js:8838
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9993
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
workbench.desktop.main.js:9994 [composer] Error in AI response: {"error":"ERROR_OPENAI","details":{"title":"Unable to reach the model provider","detail":"We're having trouble connecting to the model provider. This might be temporary - please try again in a moment.","additionalInfo":{},"buttons":[],"planChoices":[]},"isExpected":false} ConnectError: [unavailable] Error
at szc.$endAiConnectTransportReportError (workbench.desktop.main.js:12375:456006)
at xBo._doInvokeHandler (workbench.desktop.main.js:13027:22831)
at xBo._invokeHandler (workbench.desktop.main.js:13027:22573)
at xBo._receiveRequest (workbench.desktop.main.js:13027:21335)
at xBo._receiveOneMessage (workbench.desktop.main.js:13027:20152)
at zLt.value (workbench.desktop.main.js:13027:18244)
at Ee._deliver (workbench.desktop.main.js:49:2962)
at Ee.fire (workbench.desktop.main.js:49:3283)
at Tvt.fire (workbench.desktop.main.js:12360:12156)
at MessagePort.<anonymous> (workbench.desktop.main.js:15027:18433)
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9994
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
workbench.desktop.main.js:13074 [composer] Error in AI response ConnectError: [unavailable] Error
at szc.$endAiConnectTransportReportError (workbench.desktop.main.js:12375:456006)
at xBo._doInvokeHandler (workbench.desktop.main.js:13027:22831)
at xBo._invokeHandler (workbench.desktop.main.js:13027:22573)
at xBo._receiveRequest (workbench.desktop.main.js:13027:21335)
at xBo._receiveOneMessage (workbench.desktop.main.js:13027:20152)
at zLt.value (workbench.desktop.main.js:13027:18244)
at Ee._deliver (workbench.desktop.main.js:49:2962)
at Ee.fire (workbench.desktop.main.js:49:3283)
at Tvt.fire (workbench.desktop.main.js:12360:12156)
at MessagePort.<anonymous> (workbench.desktop.main.js:15027:18433) {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.2.44', requestId: '8c9a4d60-81fe-41d2-8c12-c717c450ce04', …}
error @ workbench.desktop.main.js:13074
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9994
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
workbench.desktop.main.js:9994 [composer] Failed to get complete AI response
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9994
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
workbench.desktop.main.js:13074 [composer] Chat incomplete or aborted {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.2.44', requestId: '8c9a4d60-81fe-41d2-8c12-c717c450ce04', …}
_log @ workbench.desktop.main.js:13074
warn @ workbench.desktop.main.js:13074
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:9994
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
ehr @ workbench.desktop.main.js:52
hFd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
xe @ workbench.desktop.main.js:9983
(anonymous) @ workbench.desktop.main.js:889
Thanks for the detailed troubleshooting. I can see you’ve already tried all the standard fixes. This is a known issue, and the team is working on a fix.
Based on the logs, the error seems related to model response streaming. A few extra questions to help us narrow it down:
The logs show a FileSystemError for terminal files (/terminals/1.txt). Please delete the terminal cache:
rm -rf ~/.cursor/projects/*/terminals/
Then restart Cursor.
Does this happen specifically after 4 to 5 chats in the same Agent window? Does creating a new Agent window help instead of continuing in the same one?
Sorry for the inconvenience. Your Request IDs have been passed to the team for investigation.
This happens pretty frequently, but I noticed when I am using my own API key it is not so much… but when I do, I can not select the reasoning models due to the limitations from Cursor.
I sent a copy of the dev console, logs and other data to both GPT 5.2 and Opus 4.5 to see if there was any other fixes, so that file 1.txt has been removed but still getting the errors.
To be frank, it is becomingly increasingly difficult to use Cursor and found that the ideal times are late night into early morning EST, which isn’t sustainable for a customer facing business from my end… which leads me to believe this is an issue on Cursor end with to many users on the models.
I created a NEW chat window, after having Cursor App closed and offline for hours and FIRST response I got the “having trouble connecting to model” error:
Request ID: 03980cbc-5c5a-4c80-80e8-21120c8f6c94
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We’re having trouble connecting to the model provider. This might be temporary - please try again in a moment.”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:false}
Thanks for your patience and for the detailed troubleshooting. I can see you’ve tried all the standard steps, so this clearly looks like an infrastructure issue on our side.
This is a known issue, and the team is working on a fix.
Sorry for the inconvenience, especially given your subscription level. I’ll update you as soon as we have a fix or any additional info from the team.
Would really like to see a solution here as this has been going on for sometime and not getting any better.
I get there is probably a lot of development needed on the backend, but can you at lease allow for paid users, especially those of us on the Ultra plan to utilize a different base URL per model – not just OpenAI.
I feel like at this price point for a service we need a faster solution or alternative using our own API keys