when i use the models provide by my company, i’ve added the model name and changed OpenAi api key and base url. now it can identify my model, but the problem ‘User Api Key Rate limit exceeded’ occurs. I don’t know what to do to solve this problem.
This error usually means the API key or provider endpoint is being rate-limited.
Since you’re using a custom/company-provided model, please check that the API key is valid, has available quota/credits, and has enough rate limit for the selected model. If the key is managed by your company, your admin or provider may need to increase the limit or issue a new key.
You can provide a request ID and we can take a closer look.
To disable Privacy Mode:
-
Open Cursor Settings with
Cmd+Shift+Jon macOS orCtrl+Shift+Jon Windows/Linux. -
Go to
General. -
Turn
Privacy Modeoff / switch toShare Data.
If the toggle is locked, Privacy Mode may be enforced by the team admin.
To get the Request ID:
-
Open the relevant conversation in the Chat sidebar.
-
Click the
...menu. -
Select
Copy Request ID.
I use the model settings in claude, it just works. so I think it doesn’t the problem of the models.
this follow string is just the request id you need: 60c0eca6-f65d-4a82-980e-02ceb502af15
Do you remember the problem? please reply to me.
Hi @tom_bo Thanks for your patience and sorry for the wait.
The “User API Key Rate limit exceeded” message is Cursor passing through a rate-limit response (HTTP 429) that your company’s endpoint returned. It is not a limit set by Cursor. Since you use your own key and base URL, we forward whatever the endpoint sends back.
That is also why Claude works but your company model does not: different providers, different limits. Cursor’s Agent sends several requests in a short window, so an endpoint with a low requests-per-minute, tokens-per-minute, or concurrency limit hits 429 quickly even when a single request or another provider works fine.
Suggested next steps:
- Ask whoever manages your company’s endpoint to check the limits on your key (requests per minute, tokens per minute, concurrency) and confirm quota or credits are available. Raising these usually resolves it.
- Confirm the endpoint is fully OpenAI chat-completions compatible and the model ID matches exactly.
I could not find logs for the request ID you sent, which usually means Privacy Mode was on. If you turn it off (Settings > General > “Share Data”), reproduce the error, and send a fresh request ID, I can look closer.
I’ve been having this same issue as reported above.
This is not an endpoint 429. I reproduced it with Ollama, LiteLLM, and Groq. I’ve watched for the connection on my remote ollama server, and it doesn’t happen, even though I can use Curl and other apps without a problem. Logs show ERROR_API_KEY_RATE_LIMIT from Cursor transport, and I also get ‘Access to private networks is forbidden.’ Please confirm whether BYOK custom base URLs are server-side proxied and whether private/local endpoints are unsupported.
Did the external usage policy change for $20/mo accounts? I’ve seen conflicting info in searches.
Request ID: 7e333985-08e0-4e9a-9d2d-aa8224985e84
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We encountered an issue when using your API key: Input token limit exceeded\n\nAPI Error:\n\n\nInput token limit exceeded\n”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:true}
[invalid_argument] Error
RetriableError: [invalid_argument] Error
at Tuf (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9056:9690)
at Rqi (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9056:8425)
at Vap (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9057:11962)
at Object.classify (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9057:16467)
at Duf (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9057:5856)
at async eWo.runWithSharedTurnRunner (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9057:15819)
at async EV.resume (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:20449:7463)
at async Uva.streamFromAgentBackend (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:20477:14168)
at async Uva.getAgentStreamResponse (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:20477:23591)
at async UIe.submitChatMaybeAbortCurrent (vscode-file://vscode-app/c:/Users/duffd/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9219:2399)
Hi @Duff2026 Thanks for the post! That looks like Cursor is passing thru an error from your provider, which in this case, looks like a token limit exceeded issue. So your prompt is too long and it is getting rejected, and Cursor is relaying that error from your model provider. It doesn’t have to do with your Cursor plan.