Cline’s OpenAI Compatible provider takes a base URL, a key and a model id, and its Model Configuration takes the build’s context window, output limit and prices. Set those once and an uncensored build plans, edits and runs commands in VS Code, with a different model for Plan and for Act if you want one. The same ids work in Cursor, in OpenCode and, through a router, in Claude Code.
Where the settings are
In VS Code, the settings icon (⚙️) at the top of the Cline panel opens the provider settings: the API Provider dropdown, and under it the fields the chosen provider needs. For this API the provider is OpenAI Compatible, which is Cline’s entry for any endpoint that answers the OpenAI chat format from a base URL of its own. The official OpenAI entry is a separate provider with its own settings page.
What you enter there is stored in ~/.cline/data/settings/providers.json, which the IDE extension, the cline CLI and the SDK share. The CLI writes the same file with cline auth, so the key is entered once. Cline Settings also holds Use different models for Plan and Act, which gives each mode its own model.
The two modes are the reason that switch exists. Plan mode reads the code and talks the approach through with you before anything changes; Act mode makes the edits, runs the commands and reads their output. Plan turns are mostly input tokens and a short answer, so a fast build does them well; Act turns are where tool calls and edit quality count, so the strong build earns its price there. With the switch off, one model does both and the Model ID field is the only choice to make.
Steps
- Create a key in the console.
- Open the Cline settings (⚙️) and set API Provider to OpenAI Compatible.
- Base URL:
https://api.uncensoredllm.ai/v1. The/v1stays; Cline adds/chat/completionsitself. - API Key: the whole key, starting
sk-ullm-. - Model ID: one id, spelled as the models page shows it. These three are the ones Cline users here run most; the first is the default this guide assumes:
glm-5.3-uncensoredglm-5.3-flash-uncensoreddeepseek-v4.1-flash-abliterated- Open Model Configuration under the model field and type the build’s values from the table below: Context Window and Max Output Tokens as the catalog lists them, Image Support off unless the model page lists image input, and Computer Use on only when the build’s Tool calls column says yes. Input Price and Output Price per million tokens come from the price table further down, so the cost Cline shows on each task matches the console.
- Click Verify to confirm the connection: Cline sends one request to the base URL with the key and the id.
- Optional: in Cline Settings, turn on Use different models for Plan and Act and pick one model for each mode. Plan mode reads and asks; Act mode edits files and runs commands. A fast build such as
glm-5.3-flash-uncensoredfor Plan and a strong one such asglm-5.3-uncensoredfor Act is the usual split, and Cline switches model with the mode.
From a terminal, the CLI stores the same provider, key, model and base URL in one command:
cline auth -p openai-compatible -k "sk-ullm-live-…" -m glm-5.3-uncensored -b https://api.uncensoredllm.ai/v1After that, cline runs with that model, and -m (--model) swaps in another id for a single run. The extension picks the change up from the shared settings file.
What each setting does
- API Provider
- OpenAI Compatiblethe provider entry that takes a base URL of its own; the CLI and SDK call it openai-compatible
- Base URL
- https://api.uncensoredllm.ai/v1where Cline sends every request; the /v1 at the end matters, and nothing goes after it
- API Key
- the whole sk-ullm- keysent as the bearer token on each request; stored in providers.json, not in the project
- Model ID
- glm-5.3-uncensoredthe id exactly as the models page shows it, not the display name; one id per provider entry at a time
- Context Window
- from the table belowthe size Cline keeps the conversation under; it trims older messages before the window fills, so a wrong value trims too early or too late
- Max Output Tokens
- from the table belowthe longest answer Cline asks for; an edit that needs more than this is cut off
- Image Support
- off unless the model page lists image inputlets Cline attach screenshots and pasted images
- Computer Use
- only when Tool calls is yesCline’s docs reserve it for models with tool or function calling
- Input Price / Output Price
- per million tokens, from the price tablewhat Cline uses for the cost it shows on each task; the console bills at the catalog price either way
- Use different models for Plan and Act
- optionalone model per mode; Cline switches with the mode and keeps both selections
Picking a model
Cline sends OpenAI-format requests, and every build on the models page answers in that format. An agent turn carries the conversation, the files Cline read and every tool result so far, so input tokens are most of the bill and a build with a low input price costs the least per turn. Act mode runs on tool calls for its edits and commands, so the Tool calls column decides which builds belong in Act; the context and output columns are the two Model Configuration values to type for each.
| Model | One agent turn | Tool calls | Context Window | Max Output Tokens |
|---|---|---|---|---|
| GLM-5.3 Uncensored | $0.01 | model page | model page | model page |
| GLM-5.3 Flash Uncensored | $0.0047 | model page | model page | model page |
| DeepSeek V4.1 Flash Abliterated | $0.04 | model page | model page | model page |
| DeepSeek V4 Pro Uncensored | $0.04 | model page | model page | model page |
| GLM-5.3 Abliterated | $0.09 | model page | model page | model page |
| GLM-5.3 Flash Code Uncensored | $0.25 | model page | model page | model page |
| GLM-5.3 Uncensored | Uncensored | $0.282 | $0.846 |
| GLM-5.3 Flash Uncensored | Uncensored | $0.1053 | $0.3685 |
| DeepSeek V4.1 Flash Abliterated | Abliterated | $0.8488 | $1.6975 |
| DeepSeek V4 Pro Uncensored | Uncensored | $0.97 | $1.94 |
| GLM-5.3 Abliterated | Abliterated | $2.1825 | $4.365 |
| GLM-5.3 Flash Code Uncensored | Uncensored | $6.00 | $6.00 |
Two things make a real session cost less than the turn figure times the number of turns. Requests bill per token at the model’s price from your prepaid balance, and when a response reports cached input tokens they bill at the model’s cached rate instead of the input rate; a Cline task repeats the same system prompt, rules and early conversation on every turn, so most of a long task’s input is that repeated prefix. And the Plan and Act split above puts the fast build on the turns that only read. The price table carries the input and output rates per million tokens, the two numbers to type into Model Configuration; each model page lists the cached rate beside them.
For coding specifically, the uncensored coding AI guide compares the code builds and costs a full coding day on each.
Check it
List the models your key can call; the id in the Model ID field should be in the answer:
curl https://api.uncensoredllm.ai/v1/models -H "Authorization: Bearer sk-ullm-live-…"Then send one request the way Cline does. -i prints the headers: x-uplink-request-id names the request, and on a non-streamed answer x-uplink-charge is what it cost in USD.
curl -i https://api.uncensoredllm.ai/v1/chat/completions \ -H "Authorization: Bearer sk-ullm-live-…" \ -H "Content-Type: application/json" \ -d '{"model": "glm-5.3-uncensored", "messages": [{"role": "user", "content": "Reply with the single word ok."}]}'In Cline, start a task with one of your ids selected. The request shows on the console’s usage page with its tokens and its charge, and the cost Cline prints under the task matches it when the two prices in Model Configuration are the catalog’s.
Errors and fixes
401 invalid_api_key, which Cline reports as Invalid API Key: the key is wrong, revoked or pasted with a space. Copy it again from the console into the API Key field.404 model_not_found, Cline’s Model Not Found: the Model ID is not on the models page. Check the spelling against the page; the id is the slug, not the display name.- A
404on every request with a correct id: the Base URL has/chat/completionsor a trailing path after/v1. Cline appends the route itself; the field ends at/v1. 402 insufficient_balance: the balance does not cover the request. Top up in the console.402 monthly_limit_reachedmeans the key hit the monthly spend limit you set on it.403 scope_denied: the key is limited to certain models and this is not one of them.429 rate_limited: the key hit its rate limit. The response carriesretry-after.- Connection Errors before any status code: the Base URL has a typo, or a proxy or firewall sits between VS Code and the API. Cline’s networking page covers the proxy settings; the first curl above shows whether the machine reaches the API at all.
- Act mode repeats You did not use a tool in your previous response: the build answered in prose where Cline expected a tool call. Switch the Act model to a build whose Tool calls column says yes, and keep the prose-only builds for Plan.
- Early parts of a long task drop out of the conversation: Cline trims older messages as the context window fills, and a Context Window value smaller than the build’s makes it trim sooner. Type the value from the table; Cline also retries with a shorter conversation when the API reports the window exceeded.
Questions
https://api.uncensoredllm.ai/v1, with the /v1 and nothing after it. Cline adds /chat/completions to that base on every request; a Base URL that already ends in the route answers 404.
The id as the models page spells it, for example the first id in the Steps above, not the display name. Cline sends the string unchanged, so a typo comes back as Model Not Found; the first curl under Check it lists every id the key can call. See the models page.
A key from this console, starting sk-ullm-, pasted whole into the API Key field or passed to cline auth with -k. It is one key for every model on the page, stored in Cline’s providers.json and shared by the extension, the CLI and the SDK.
Per token at the model’s price, from your prepaid balance, with no subscription. The table above costs one agent-sized turn on each build at the live price, and with the catalog prices typed into Model Configuration the cost Cline shows under each task matches the console.
Every model above is on the uncensored model list with its live price per million tokens. Per-token pricing sets the whole catalog side by side, and the family directory groups the builds by base model.