Skip to main content
Most client connection problems come down to one of four things: the base URL is missing (or has) /v1 when your client expects the opposite, the model field isn’t your registered deployment name, the connector for that deployment isn’t online, or the model itself doesn’t support what the client is asking for (like tool calling). Work through this page top to bottom before assuming something deeper is wrong.

Which base URL does my client use?

Pick the base URL by the API shape your client speaks. The client itself appends the rest of the path (/chat/completions, /responses, or /messages) — you only set the root.
If you’re not sure which style a client uses, check whether it asks for ANTHROPIC_BASE_URL (or an Anthropic SDK) — that’s the no-/v1 case. Everything else that takes an OpenAI-style base_url or OPENAI_BASE_URL wants the /v1 suffix.

Works with curl but fails in my agent

If a plain curl request succeeds but the same call fails from inside a client, framework, or agent, check these in order:
Some clients want just the root (https://api.tokios.com/v1) and append /chat/completions themselves; others want the full path pasted in. If you copied a URL that already ends in /chat/completions, /responses, or /messages into a field that also appends its own path, you’ll get a doubled or malformed path. Set the base URL to the root shown in the table above and let the client add the rest.
Agent frameworks and coding assistants often send a tools array on every request, even for simple prompts. Tokios passes the tools structure straight through to your model, but the model itself has to support function calling — if it doesn’t, the request can fail or the model can ignore the tools silently. Confirm the underlying model supports tool calling before debugging the client further.
The model field must be the public deployment name you registered in the console’s Models tab (for example, gemma-tunnel) — not the upstream model id your backend serves (for example, gemma:7b). A curl request with the correct deployment name will work while a client still configured with the backend’s local id returns a 404.

What each error code means

Confirm the tunnel independently

Before you keep debugging client-side config, isolate whether the problem is the client or the model/connector itself. Open the console’s Playground and send a test prompt to the same deployment — it runs against your signed-in session, so you don’t need an API key. If the Playground works, the tunnel and model are fine and the issue is in your client’s base URL, model value, or request shape. If the Playground also fails, the problem is upstream of the client — check the connector and deployment instead.

Next steps

Compatible clients

Base URL and API key settings for each supported client, in one table.

Claude Code

Environment variables and model flag for Anthropic-style setup.

SDKs & frameworks

LangChain, LlamaIndex, Vercel AI SDK, and Pydantic AI configuration.

API endpoints

Full request and response schemas for every surface.