Composer 2.5 fails with BYOK

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I’m hitting the exact same issue with Composer 2.5 when using Override OpenAI Base URL pointed at a custom OpenAI-compatible proxy. GPT-5.5 BYOK not working - #37 by deanrie

Steps to Reproduce

Enable Override OpenAI Base URL and point it at a custom OpenAI-compatible proxy.
Also set an OpenAI API Key.
Explicitly select Composer 2.5 (not Auto).
Try to use Composer → error appears.

Expected Behavior

Composer 2.5 (Cursor proprietary model) should automatically bypass any active BYOK/OpenAI Base URL override and always use Cursor’s official endpoints, exactly like it does in Auto mode.

Operating System

MacOS

Version Information

Version: 3.9.8
VS Code Extension API: 1.105.1
Commit: 4aa8ff1b7877ed7bd01bcba308698f71a6735380
Date: 2026-06-25T01:39:30.490Z
Layout: glass
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.256
OS: Darwin arm64 25.5.0

For AI issues: which model did you use?

Composer-2.5

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, this isn’t a bug, it’s expected behavior. Composer models 1 / 1.5 / 2 / 2.5 are Cursor proprietary models and they always run on Cursor infrastructure, so you can’t use a custom key or proxy with them.

When Override OpenAI Base URL or an OpenAI API key is enabled, that endpoint is used for every request. Because of that, an explicitly selected Composer model gets rejected with “This model does not support custom API keys”. Auto works because routing happens without BYOK creds there.

Two options:

  • Use Auto. It routes automatically and works fine with keys enabled.
  • If you explicitly pick Composer, turn off the OpenAI key with Cmd+Shift+0 or disable Override Base URL. Your key will still be used for vendor models like GPT, Claude, and Gemini.

This is a known QoL issue. Better per-model routing so Composer and BYOK can work together is on our radar, but there’s no ETA yet.

Also, your current account is on the Free plan, and BYOK for Agent/Edit requires a paid subscription, so keep that in mind too.

Hey @deanrie ,

The account I posted from is not my business account. After the previous BYOK issue was fixed, I purchased the Ultra subscription again.

I also do not agree with the statement that “this isn’t a bug, it’s expected behavior.” From a user perspective, this is a bug.

I am paying $200/month to use Cursor and it is my right to use Composer 2.5. If I want to use custom models through BYOK alongside Cursor’s own Composer models, I should be able to do that without constantly disabling keys, changing base URLs, or using manual workarounds. Explicitly selecting Composer while BYOK is enabled should route Composer through Cursor’s official infrastructure, not fail because a custom OpenAI-compatible endpoint is configured.

The suggested workaround:

“If you explicitly pick Composer, turn off the OpenAI key with Cmd+Shift+0 or disable Override Base URL.”

does not really solve the issue. It just forces users to constantly switch settings depending on the model they want to use. That is not a good experience for a paid Ultra user.

I already stopped using Cursor and cancelled Ultra for around two months because of the previous BYOK vision attachment issue. I do not want to go through that again. These kinds of routing issues feel small and fixable, but when they take months to resolve, they make Cursor much harder to rely on for daily work.

Please reconsider treating this as expected behavior. The expected behavior should be per-model routing: Composer should always use Cursor’s infrastructure, while BYOK/custom base URLs should apply only to compatible external vendor models.

I would appreciate it if this could be escalated and prioritized.

Hey, thanks for coming back with details.

On your point, you’re right. The behavior you’re describing, where Composer always goes through Cursor’s infrastructure and BYOK/custom base URL only applies to compatible external models, is exactly the per-model routing improvement we have logged as a known issue. So we agree on the direction here, and I’m not trying to argue that the current experience is convenient.

An honest status update: we’re tracking this with high internal priority, but I can’t share an exact ETA, and I won’t promise specific fix timelines because that wouldn’t be fair. I’ll attach your feedback from this thread to the existing tracking item so it’s considered in prioritization, especially as a signal from an Ultra user.

The workaround using Cmd+Shift+0 or turning off Override Base URL is a temporary measure, not a real solution, and I fully agree with you there. While routing isn’t split yet, if you’re explicitly using Composer you can keep the key turned off. For GPT, Claude, and Gemini it will keep working.

If there’s an update on this, I’ll post it here.

Hello @deanrie @Colin

Is there any update on this? I want to use BYOK and Composer 2.5 . I am paying 200$ for this and I cant use it.