Client matrix · official docs checked · protocol limits

Choose an OpenAI-compatible client without guessing

A client belongs on this list only if its current documentation exposes a custom endpoint or Base URL. Start with the matrix, then verify your key with /v1/models before changing any app settings.

Which clients have a verified custom-endpoint path?

The five options below were checked against their current upstream documentation on 2026-08-02. “Verified” means the client or SDK documents a Base URL or custom-provider field. It does not promise that every model supports tools, images, streaming or the client’s preferred API transport.

ClientVerified configurationImportant boundary
ClineOpenAI Compatible provider, Base URL, API Key, Model IDModel capabilities still need checking
Roo CodeOpenAI Compatible provider, Base URL, API Key, Model IDRequires native OpenAI-style tool calling
Codex CLImodel_providers, base_url, env_key, wire_apiThe gateway must support the selected wire API
Hermes AgentCustom Endpoint wizard or named providerTransport and model must match the endpoint
OpenAI Python SDKbase_url argument or OPENAI_BASE_URLYour code chooses Responses or Chat Completions

What should every setup verify first?

Test the API outside the client. Use the exact key you plan to save, then copy a model ID from the response instead of typing one from memory.

curl https://monkeytheme.com/v1/models \
  -H "Authorization: Bearer ***"
ResponseWhat it tells you
200 with a model listThe endpoint and key work for model discovery
401 JSONThe route is reachable, but the credential is missing or rejected
404 or HTMLCheck the path and whether the client adds /v1 itself
A successful model list is a preflight, not a full agent test. Run one small request after configuring the client.

Which fields go into Cline and Roo Code?

Both projects document the same four basic fields: choose “OpenAI Compatible,” enter the provider Base URL, add the API key, and enter a Model ID. For MonkeyAI, start with https://monkeytheme.com/v1.

Roo Code documents an extra requirement: it uses native tool calling only, with no XML fallback. A model that can answer ordinary chat requests may still fail as a Roo coding agent if it does not support OpenAI-compatible function calls.

How do Codex CLI, Hermes and SDK apps differ?

Codex CLI and Hermes are configurable agent runtimes, not generic desktop chat boxes. Codex custom providers expose a wire_api choice; Hermes asks for a transport. Those values must match what the gateway actually implements.

The OpenAI Python SDK is lower level. Its README documents a base_url constructor argument and the OPENAI_BASE_URL environment variable. Your application still decides which API method to call and where the key is stored.

Keep API keys out of browser code and public repositories. Use the client’s credential store or a server-side environment variable.

Why is Claude Code not in the OpenAI-compatible matrix?

Claude Code can use an LLM gateway, but Anthropic’s current gateway documentation describes supported API formats and the ANTHROPIC_BASE_URL path. A plain OpenAI-compatible endpoint is not enough by itself. The gateway must expose the Anthropic protocol Claude Code expects or translate it correctly.

Use the dedicated Claude Code gateway guide rather than copying the OpenAI client settings above.

Official sources checked

FAQ

Which OpenAI-compatible client should I use?

Use Cline or Roo Code for a VS Code coding agent, Codex CLI or Hermes for a terminal agent, and the OpenAI SDK when you are building your own application.

What Base URL should I use for MonkeyAI?

Start with https://monkeytheme.com/v1 unless the client explicitly appends /v1 for you.

Does a 200 response from /v1/models prove tool calling works?

No. It verifies endpoint, credential and model discovery. Tool calling and streaming require a real request with the chosen model.

Why can Roo Code fail when normal chat works?

Roo Code requires native OpenAI-compatible tool calling. A chat-only model or partial compatibility layer may not provide it.

Can Claude Code use the same OpenAI-compatible settings?

Not directly. Claude Code expects a supported gateway API format, normally the Anthropic protocol or a gateway that translates it.

Related guides

Cline and Roo Code setup

Use the exact current provider fields.

Open page

Codex CLI setup

Keep a separate named provider profile.

Open page

API key troubleshooting

Separate key, path and model errors.

Open page