# Add Router One to Qoder as an OpenAI Compatible custom model

> Markdown mirror of https://router.one/integrations/qoder for AI assistants and crawlers. Router One is a unified, OpenAI-compatible LLM API gateway.
> Last updated: 2026-09-27

Qoder's desktop app, which its docs also call New Qoder, grew out of Qoder IDE's Quest mode and shipped as a separate product on 2026-08-27; Qoder IDE continues alongside it. Since Qoder 0.1.8 (2026-09-05), personal-edition BYOK takes a custom Base URL: in Settings → Models → + Add, the Custom group of the Provider list offers OpenAI Compatible, with a choice of Chat Completions API or Responses API, and Anthropic Compatible. Enter https://api.router.one/v1, a Router One key and exact catalog model IDs, and Qoder's tasks, Agents and Automations can run on those models, billed on your Router One key rather than in Qoder Credits. Checked against Qoder 0.4.2 (2026-09-24) and Qoder's custom-models documentation on 2026-09-27.

## Which Qoder product this guide covers

Qoder ships several products with their own model settings. This guide covers the Qoder desktop app, whose custom-models page documents every field used below. Per Qoder's docs, custom-model fees are settled directly by the model service's API account, here your Router One key, and do not use Qoder Credits; Repo Wiki uses a fixed model, is billed separately and consumes Qoder Credits, with a prompt when it generates.

| Qoder product | Custom Base URL? | What Qoder documents |
| --- | --- | --- |
| Qoder desktop app, 0.1.8 or later | Yes | Settings → Models → + Add → Provider → Custom: OpenAI Compatible (Chat Completions API or Responses API) or Anthropic Compatible, then Base URL, API Key and Model IDs |
| Qoder CLI, 1.1.50 or later | Yes, per its release notes | The 1.1.50 release notes (2026-09-11) add personal-edition BYOK models with custom URL endpoints on the Custom page of /model; the CLI docs describe that wizard only in outline and say not to configure BYOK by hand in settings.json |
| Qoder IDE | Not in its release notes | BYOK uses preset providers; the IDE release notes up to 1.32.0 (2026-09-23) don't mention a custom Base URL |

## Configure Qoder to use the Router One base URL

Open Qoder Settings and choose Models in the left navigation. Click + Add, open Provider and pick OpenAI Compatible from the Custom group, then choose Chat Completions API for the first test. Enter https://api.router.one/v1 in Base URL, the dedicated Router One key in API Key and an exact catalog ID in Model ID; click Add Model ID to put more IDs on the same entry. Qoder's own example Base URL, https://api.example.com/v1, has the same shape, so do not append /chat/completions or /responses. Click Next, set the capabilities described below, then click Validate and Add Model: Qoder validates the connection and saves the model only if validation succeeds. The model then appears in the model selectors of tasks, Agents and Automations:

`qoder-settings-models-custom`

```text
# Qoder 设置 → 模型 → + 添加 → 供应商 → 自定义
# Qoder Settings → Models → + Add → Provider → Custom
供应商 / Provider:            OpenAI Compatible
API:                          Chat Completions API   # Responses API：仅 GPT、DeepSeek V4、Grok 对话模型 / GPT, DeepSeek V4, Grok chat IDs only
接口地址 / Base URL:          https://api.router.one/v1
API Key:                      sk-your-router-one-key
Model ID:                     anthropic/claude-sonnet-5
添加 Model ID / Add Model ID: google/gemini-3.7-flash

# 下一步 → 每个模型的能力 / Next → capabilities for each model
显示名称 / Display name:                       Claude Sonnet 5 (Router One)
支持的上下文窗口 / Supported Context Windows:  不超过模型详情页的上下文窗口 / values up to the model page's context window
默认上下文窗口 / Default Context Window:       从已选值中选一个 / one of the selected values
视觉 / Vision:                                 仅当模型详情页列出图片输入时开启 / On only if the model page lists image input
思考模式 / Thinking Mode:                      首次校验时关闭 / Off for the first validation

# 校验并添加模型 / Validate and Add Model
```

## Chat Completions API or Responses API: which Router One IDs go where

The API type belongs to the whole entry, so every Model ID you add under it is called the same way. Router One serves every chat model on Chat Completions, and serves Responses natively for GPT-family models, DeepSeek V4 IDs and Grok chat models; each model page lists the endpoints it serves. Put Claude and Gemini IDs in a Chat Completions entry. GPT IDs can go in either; add a second entry with Responses API if you want Qoder to use Responses for them. A Claude-family ID sent to Responses is rejected with HTTP 400 invalid_request_error before any model runs: model '<id>' must be called via /v1/messages or /v1/chat/completions. The Custom group also offers Anthropic Compatible, but Qoder's docs don't state how it joins the Messages path onto the Base URL, so this guide gives no value for it; Router One serves the same Claude-family IDs on Chat Completions.

