Zed + minirouter

Draft OpenAI-compatible provider block for Zed's settings.json.

Base URLhttps://api.minirouter.sh/v1
Get a keyhttps://minirouter.sh/key
Get a key — no account

Settings

settings.json (cmd-,) → language_models

In order

  1. language_models → openai_compatibleminirouter

    The provider entry name — paste the block below.

  2. api_urlhttps://api.minirouter.sh/v1
  3. API Keymr-live-… (your key)

    Entered once in the Agent panel's provider settings, not in settings.json.

settings.json — unverified draft
{
  "language_models": {
    "openai_compatible": {
      "minirouter": {
        "api_url": "https://api.minirouter.sh/v1",
        "available_models": [
          {
            "name": "meta/llama-3.3-70b",
            "display_name": "Llama 3.3 70B (minirouter)",
            "max_tokens": 131072
          },
          {
            "name": "deepseek/deepseek-v3",
            "display_name": "DeepSeek V3 (minirouter)",
            "max_tokens": 163840
          },
          {
            "name": "mistral/devstral-small-2",
            "display_name": "Devstral Small 2 (minirouter)",
            "max_tokens": 262144
          }
        ]
      }
    }
  }
}

Draft candidates · 3 models

All models →

Only rows confirmed in the current live catalog are linked. A plain row is a draft recommendation, not a claim that the model is currently available. Paste ids exactly as written, author/name.

When it fails

  • SymptomProvider appears but requests fail instantly
    Codeclient-side

    The API key is set in the Agent panel's provider settings, not in settings.json — Zed keeps credentials out of the config file.

  • Symptom404, HTML, or a parse error on every request
    Codeinvalid_request

    Almost always the base URL. Use https://api.minirouter.sh/v1 — the bare host without /v1 also works, but never append /chat/completions to the base URL field; the client adds that path itself. docs/errors#invalid_request

  • Symptom401 on every request
    Codeinvalid_api_key

    Wrong or rotated key. Keys start with mr-live-; after a rotation the old key keeps working for 24 hours, then dies. docs/errors#invalid_api_key

  • Symptom402 before any tokens arrive
    Codeinsufficient_credits

    Balance below the estimated cost of the request. Top up ($5 minimum) — and watch the x-minirouter-balance-usd header, the low-balance signal every response carries. docs/errors#insufficient_credits

Every API error string carries a URL resolving to /docs/errors.

Other coding agents and editors

Agent setup: /setup · API reference: /docs