Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
OpenAI BYOK requests hang when using Override OpenAI Base URL in Cursor 3.22.12 on Windows x64 (stable, user setup).
Both “Use OpenAI API Key” and “Override OpenAI Base URL” are enabled.
The Base URL has this structure:
https://api.example.com:59000/v1
(Placeholder hostname; the actual hostname is redacted.)
The endpoint is an OpenAI-compatible CLIProxyAPI service backed by my own Codex OAuth subscription, behind an HTTPS Nginx reverse proxy.
Expected behavior:
Cursor should send requests to the configured endpoint and display the streamed response.
Actual behavior:
Requests hang at “Planning Next Moves” or “Taking longer than expected”. After a prolonged wait, Cursor sometimes shows a user-provided-key / rate-limit-related error. I do not have the exact wording of that final error yet.
The issue affects:
- Built-in GPT-5.5.
- Custom model “gpt-6-astra”.
- Custom alias “astra-nas”, which is correctly listed by /v1/models.
Built-in Claude Opus 5.5 responds normally.
The issue also reproduces in a completely empty folder. I have not observed corresponding requests in the Nginx access log or proxy backend logs during these attempts, including after some failed attempts ended. I understand that missing access-log entries alone do not conclusively prove no connection was attempted.
The same endpoint works with curl and Cherry Studio:
- GET /v1/models succeeds.
- POST /v1/responses with GPT-6 Astra succeeds with SSE streaming, ending in response.completed, status “completed”, error null.
- POST /v1/chat/completions succeeds.
- Public HTTPS access works from both domestic and overseas networks.
Console messages include:
- [composer] No first token received within 2s / 4s / 6s / …
- [composer] Failed to resolve hook model legacy slug undefined
- ConnectError: [invalid_argument] Error at getGithubAccessTokenForRepos
- [hasGithubAccess] unexpected error checking GitHub access
- ComposerNotLoadedError: [composer] No loaded composer found
- [otel.error] writeInitialRequest: You can only call end() on a span once.
Some ComposerNotLoadedError entries occurred during conversation cleanup/deletion and may be secondary.
Share Data was enabled before the latest reproduction.
Latest Request ID:
fc291240-0f20-426d-9d9c-9dcd1eae7dfb
Reproduction time:
October 1, 2026, 12:13 PM UTC+8 / 04:13 UTC.
Please trace this request to determine whether Cursor used the configured Override Base URL, preserved port 59000, or blocked/rerouted the request before contacting the endpoint.
I can provide the actual hostname privately to Cursor staff.
Steps to Reproduce
-
Open Cursor 3.22.12 (stable, user setup) on Windows x64.
-
Open a completely empty local folder.
-
In Settings → Models, enter a valid API key for a publicly reachable OpenAI-compatible endpoint.
-
Enable “Use OpenAI API Key”.
-
Enable “Override OpenAI Base URL” and set the endpoint URL, including its HTTPS port and /v1 path:
https://api.example.com:59000/v1
(Placeholder hostname; actual hostname redacted.) -
Add and enable the custom model “gpt-6-astra”, or its server-side alias “astra-nas”. Confirm the endpoint lists the selected ID in GET /v1/models.
-
Start a new Agent chat, manually select that model instead of Auto, and send a minimal prompt such as “Reply OK”.
-
Observe that Cursor remains at “Planning Next Moves” / “Taking longer than expected”, with repeated “No first token received” Console warnings. A rate-limit-related error may appear after a prolonged wait.
-
Repeat in a new chat using built-in GPT-5.5 with the same BYOK and Base URL configuration. It also hangs.
-
As controls, call the same endpoint through curl or Cherry Studio: requests succeed. Test built-in Claude Opus 5.5 in Cursor: it responds normally.
Operating System
Windows 10/11
Version Information
Version: 3.22.12 (user setup)
VS Code Extension API: 1.128.0
Commit: 3a92974361033b2051526321308c2740fe5912c0
Date: 2026-09-26T04:55:12.125Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 42.10.0
Chromium: 148.0.7778.280
Node.js: 24.18.1
V8: 14.8.178.38-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.26300
For AI issues: which model did you use?
Affected models:
- gpt-6-astra (custom model)
- astra-nas (server-side alias for gpt-6-astra)
- GPT-5.5 (built-in model, with OpenAI BYOK and Base URL Override enabled)
Control:
- Built-in Claude Opus 5.5 responds normally.
For AI issues: add Request ID with privacy disabled
fc291240-0f20-426d-9d9c-9dcd1eae7dfb
Privacy Mode was disabled (Share Data selected) before reproduction.
October 1, 2026, 12:13 PM UTC+8 / 04:13 UTC
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor