Connect Cursor to Smouter
Use Smouter models inside the Cursor desktop app by overriding the OpenAI base URL and adding your model ids as custom models.
What you need
- Base URL:
https://api.smouter.ai/v1— the/v1suffix matters; leaving it off is the most common setup failure. - API key: an
sk-smouter-…secret from API keys. It is shown once at creation — if you lost it, create a new key. - Model id: copied exactly from the live catalog (or
GET /v1/models). Ids are matched verbatim — no vendor prefixes, no renaming.
Point Cursor at Smouter
- Open Cursor's settings (
⌘⇧J/Ctrl+Shift+J) and go to the Models section. - In the API-keys area, paste your Smouter key into the OpenAI API Key field, enable Override OpenAI Base URL, and set it to
https://api.smouter.ai/v1. - Add each Smouter model you want as a custom model, using the exact id from the catalog.
- Before clicking Verify, disable the built-in models you won't route through Smouter — Cursor validates the key against the models currently enabled, so one non-Smouter model in the list fails the whole check.
- Pick the Smouter model in the chat/agent model dropdown and send a message.
Base URL https://api.smouter.ai/v1API key sk-smouter-… (create at smouter.ai/app/keys)Model id exactly as listed at smouter.ai/models (add as a custom model)Scope note: the override applies to Cursor features that call OpenAI-style chat models. Cursor-native features with their own backend — Tab autocomplete in particular — don't go through a custom endpoint.
Scripting this? Cursor has no editable config file for model providers — these settings live in Cursor's internal state store, with keys held by the OS keychain, so the settings UI is the only supported path. If you want a setup an agent can apply for you, use a file-configured tool instead: Claude Code, Codex CLI, OpenCode, Continue, or Zed.
Verify outside the tool first
Two commands separate a Smouter problem from a tool problem. If both succeed, your key, credit, and model id are fine — whatever remains is the tool's configuration.
# Which model ids can I use right now? (no auth needed)curl -s https://api.smouter.ai/v1/models | jq -r '.data[].id'If it doesn't work
- Base URL wrong or missing
/v1. OpenAI-style tools need exactlyhttps://api.smouter.ai/v1— no trailing/chat/completions, no bareapi.smouter.ai. Anthropic-style tools (Claude Code) usehttps://api.smouter.aiwith no suffix. 401 auth— the key was pasted wrong, expired, or revoked. Secrets are shown once; create a fresh key in API keys and paste it whole, including thesk-smouter-prefix.402 insufficient_quota— your wallet or a per-key cap can't cover the request. Top up in Billing or raise the key's cap.404 model_not_found— the id doesn't match the catalog. Copy it verbatim from the catalog; ids are case-sensitive and carry noopenai/-style prefix (where a tool requires one, the tool strips it before sending).429— a rate or tokens-per-minute window is exhausted. Honorretry-after; per-key TPM is adjustable in API keys.- Scoped key. If the key has a model allowlist, every model the tool may call — including fallbacks — must be on it. When in doubt, test with an unscoped key.
- The tool's UI moved. Settings get renamed; the three constants don't. Any field asking for an OpenAI(-compatible) base URL, key, and model name takes the values above.
Still stuck? Open a ticket with the request's x-request-id (or the error body) and we'll trace it — or email support@smouter.ai.