RouteMux Docs
IntegrationsDev tool

Cursor

What works and what does not when pointing Cursor at RouteMux, and why it is not the setup we recommend first.

Cursor has an Override OpenAI Base URL setting, so RouteMux can be plugged in. Read the limits first — several are Cursor's design, not ours, and they surprise people who expect a drop-in swap.

Set expectations before you start

Cursor does not officially support third-party endpoints, and this is the least reliable integration on this site. If your goal is an agent that simply works against RouteMux, Claude Code, Codex CLI or OpenCode are better starting points.

Configure

Cursor Settings → Models → enable OpenAI API Key, paste your RouteMux key, then enable Override OpenAI Base URL and enter:

https://api.routemux.com/v1

Add the model id by hand — Cursor's built-in dropdown will not list RouteMux slugs. GET /v1/models returns exactly what your key can call.

What the override does not cover

  • Tab completion never uses it. Cursor's own documentation is explicit: "Custom API keys only work with chat models. Tab completion continues using Cursor's built-in models."
  • Requests do not leave from your machine. Per Cursor, your key "is sent to our backend with every request because all requests are routed through Cursor's servers for final prompt building." A gateway reachable only from your own network, or an allowlist built around your own IP, will fail for reasons unrelated to the key.
  • Cursor's Zero Data Retention policy does not apply when you use your own API key.
  • Headless and background agents cannot use it. The override is an IDE-chat feature; support for headless agents is an open feature request, not a setting you have missed.

Claude models will not work here

The override is an OpenAI base URL, so requests arrive on /v1/chat/completions. Every published anthropic/claude-* model is served on the Anthropic Messages protocol only and returns 400 MODEL_PROTOCOL_UNSUPPORTED on that endpoint. In Cursor, use openai/*, deepseek/*, minimax/minimax-m* or google/gemini-* slugs.

Rough edges reported by Cursor users

Recurring third-party-endpoint reports on Cursor's own forum, not RouteMux behaviour. Listed so you can recognise them:

  • The override silently not applying, leaving an invalid-key error even though the same URL and key work from the command line.
  • Attaching an image failing with an authorization error while text-only chat succeeds.
  • Valid model ids rejected with a "Model name is not valid" message.
  • Cursor-managed models being routed through your custom endpoint once the override is on.

Verify

Before blaming the key, confirm the pair works on its own:

curl https://api.routemux.com/v1/chat/completions \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-5.5","messages":[{"role":"user","content":"ping"}]}'

If this returns 200 and Cursor still fails, the problem is on Cursor's side of the request.

Troubleshooting

SymptomCause
Tab completion unchanged, still billed by CursorBy design — Tab never uses the override.
400 MODEL_PROTOCOL_UNSUPPORTEDA Claude slug on the OpenAI override. Pick a model served on OpenAI Chat.
Works from the command line, fails in CursorRequests originate from Cursor's servers, and the override is known to be fragile with third-party endpoints.
Images fail, text worksReported Cursor bug with your-own-key plus a custom endpoint.
Headless agent ignores the settingNot supported outside IDE chat.
422 BILLING_INSUFFICIENT_CREDITSWallet lacks credit. Failed requests are never billed.

On this page