Docs

Cline

Cline's OpenAI Compatible provider takes a base URL, a key and a model id. The price fields underneath are what its running per-task cost readout is built from, so they are worth filling in properly.

Cline's OpenAI Compatible provider takes a base URL, a key and a model id, plus the per-model prices it uses to show a running session cost.

Cline settings ⚙︎
API Provider   OpenAI Compatible
Base URL       https://api.kunavo.com/v1
API Key        sk-kn-...
Model ID       claude-sonnet-5

Model Configuration
  Context Window     200000
  Max Output Tokens  64000
  Image Support      on
  Input Price        (from the table below)
  Output Price       (from the table below)
Cline shows a running cost while a task executes, and it computes that number from Input Price and Output Price in the model configuration block — it does not read rates from the endpoint. Left at their defaults, the readout is wrong in whichever direction the defaults happen to point.
Keep the /v1 in the base URL. Cline appends only the route, so https://api.kunavo.com produces a 404 while https://api.kunavo.com/v1 resolves. A 401 instead means the URL is right and the key is not.

Step by step

  1. Create a key at /app/keys and copy it — it is shown once.
  2. Open the Cline settings panel (the ⚙︎ icon) and choose OpenAI Compatible as the API Provider.
  3. Enter the Base URL, the API Key and the Model ID.
  4. Expand Model Configuration and set the context window, max output tokens, image support and both prices.
  5. Start a task. Plan/Act can hold different models, so pair a planning model with a cheaper acting one rather than paying the planning rate for every edit.

Checked against Cline's OpenAI Compatible provider page on September 6, 2026. Third-party settings move; if a field name here no longer matches what you see, that page is the authority, not this one.

This is the short version. The full walkthrough — model choice, what a real session costs, and the failure modes — is in the Cline + Claude walkthrough.

Verify before you debug the client

One request settles whether a failure is the endpoint, the key, or the configuration file. If this returns JSON, the same base URL and key work in Cline.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Which model id to put in the field

Every text model is reachable as a model id — the live list is GET /v1/models, and the catalog with prices is on the models page. Rates are USD per 1M tokens, input / output.

Model idKunavo in / outWhere it fits in Cline
claude-sonnet-5$2.00 / $10.00Act mode — the default working model
claude-opus-5$2.00 / $10.00Plan mode, where the plan is what the rest of the task pays for
claude-haiku-4-5$0.40 / $2.00cheap reads and repeated file inspection
gpt-5-4$1.00 / $6.00a different family behind the same key, for a second opinion
Billing is per token from a prepaid balance with no monthly fee — see billing. On repeated context — which is most of what an editor or a chat client sends — prompt caching moves the bill more than the model choice does.

FAQ

How do I use Cline with a custom OpenAI-compatible API?

In the Cline settings panel select "OpenAI Compatible" as the API Provider, then enter the endpoint's Base URL, your API Key and the Model ID you want. The base URL is the /v1 root, because Cline appends only the route to it. Cline then speaks the OpenAI wire format to that endpoint regardless of which vendor actually serves the model.

Can Cline use Claude models without an Anthropic API key?

Yes, when the models are served over an OpenAI-compatible endpoint. Cline sends the Model ID through unchanged, so a Claude id is resolved by the endpoint rather than by the extension, and the only credential Cline holds is the endpoint's. That is also how one key can cover Claude, GPT and Gemini ids in the same provider entry.

Why is Cline's cost estimate wrong?

Because Cline computes it from the Input Price and Output Price fields in the model configuration block, which are entered by hand and are not fetched from the endpoint. If they were left at defaults or copied from a different provider, every cost readout inherits that error. Fill them with the rates the endpoint actually charges for the model id you selected.

Should Cline's base URL end in /v1?

Yes for an OpenAI-compatible endpoint. Cline appends the route — /chat/completions — to whatever base URL you give it, so https://api.example.com/v1 resolves and https://api.example.com sends the request to a path that does not exist. A 404 points at the base URL; a 401 points at the key.