| Qoder entry | Base URL | Router One model IDs | Router One endpoint |
| --- | --- | --- | --- |
| OpenAI Compatible + Chat Completions API | https://api.router.one/v1 | Every chat model: Claude, GPT, Gemini, Grok and DeepSeek IDs | POST /v1/chat/completions |
| OpenAI Compatible + Responses API | https://api.router.one/v1 | GPT-family IDs such as openai/gpt-5.5, DeepSeek V4 IDs and Grok chat IDs whose model page lists POST /v1/responses | POST /v1/responses |
| Anthropic Compatible | Not covered by this guide | Router One's Messages endpoint serves Claude-family and DeepSeek V4 IDs; Qoder's path joining is undocumented | — |

## Capabilities step: context windows, Vision and Thinking Mode

After Next, Qoder asks for the capabilities your model service publishes; Router One publishes them on each model page. The Model ID cannot be changed on this step, and Qoder's docs list Edit as updating the API key only, so to change these settings later, delete the model and add it again:

- Display name: the name shown in Qoder's model selectors, for example Claude Sonnet 5 (Router One).
- Supported Context Windows and Default Context Window: select only values at or below the context window on the model page (1,048,576 tokens for anthropic/claude-sonnet-5, 1,050,000 for openai/gpt-5.5, 200,000 for anthropic/claude-haiku-4.5). The default is what tasks start with; a larger window lets long tasks carry more input per request, and every input token is billed. To free up context, type /compact in the task; Qoder may also compact on its own.
- Vision: turn it on only when the model page lists image input.
- Thinking Mode: leave it off while you validate the connection; later, turn it on with only the effort levels the model supports, and check in Dashboard → Logs that requests still succeed.
- Tool calling: Qoder's agent runs tools, so prefer IDs whose model page lists tool calling; for other IDs, test one tool call first.

## Count Qoder's agent requests in Logs

A Qoder task is an agent loop that plans, reads files, calls tools and checks results, and each model call in that loop is a separate request billed on your Router One key. Custom models also appear in Automations, so a scheduled task that uses a Router One model keeps spending while you are away. Give Qoder its own key with maxSpend: once the cap is reached, requests on that key return HTTP 402 while your other keys keep working. Qoder's docs don't say whether Validate and Add Model sends a billable request, so check Dashboard → Logs after adding the model. Then run a small task and match its requests by time, model and request_id: Logs show tokens, cost, status, total time and, for streamed requests that produced output, time to first token (TTFT).

## Which model ID should Qoder send?

Copy the exact model ID from /models, preserving case, hyphens, and version suffixes; do not substitute a display name. Open its detail page and match the supported API endpoints, context window, and capabilities such as tool calling to the provider and features selected in Qoder. A catalog listing does not mean the client can use every feature of that model. Give each client or application a dedicated API key with a maxSpend cap.

## Which API protocol is Qoder using?

OpenAI-compatible describes an interface format; it does not make Chat Completions (/v1/chat/completions), Responses (/v1/responses), and Anthropic Messages (/v1/messages) interchangeable. Check the installed client version, provider configuration, and actual request path against the model detail page and API compatibility fact sheet. A successful plain-text chat does not establish support for hosted tools, conversation state, or file-editing features.

## Verify the Qoder call in your request trace

Send a simple text request from Qoder, then match its trace in Dashboard → Logs by time, model, and request_id: tokens, cost, latency, and status. Next, test streaming, tool calls, and multi-turn history separately. For failures, retain the actual request path, full error message, and request_id. If there is no matching log, check client configuration and connectivity before attributing the error to the gateway or upstream.

## FAQ

### Does using Router One in Qoder consume Qoder Credits?

Not for the model calls. Qoder's docs state that custom-model fees are settled directly by the model service's API account and do not use Qoder Credits; with Router One, each request is billed on your key at the model's posted rate. The exception Qoder names is Repo Wiki, which uses a fixed model, is billed separately and consumes Qoder Credits, with a prompt when it generates. Per the 0.1.8 release notes, custom Base URLs are a personal-edition BYOK feature.

### Can I use Router One in Qoder CLI or Qoder IDE?

