| Connection refused / name not found | The gateway is not running. | Open the Endpoints tab › Gateway. If it says the deployment is no longer live, press Enable & deploy again. |
| 401 invalid_token | The token is wrong or stale (the gateway was redeployed), the tool sent no credential, or another saved login is being sent instead of it. The header name is never the problem — the gateway accepts both Authorization: Bearer and x-api-key. | Re-copy the token from this page. A token issued here starts with om-gw-v1- — if what you pasted doesn't, you copied part of it (a gateway enabled before that prefix existed has 32 hex characters). For Claude Code, use ANTHROPIC_AUTH_TOKEN; if startup warns about two credential sources, run /logout. |
| 404 unknown_route | The path is one the gateway does not serve. The error names the path it received and the routes it does serve — a doubled or missing /v1 and a trailing slash are accepted, so a 404 now means the route itself, not its spelling. | Read the path in the error. Routes the gateway knowingly lacks (count_tokens, completions, embeddings) are listed there; anything else means the tool's step shows a different address shape — Zed's anthropic_compatible entry, Cline and the Anthropic SDK take the bare gateway address; OpenCode takes the address plus /v1; VS Code takes the full route. |
| 502 flow_missing | No routing flow is saved, so the gateway has nothing to route with. | Open the Routing flow tab and press Save flow — the starter flow works as-is. |
| 400 translation_unsupported | The request uses something the routed endpoint's format cannot carry — hosted tools (web search, code execution, MCP connectors, computer use), documents and search results, images returned by tools, audio, more than one choice per request, or — on the Responses route — server-held conversation state (previous_response_id) and file inputs. The error message names the field. | Route this traffic to an endpoint of the tool's own format, or turn the feature off in the tool. Settings that only tune a reply (JSON mode, reasoning effort, seed, penalties, extended thinking) are not refused — they are dropped when formats differ, so check the reply if you rely on one. |
| 404 no_match | No rule of your routing flow matched the request and the flow has no Otherwise rule. (A 404 whose code is unknown_route is a different problem — the path.) | Open the Routing flow tab and add an Otherwise rule, or widen a rule. |
| 429 budget_exceeded | The endpoint the flow chose has reached the cap your organization set for the period. The message names the limit, how much was counted (in the gateway's memory since its last restart) and when requests resume. | Wait for the period to roll over, or raise/remove the cap on the ModelRouter → Overview tab. |
| 400 anthropic-workspace-id | The Anthropic key saved on the Endpoints tab spans every workspace of its organization (a personal or service-account key created for all workspaces), and no workspace ID is saved with it — so Anthropic refuses each request the flow sends there, whatever tool sent it. | On the Endpoints tab open Add Anthropic key and paste the key again together with its Workspace ID (Settings → Workspaces in the Anthropic console) — or use a key created for one workspace, which needs no ID. Then update the gateway if the panel offers it. |
| 400 Unsupported parameter: 'max_tokens' | OpenAI's newer models accept the output cap only as max_completion_tokens, and a gateway older than v0.0.8 passed the tool's max_tokens through unchanged — so OpenAI refused every request the flow sent there, whatever tool sent it. | Update the gateway from the Endpoints tab (Gateway panel). From v0.0.8 it sends OpenAI's own endpoint the current name, and learns from any other endpoint's first refusal which name it takes — no setting to change in the tool. |