Routing ambiguity when custom model name matches a built-in Cursor model

If I configure a custom model whose name happens to overlap with a built-in Cursor model (for example, if I add a custom endpoint for gpt-5.5 and Cursor also offers gpt-5.5 natively), how does the system handle this conflict?

Why isn’t there a clear mechanism or UI distinction to separate built-in models from user-defined ones to prevent this routing ambiguity?

Most importantly: when I make an API request under this configuration, is it ultimately accessing my custom gpt-5.5 endpoint, or Cursor’s official gpt-5.5?

Hey, I’ll reply point by point.

Where the request goes. Routing is decided by your API key plus the Override OpenAI Base URL setting, not by the model name.

  • If you enabled your own OpenAI key in Cursor Settings and set Override Base URL, requests for OpenAI-family models, including gpt-5.5, go to your custom endpoint.
  • If the key isn’t enabled, the request goes through Cursor.

The model name itself doesn’t change anything. Cursor doesn’t rename models or add namespaces. Both sides just get gpt-5.5. What matters is the key and endpoint.

How to verify where the request is really going. The most reliable way is to temporarily set an obviously invalid Override Base URL. If the request fails with a network error, it means it’s routing through your endpoint. Or check logs on your proxy or gateway.

About UI separating built-in and custom models with the same names. That’s a fair point. In the current setup, it isn’t visually separated.

If you run into a case where BYOK routing returns a payload format error on /chat/completions, that’s a separate known issue. Send a new message with the Request ID.

I get it now—enabling “Override OpenAI Base URL” routes the requests to the custom model. However, there’s a major pain point here: whenever I need to switch back to Cursor’s built-in models, I have to go all the way to Settings → Models just to turn off “Override OpenAI Base URL.” It’s incredibly tedious.

To make matters worse, once it’s turned off, the next time I want to use my custom setup and re-enable it, the URL resets to the default https://api.openai.com/v1. Since I don’t remember my custom URL by heart, I have to go dig through my notes every single time, which is just too much hassle.

This isn’t just a visual layout issue; it’s about operational efficiency and convenience. In fact, your competitors put the toggle for built-in vs. custom models directly inside the AI chatbox. If I want to use a built-in model, I just click ‘Built-in’; if I need a custom one, I just click ‘Custom’. It is incredibly seamless and user-friendly.

You guys should really make the system remember the user’s last entered URL. Also, the toggle between built-in and custom models should be placed right in the chatbox model selector, rather than being buried deep inside the settings menu.

You should even allow setting an independent Base URL and API Key for each custom model that is added. This way, users would have much more flexibility and choice. We could switch between different providers based on our needs: routing highly complex questions to OpenAI’s models, using DeepSeek’s models for simpler tasks, and even leveraging free, locally deployed models for very basic queries.

Each of these models requires a different Base URL. If we have to go into the settings every single time to toggle “Override OpenAI Base URL” and re-enter the Key and Base URL just to switch between them, it is simply too much of a hassle.

Hey, thanks for the detailed feedback. I’m hearing three separate requests:

  1. A toggle between built-in and custom right in the chat model picker
  2. Remember the last entered Base URL when Override is turned off
  3. Per-custom-model Base URL plus API key so you can keep multiple providers at the same time

These are valid UX pain points, especially 2. Resetting to the default when you turn Override off is really annoying. I’ll pass this to the team as product feedback. I can’t share an ETA or promise it’ll make the roadmap since that’s up to the product side.

If any other user is hitting the same limits, please upvote the post. It helps with prioritization.