`Error: Unable to contact model provider` for GPT-5 (non-codex) family of models

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I am unable to use any of the GPT-5 (non-codex) family of models within the Cursor IDE, either by providing my own key or using my Cursor credits. Using my own key reproduces the same prompt-cache-retention error that has already been documented (Issue when using custom OpenAI Key with GPT 5 High Fast). Using my Cursor credits displays a non-informative Unable to contact model provider error. Depending on how Cursor catches and displays errors to the user, it might be the same prompt-cache-retention error that is breaking GPT-5 in both modes (just with BYOK displaying a more informative error message).

Steps to Reproduce

  1. Select a GPT-5 family model (high/fast, medium/normal, etc.)
  2. Submit any prompt into the prompt message box

Expected Behavior

The prompt should be handled normally.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.69 (Universal)
VSCode Version: 1.99.3
Commit: 63fcac100bd5d5749f2a98aa47d65f6eca61db30
Date: 2025-11-07T18:21:29.650Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.1.0

For AI issues: which model did you use?

GPT-5 family

For AI issues: add Request ID with privacy disabled

6e9f1978-925f-4495-a7f6-d90c8c233b04

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the report. You’re right - this looks like the same “prompt_cache_retention” bug affecting both paths. The BYOK issue is under investigation: Cursor is sending parameters that GPT‑5 High/Fast/Medium/Normal don’t support, and in your case gpt models also don’t work with your subscription.

Could you test this workaround?

  • Disable your OpenAI API key (if enabled)
  • Try GPT‑5 Codex with your Cursor credits
  • Let me know if it works

Additional debugging steps:

  • If you have MCP servers enabled, try disabling them temporarily
  • Check for errors in DevTools console (Help > Toggle Developer Tools)

GPT‑5 Codex is confirmed to work with BYOK, but I need to verify if it also works with Cursor credits. If Codex also fails when using credits, that points to a broader issue that needs escalation.

Sorry, should have been more clear in the original post. I can confirm that GPT-5 Codex works fine while using Cursor credits. Have also tried disabled my MCP servers and that has not fixed the other GPT-5 models not being accessible.

and in your case gpt models also don’t work with your subscription.

I’m on the $20/mo. Pro tier. That should give me access to GPT/other OpenAI models, right?

Here are the logs from the dev console while using GPT-5 with my Cursor credits, but I don’t see anything too enlightening:

