Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
I like to play with various open models via the full model zoo available through OpenRouter. To do this, I enable the “OpenAI API Key” field with my OpenRouter API key and turn on “Override OpenAI Base URL” pointed at OpenRouter .
With this configuration:
Claude models (via Anthropic) work fine
Gemini models work fine
Grok models work fine
OpenRouter-hosted models (e.g., moonshotai/kimi-k2, DeepSeek, Qwen, GLM, etc.) work fine
But Cursor’s own models (Composer 2.5 / Fast) and OpenAI models fail with the error:
Bad Request — This model does not support custom API keys. Copy Request (ca7e346c-6510-478e-a114-eaf2271adf34)
The error appears the moment I send any prompt while Composer 2.5 (Fast) is selected. Disabling the OpenAI key override lets Composer/OpenAI models work again, but then I lose access to the OpenRouter model zoo.
Steps to Reproduce
Steps to Reproduce
Open Cursor → Settings → Models → API Keys
Toggle on “OpenAI API Key” and paste an OpenRouter API key
Toggle on “Override OpenAI Base URL” and set it to OpenRouter
In the chat input, select model Composer 2.5 (Fast) (or any OpenAI/Cursor first-party model)
Send any message (e.g., “hi”)
Observe the “Bad Request — This model does not support custom API keys” error
Expected Behavior
Expected Behavior Cursor’s first-party models (Composer 2.5, Tab, etc.) OpenAI models to function as the rest of the built in models from Cursor
Screenshots / Screen Recordings
Operating System
MacOS
Version Information
Version: 3.3.12
VSCode Version: 1.105.1
Commit: 75c0dfd29aecf2cc208dbaf761d5cc459c601aa0
Date: 2026-05-06T03:47:52.249Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 23.6.0
For AI issues: which model did you use?
Composer 2.5 (Fast). Also reproduces with OpenAI models. Does NOT reproduce with Claude, Gemini, Grok, or OpenRouter-hosted models.
For AI issues: add Request ID with privacy disabled
f9a7046a-279b-47e5-ab48-6e8dc12daba1
Additional Information
Has never worked — this is the first time I’ve tried this configuration; not a regression from a known-good state.
Workaround: disable the OpenAI base-URL override, but that defeats the purpose of using OpenRouter for open-model access.
Suggested fix: scope the OpenAI key/base-URL override to OpenAI-provider models only; route first-party Cursor models (Composer, Tab) through Cursor’s backend regardless of the OpenAI override setting.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor
