# Connect Warp's custom inference endpoint to Router One

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

Warp describes itself as an agentic development environment, born out of the terminal: you work with its built-in coding agent, Warp Agent, or bring a CLI agent of your own. Warp Agent can run on a custom inference endpoint: per Warp's custom inference endpoint docs (checked 2026-11-10), you add an OpenAI-compatible endpoint's base URL, an API key and the model IDs you want, and those models appear in the model picker. Add Router One with https://api.router.one/v1 and a Router One key, and the Claude, GPT, Gemini, Grok and DeepSeek chat models you add from the catalog appear in Warp Agent's model picker on that one key; every request it sends that the gateway forwards to a model appears in Dashboard → Logs with its tokens and the wallet charge or plan quota it used (a streamed request that failed before any output may have no record). Per the same docs, requests to a personal endpoint pass through Warp's servers on their way to it. Checked on 2026-11-10 against Warp's docs and changelog and the custom-endpoint settings source in Warp's open-source repository (its default branch, master, that day; Warp's download link then served stable v0.2026.11.04.08.17.stable_01).

## Check your Warp plan and create a dedicated key

Per Warp's custom inference endpoint docs (checked 2026-11-10), personal endpoints are available on the Free plan and every eligible paid plan for individual users and for organizations with 10 or fewer employees; larger organizations need a Business or Enterprise plan, where local runs that use an endpoint still incur Warp's platform charges and an admin can configure team-managed endpoints instead. When an organization manages custom inference, Warp's settings page says that personal API keys and custom endpoints are disabled. In Router One, open Dashboard → API Keys and choose Create Key to make a key for Warp alone, with a maxSpend cap: an agent task can send many model requests, the cap is the hard stop on wallet charges, and a dedicated key keeps Warp's requests together in Dashboard → Logs.

## Configure Warp to use the Router One base URL

In Warp, open Settings → Agents → Warp Agent and find the Custom Inference section (Warp's docs also suggest searching Settings for inference endpoint). Choose + Add custom model to open the Add custom endpoint dialog. Leave API schema on OpenAI Chat Completions, the default; enter a name such as Router One under Endpoint name, https://api.router.one/v1 under Endpoint URL, and the dedicated key under API key. Under Model name enter an exact catalog ID such as anthropic/claude-sonnet-5; Model alias (optional) is the label the model picker shows instead. Use + Add model for each further ID, then choose Add endpoint. Per Warp's settings source, the dialog saves only when the name, the URL, the key and at least one model name are filled in; the endpoint then appears under Custom endpoints, and its models in Warp Agent's model picker. The finished dialog:

`warp-custom-endpoint`

```text
# Warp: Settings → Agents → Warp Agent → Custom Inference → + Add custom model
API schema:              OpenAI Chat Completions
Endpoint name:           Router One
Endpoint URL:            https://api.router.one/v1
API key:                 sk-your-router-one-key
Model name:              anthropic/claude-sonnet-5
Model alias (optional):  Claude Sonnet 5 via Router One

# + Add model for each further catalog ID, then Add endpoint
# Pick the Router One model in Warp Agent's model picker, not Auto
```

## The Endpoint URL: public HTTPS, ending in /v1

Per Warp's docs (checked 2026-11-10), the Endpoint URL is the base URL that exposes /v1/chat/completions, and their tunnel example ends in /v1, so enter https://api.router.one/v1 without /chat/completions. Warp's settings source rejects a URL that does not use HTTPS or that points at localhost or a private IP address: the Endpoint URL field is outlined in red and Add endpoint stays disabled, with no error text. The docs explain the public-URL rule: when you select an endpoint model, your prompt, context, the endpoint URL and the key pass through Warp's servers to the endpoint, so Warp must reach it over the public internet; api.router.one is a public HTTPS host. Per the same docs, Warp does not retain your personal endpoint API key, and Warp's settings page says keys added there are stored only on that device, not on Warp's servers.

## API schema: keep OpenAI Chat Completions

The API schema dropdown offers OpenAI Chat Completions, OpenAI Responses and Anthropic Messages: Warp's changelog added the choice in its 2026.07.31 release, and its settings page says custom endpoints must support one of the three. Warp's custom inference endpoint docs (checked 2026-11-10) describe only Chat Completions and do not say what URL the other two schemas expect, so this guide keeps OpenAI Chat Completions, the default. On Router One it reaches every chat model: Claude, GPT, Gemini, Grok and DeepSeek IDs are all served on POST /v1/chat/completions.

## Select the Router One model in the picker, not Auto

Per Warp's custom inference endpoint docs (checked 2026-11-10):

- Auto models use Warp-provided inference and consume your Warp usage even when an endpoint is configured, so select the Router One model itself, or its alias, in the model picker.
- Custom routers cannot use the endpoint: their routing targets must be Warp-supported models.
- Personal endpoints serve local Warp Agent runs, not cloud agent runs; Business and Enterprise admins can configure team-managed endpoints for both.
- Other Warp AI features use their own inference configuration and are unaffected by a personal endpoint.
- Warp Agent works through tools (Warp's changelog names tools such as create_file), so choose a model whose page on /models lists tool calling, such as anthropic/claude-sonnet-5 or deepseek-v4.1-flash. With this schema the requests use POST /v1/chat/completions, so for a GPT ID read the per-model endpoint rules in the tool-calling guide (/llm-tool-calling) first.

## Billing: Router One bills the requests, Logs records each one

Per Warp's docs (checked 2026-11-10), your endpoint provider bills endpoint-routed inference at its own rates instead of drawing on your Warp usage, and Warp's usage totals do not fully show those external bills. On Router One, a request on a model your plan tier lists draws that tier's allowance, and once the allowance is used up it bills the wallet; requests on every other model bill the wallet per token at the rates on the model's page, and /pricing lists each plan's models and allowances. Filter Dashboard → Logs by the Warp key: each record shows the model, tokens, the wallet charge or plan quota it used, status and total time.

## Which model ID should Warp 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 Warp. 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. A key's spend cap (maxSpend) limits what that key can charge to your wallet: once its cumulative wallet charges reach the cap, its wallet-billed requests return HTTP 402. Requests covered by your plan's quota draw from the account's shared plan quota and do not count toward any key's cap.

## Which API protocol is Warp 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 Warp call in your request trace

Send a simple text request from Warp, then match its trace in Dashboard → Logs by time, model, and request_id: tokens, the wallet charge or plan quota it used, 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, either the request never reached the gateway (client configuration or connectivity) or the gateway refused it before calling a model — a 401 for the key, a 402 for funds, a 429 from your key's or account's limits, or a 400 or 404 for the model ID or endpoint; a streamed request that failed before any output may have no log either. The status and error message the client received tell which, so check them before attributing the error to the gateway or upstream.

## FAQ

### Does the Endpoint URL take https://api.router.one/v1 or the full /chat/completions path?

https://api.router.one/v1. Per Warp's docs (checked 2026-11-10), the Endpoint URL is the base URL that exposes /v1/chat/completions, and their tunnel example ends in /v1, so leave /chat/completions off. The URL must use HTTPS and a public host: Warp's settings source refuses a URL without https:// or one that points at localhost or a private address.

### Does my Router One key pass through Warp's servers?

In transit, yes. Per Warp's custom inference endpoint docs (checked 2026-11-10), when you select an endpoint model your prompt, context, the endpoint URL and the key pass through Warp's servers to Router One; Warp does not retain the key, and the configuration stays on your device with the key in secure storage. Per the same docs, Warp cannot enforce zero data retention for requests sent through a custom endpoint; Router One's side is described on its data-retention page (/data-retention). Give Warp its own Router One key with a maxSpend cap, and revoke it in Dashboard → API Keys when you remove the endpoint.

### Why does Warp still use Warp credits after I added Router One?

Usually because an Auto model or a custom router is selected. Per Warp's docs (checked 2026-11-10), Auto models use Warp-provided inference even when an endpoint is configured, and custom routers only target Warp-supported models, so pick the Router One model or its alias in the model picker. Other Warp AI features keep their own inference configuration, and on Business and Enterprise plans local runs on an endpoint still incur platform charges.

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

Choose a current catalog model that supports both the endpoint and the features Warp 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?

Router One's endpoint is reachable from Mainland China without a VPN, but with Warp that is not the connection your machine makes: per Warp's custom inference endpoint docs (checked 2026-11-10), requests to a personal endpoint route through Warp's servers, so Warp still needs its own connection to Warp's service, which Router One does not change. Alipay top-ups for the Router One wallet are covered at /alipay-llm-api.

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

Start from what your client received: the status, the error body and the X-Request-ID header. A 401 (missing, unknown, revoked or expired key), a 402 (wallet balance, or the key's maxSpend cap) and a 429 from your key's or account's rate limits are refused before any model is called, so they never appear in Dashboard → Logs — nor does a 400 or 404 for a wrong model ID or endpoint. For 401, check that the full key is sent and still active in Dashboard → API Keys; for 402, top up or raise the key's maxSpend; for a 403, keep the full error body. For 429, back off and retry later; a 429 that does show up in Logs came back from upstream after the gateway's retries. Keep the request_id and follow the error-codes reference.

## See also

- All integration guides: https://router.one/integrations
- Debug API errors in Warp: 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
- Cline setup: https://router.one/integrations/cline
- Aider setup: https://router.one/integrations/aider
- Tool calling through the gateway: https://router.one/llm-tool-calling
- Hermes Agent setup: a terminal agent on a custom endpoint: https://router.one/integrations/hermes-agent
- Connection and /v1 path troubleshooting: https://router.one/api-connection-troubleshooting
- Data retention: https://router.one/data-retention
- Warp docs: custom inference endpoint: https://docs.warp.dev/agents/inference/custom-inference-endpoint/
- Warp changelog (2026): https://docs.warp.dev/changelog/2026/
- 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/warp
- 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