Qoder CLI can take a custom URL endpoint: its 1.1.50 release notes (2026-09-11) add personal-edition BYOK models with custom URL endpoints on the Custom page of /model. The CLI docs describe that wizard only in outline, and its providers come from the live BYOK catalog of your account, so this guide gives no CLI field-by-field values; if the wizard asks for a Base URL, Router One's is https://api.router.one/v1, and the model-ID rules above still apply. Configure it through the wizard, not by hand in settings.json, as Qoder's docs require. Qoder IDE's BYOK uses preset providers, and the IDE release notes up to 1.32.0 (2026-09-23) don't mention a custom Base URL. Recheck both after an update.

### Validate and Add Model fails. What should I check?

Compare Base URL character by character with https://api.router.one/v1, with nothing after /v1. Check that the API type fits the model ID: a Claude-family ID under Responses API returns HTTP 400 saying the model must be called via another path, and Gemini IDs are not served on Responses either. A 401 means the key is missing or wrong, so re-copy it without spaces; a 402 means the wallet balance or the key's maxSpend is used up. Copy the Model ID exactly from /models, prefix included, as in anthropic/claude-sonnet-5; image-generation IDs such as gpt-image-2 are not chat models. If the error names a parameter, retry with Vision and Thinking Mode off.

### Should I pick Anthropic Compatible for Claude models?

This guide doesn't cover it. Qoder's docs show one example Base URL, https://api.example.com/v1, and don't say how Anthropic Compatible joins the Messages path onto it, so the docs alone don't settle which Router One value to enter. Router One serves Claude-family IDs on Chat Completions, so an OpenAI Compatible entry with Chat Completions API and https://api.router.one/v1 reaches the same models. Router One's own Messages endpoint is POST https://api.router.one/v1/messages, for Claude-family and DeepSeek V4 IDs.

### Which models can Qoder use through the gateway?

Choose a current catalog model that supports both the endpoint and the features Qoder uses. Check /models and the model detail page for the exact ID, current rates, and capabilities; a family name such as GPT or Claude is not a compatibility guarantee. A client that lists a model has only read the ID, from its own configuration or from GET /v1/models; verify an actual request too.

### Models are listed, but requests fail with 400 or 404. What should I check?

Record the actual request path and error message, then check the exact model ID. A 400 can indicate invalid parameters, unsupported tools, or a model/endpoint mismatch; a 404 can indicate an incorrect path or missing resource, so it does not by itself establish that a model was retired. If the error says must be called via, use the named endpoint or select a model supported on the current endpoint. Do not add or remove /v1 or /chat/completions across all clients indiscriminately.

### Does this work from Mainland China?

Yes. The gateway is reachable from Mainland China without a VPN, and the configuration is identical to the global setup.

### How do I debug a 401/402/403/429?

Match the request and error message in Dashboard → Logs. For 401, check whether the key was sent and is valid; for 402, check wallet balance and maxSpend; for 403, check key permissions and access restrictions. For 429, distinguish request/token limits from upstream throttling using the error details. Keep the request_id and follow the error-codes reference.

## See also

- All integration guides: https://router.one/integrations
- Debug API errors in Qoder: https://router.one/llm-api-error-codes
- API compatibility: endpoints and supported features: https://router.one/facts/api-compatibility.md
- Responses API setup and limits: https://router.one/codex-responses-api
- CodeBuddy setup: https://router.one/integrations/codebuddy
- Cline setup: https://router.one/integrations/cline
- Qwen Code: a terminal agent with its own base URL: https://router.one/integrations/qwen-code
- Connection and /v1 path troubleshooting: https://router.one/api-connection-troubleshooting
- Tool calling across models: https://router.one/llm-tool-calling
- Qoder docs: Custom models: https://docs.qoder.com/qoder/custom-models
- Qoder release notes (0.1.8: custom Base URLs for BYOK): https://docs.qoder.com/release-notes/qoder
- Qoder FAQ: Qoder and Qoder IDE: https://docs.qoder.com/qoder/faq
- Qoder CLI release notes (1.1.50: custom URL endpoints): https://docs.qoder.com/release-notes/qoder-cli
- Qoder CLI docs: Custom models: https://docs.qoder.com/cli/custom-models
- LLM API gateway overview: https://router.one/llm-api-gateway
- OpenAI-compatible API: https://router.one/openai-compatible-api
- API docs: https://router.one/docs
- Canonical page: https://router.one/integrations/qoder
- Models and per-model token rates: https://router.one/models (markdown: https://router.one/models.md)
- Pricing: https://router.one/pricing
- API docs (markdown): https://router.one/docs.md
- Company facts: https://router.one/facts/company.md