workbench.desktop.main.js:5604 [transport] Stream error reported from extension host ConnectError: [unavailable] Error
    at sJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
    at xwo._doInvokeHandler (workbench.desktop.main.js:492:36007)
    at xwo._invokeHandler (workbench.desktop.main.js:492:35749)
    at xwo._receiveRequest (workbench.desktop.main.js:492:34514)
    at xwo._receiveOneMessage (workbench.desktop.main.js:492:33336)
    at $Dt.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 dgt.fire (workbench.desktop.main.js:4974:12156)
    at MessagePort.<anonymous> (workbench.desktop.main.js:7497:18439) {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.0.69', streamId: 'a86d690d-bd7e-49cf-ae3b-5b6784ac484c', …}
error @ workbench.desktop.main.js:5604
$endAiConnectTransportReportError @ workbench.desktop.main.js:4989
_doInvokeHandler @ workbench.desktop.main.js:492
_invokeHandler @ workbench.desktop.main.js:492
_receiveRequest @ workbench.desktop.main.js:492
_receiveOneMessage @ workbench.desktop.main.js:492
(anonymous) @ workbench.desktop.main.js:492
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:4974
(anonymous) @ workbench.desktop.main.js:7497
workbench.desktop.main.js:1647 [composer] ToolFormer: error in toolWrappedStream undefined ConnectError: [unavailable] Error
    at sJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
    at xwo._doInvokeHandler (workbench.desktop.main.js:492:36007)
    at xwo._invokeHandler (workbench.desktop.main.js:492:35749)
    at xwo._receiveRequest (workbench.desktop.main.js:492:34514)
    at xwo._receiveOneMessage (workbench.desktop.main.js:492:33336)
    at $Dt.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 dgt.fire (workbench.desktop.main.js:4974:12156)
    at MessagePort.<anonymous> (workbench.desktop.main.js:7497:18439)
toolWrappedStream @ workbench.desktop.main.js:1647
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:2749
handleStreamComposer @ workbench.desktop.main.js:1446
streamResponse @ workbench.desktop.main.js:5607
(anonymous) @ workbench.desktop.main.js:5752
(anonymous) @ workbench.desktop.main.js:5754
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:1647
(anonymous) @ workbench.desktop.main.js:5752
processCodeBlocks @ workbench.desktop.main.js:1583
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2749
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:5607 [AiService] streamResponse ConnectError: [unavailable] Error
    at sJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
    at xwo._doInvokeHandler (workbench.desktop.main.js:492:36007)
    at xwo._invokeHandler (workbench.desktop.main.js:492:35749)
    at xwo._receiveRequest (workbench.desktop.main.js:492:34514)
    at xwo._receiveOneMessage (workbench.desktop.main.js:492:33336)
    at $Dt.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 dgt.fire (workbench.desktop.main.js:4974:12156)
    at MessagePort.<anonymous> (workbench.desktop.main.js:7497:18439)
streamResponse @ workbench.desktop.main.js:5607
await in streamResponse
(anonymous) @ workbench.desktop.main.js:5752
(anonymous) @ workbench.desktop.main.js:5754
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:1647
(anonymous) @ workbench.desktop.main.js:5752
processCodeBlocks @ workbench.desktop.main.js:1583
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2749
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:5604 [transport] Stream response error ConnectError: [unavailable] Error
    at sJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
    at xwo._doInvokeHandler (workbench.desktop.main.js:492:36007)
    at xwo._invokeHandler (workbench.desktop.main.js:492:35749)
    at xwo._receiveRequest (workbench.desktop.main.js:492:34514)
    at xwo._receiveOneMessage (workbench.desktop.main.js:492:33336)
    at $Dt.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 dgt.fire (workbench.desktop.main.js:4974:12156)
    at MessagePort.<anonymous> (workbench.desktop.main.js:7497:18439) {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.0.69', generationUUID: '06be6e3b-b93c-4dce-93f4-a2d67249cf3e', …}
error @ workbench.desktop.main.js:5604
streamResponse @ workbench.desktop.main.js:5607
await in streamResponse
(anonymous) @ workbench.desktop.main.js:5752
(anonymous) @ workbench.desktop.main.js:5754
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:1647
(anonymous) @ workbench.desktop.main.js:5752
processCodeBlocks @ workbench.desktop.main.js:1583
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2749
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:5604 [transport] Automatic bug report submitted for unexpected connection error {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.0.69', requestId: '06be6e3b-b93c-4dce-93f4-a2d67249cf3e', …}
_log @ workbench.desktop.main.js:5604
warn @ workbench.desktop.main.js:5604
showImmediateErrorMessage @ workbench.desktop.main.js:1556
handleError @ workbench.desktop.main.js:1556
streamResponse @ workbench.desktop.main.js:5607
await in streamResponse
(anonymous) @ workbench.desktop.main.js:5752
(anonymous) @ workbench.desktop.main.js:5754
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:5748
(anonymous) @ workbench.desktop.main.js:1647
(anonymous) @ workbench.desktop.main.js:5752
processCodeBlocks @ workbench.desktop.main.js:1583
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2749
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:2750 [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 sJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
    at xwo._doInvokeHandler (workbench.desktop.main.js:492:36007)
    at xwo._invokeHandler (workbench.desktop.main.js:492:35749)
    at xwo._receiveRequest (workbench.desktop.main.js:492:34514)
    at xwo._receiveOneMessage (workbench.desktop.main.js:492:33336)
    at $Dt.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 dgt.fire (workbench.desktop.main.js:4974:12156)
    at MessagePort.<anonymous> (workbench.desktop.main.js:7497:18439)
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:5604 [composer] Error in AI response ConnectError: [unavailable] Error
    at sJc.$endAiConnectTransportReportError (workbench.desktop.main.js:4989:399337)
    at xwo._doInvokeHandler (workbench.desktop.main.js:492:36007)
    at xwo._invokeHandler (workbench.desktop.main.js:492:35749)
    at xwo._receiveRequest (workbench.desktop.main.js:492:34514)
    at xwo._receiveOneMessage (workbench.desktop.main.js:492:33336)
    at $Dt.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 dgt.fire (workbench.desktop.main.js:4974:12156)
    at MessagePort.<anonymous> (workbench.desktop.main.js:7497:18439) {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.0.69', requestId: '06be6e3b-b93c-4dce-93f4-a2d67249cf3e', …}arch: "arm64"causeCode: undefinedcauseErrno: "undefined"causeSyscall: undefinedchannel: "stable"client_version: "2.0.69"composerId: "fc3e11b9-1ff4-46a1-a9e6-aa8b043a8ed4"errorCode: "Unavailable"errorMessage: "ConnectError: [unavailable] Error"errorType: "OPENAI"isConnectError: "true"isRetryable: undefinedplatform: "darwin"requestId: "06be6e3b-b93c-4dce-93f4-a2d67249cf3e"[[Prototype]]: Object
error @ workbench.desktop.main.js:5604
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
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
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:5604 [composer] Chat incomplete or aborted {arch: 'arm64', platform: 'darwin', channel: 'stable', client_version: '2.0.69', requestId: '06be6e3b-b93c-4dce-93f4-a2d67249cf3e', …}
_log @ workbench.desktop.main.js:5604
warn @ workbench.desktop.main.js:5604
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:1442 [composer] Large diff detected for /Users/colinsmall/GitHub/mv-backend/tests/test_user_creation.py (57/57 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
_Ys @ workbench.desktop.main.js:52
oH @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
(anonymous) @ workbench.desktop.main.js:4735
Kls @ workbench.desktop.main.js:4735
r @ workbench.desktop.main.js:5764
await in r
(anonymous) @ workbench.desktop.main.js:5765
(anonymous) @ workbench.desktop.main.js:50
Promise.then
trigger @ workbench.desktop.main.js:50
o @ workbench.desktop.main.js:5765
(anonymous) @ workbench.desktop.main.js:5765
_deliver @ workbench.desktop.main.js:49
_deliverQueue @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
fireDidFinishStreamChat @ workbench.desktop.main.js:589
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2750
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
_Ys @ workbench.desktop.main.js:52
jAd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Ln @ workbench.desktop.main.js:4839
await in Ln
onSubmit @ workbench.desktop.main.js:4839
Be @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
aXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
cXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
aXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
p8d @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444

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