Cursor

Cursor can send its OpenAI requests to any OpenAI-compatible endpoint by overriding the OpenAI base URL and supplying your own key.

Setup

  1. Open Settings → Models (also labeled Models & API Keys).

  2. Under API Keys, expand OpenAI API Key and paste your UberLLM key (ull_...).

  3. Enable Override OpenAI Base URL and set it to:

    https://api.uberllm.dev/v1
    
  4. Add a custom model by name that exists in the UberLLM catalog — for example deepseek/deepseek-v3.1 — in the model list.

  5. Click Verify. Cursor sends a test request to confirm the key and base URL resolve.

Important behavior

  • Overriding the OpenAI base URL reroutes Cursor's OpenAI model requests to UberLLM. Add the UberLLM model(s) you want by name and select one of them; Cursor's built-in OpenAI model names (e.g. gpt-*) will also be sent to your override URL, so use a model id that UberLLM actually serves.
  • Some of Cursor's newest first-party "Composer"/agent models do not support custom API keys and will ignore the override. Use the standard model selector with your added custom model for BYO-endpoint chat/edit.
  • If Verify does nothing, confirm the base URL ends in /v1 and that the model name you added is present in GET https://api.uberllm.dev/v1/models.

Verify from the terminal

If Cursor's built-in verify is unclear, confirm the endpoint independently:

curl https://api.uberllm.dev/v1/chat/completions \
  -H "Authorization: Bearer $UBERLLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek/deepseek-v3.1","messages":[{"role":"user","content":"ping"}]}'

A 200 with a choices[0].message body means Cursor will work with the same settings.