How to use Darkbloom with Cline
Updated · Checked with Cline extension 4.1.25 and CLI 3.0.73 on
Short answer: yes. In Cline, choose the OpenAI Compatible provider, set the Base URL to https://api.darkbloom.dev/v1, paste your Darkbloom key and choose a model ID that Darkbloom lists, such as gemma-4-26b. Then check that the line under the message box reads openai-compat: followed by your model. If the model was not saved, Cline asks for its default, gpt-4o, and Darkbloom refuses it with a 403. Darkbloom runs open-weight models on Macs and is a public alpha, so try a small task first.
At a glance
| Item | Value |
|---|---|
| Base URL | https://api.darkbloom.dev/v1 |
| Key | Created on the API console page of the Darkbloom console. Cline saves it as plain text in ~/.cline/data, a folder that the extension and the CLI share. |
| Billing | Prepaid credits, charged per token, with a minimum of $0.0001 per request. Minimum deposit $0.50 (Darkbloom docs). |
| Model in Cline | Provider OpenAI Compatible, and a Darkbloom model ID such as gemma-4-26b as the Model ID, with no prefix |
| Tested with | Cline extension 4.1.25 and CLI 3.0.73 on October 22, 2026 |
| Darkbloom status | Public alpha (Darkbloom console) |
| Where to set it | In the extension: the gear icon, then API Configuration. In the CLI: cline auth. |
How do I use Darkbloom with Cline in VS Code?
Pick the OpenAI Compatible provider in Cline’s settings, point it at Darkbloom, and make sure Cline saves the model. Cline’s docs say the same extension runs in VS Code, Cursor, Windsurf, VSCodium and Antigravity, and that JetBrains IDEs have a plugin. We ran the VS Code extension, so the steps below describe that one.
- Get a Darkbloom API key. Open the Darkbloom console and sign in, add credits (the minimum is $0.50, and Darkbloom says credits are non-refundable and never expire), then choose API console in the console’s left menu and Create API key (Darkbloom’s docs call this page Settings → API Keys). The console shows the key only once, so copy it right away. Every key spends from your prepaid balance, so add only what you are willing to spend while you test, and watch the first tasks, because Cline sends one request for every step it takes.
- Install Cline. In VS Code, install Cline from the Marketplace. Editors that use Open VSX, such as VSCodium and Windsurf, get it from Open VSX, and JetBrains IDEs have their own plugin. Then click the Cline icon in the activity bar.
- Choose your own key. The first time Cline opens, it asks “How will you use Cline?”. Choose Bring my own API key and click Continue. If you have used Cline before, click the gear icon at the top of its panel instead, and stay on API Configuration.
- Fill in the provider form. In API Provider, type
OpenAI Compatibleand choose it. Then enter the base URL and paste your key into OpenAI Compatible API Key.https://api.darkbloom.dev/v1YOUR_DARKBLOOM_API_KEY - Choose the model, and make Cline save it. Open the Model ID list. Cline fills it from Darkbloom’s model list, so it shows the IDs that Darkbloom returns, in an order that changes from one load to the next. The box already shows the first ID, but Cline has not saved it. If you then choose that same ID, nothing changes, and Cline keeps its own default,
gpt-4o, which Darkbloom refuses. So choose any other model first, then open the list again and choose the one you want, for examplegemma-4-26b. The last entry in the list, Use custom model ID…, lets you type an ID instead.gemma-4-26b - Check the saved model, then send a message. Click Continue, or Done if you came in through the gear icon. The line under the message box has to read
openai-compat:gemma-4-26b. If it readsopenai-compat:gpt-4o, the model was not saved: click the gear icon, choose a different model in the Model ID list, then choose yours, and click Done. Then send a message such asSay hello in five words. - Optional: enter Darkbloom’s prices. Cline shows a cost of $0.0000 for a model it has no prices for. Click the gear icon, open Model Configuration, and enter the model’s prices from the table further down in Input Price / 1M tokens and Output Price / 1M tokens. For
gemma-4-26bthey are 0.042 and 0.22. Then click Done.
What does each setting in Cline mean?
These are the fields of the provider form, from top to bottom. The Model Configuration fields are in a section that opens when you click its heading.
| Setting | What to enter, and what it does |
|---|---|
| API Provider | Choose OpenAI Compatible. Cline then sends OpenAI Chat Completions requests, with streaming and tool definitions, which Darkbloom accepts (checked in a request log). |
| Base URL | https://api.darkbloom.dev/v1. It has to end at /v1, because Cline adds /chat/completions itself. Without /v1, Darkbloom answers 404. |
| OpenAI Compatible API Key | Your Darkbloom key. Cline sends it as Authorization: Bearer <key> (checked with a test server) and keeps it as plain text on your computer. |
| Model ID | A Darkbloom model ID, sent as it is with no prefix. The box shows a first entry that is not saved until you choose a model, as step 5 explains. |
| Supports Images | Checked by default. It tells Cline that it may attach images. Darkbloom’s Features column marks the models with image input. We did not test images. |
| Context Window Size | 128000 by default, which is below the 131,072 tokens that Darkbloom lists for gemma-4-26b, so it can stay. Cline shows it as the limit in the bar at the top of a task. |
| Max Output Tokens | “not set” by default. Then Cline sends no limit, and Darkbloom adds its own default of 8192 (Darkbloom docs). When we set 1000, the request carried max_tokens: 1000. |
| Input Price / 1M tokens and Output Price / 1M tokens | 0 by default, so Cline shows $0.0000. Enter the prices from the table below to get Cline’s own cost figure. It is an estimate: Darkbloom bills from its own usage log. |
We left Custom Headers, the Azure options, Temperature, Reasoning Effort and the choice of separate Plan and Act models at their defaults.
Can I use Darkbloom with the Cline CLI?
Yes. The CLI, cline, runs Cline in your terminal. Cline’s docs say it needs Node.js 20 or newer, and recommend 22, which is what we used.
- Install the CLI. You need a Darkbloom key and credits first, as in step 1 of the VS Code steps.
npm install -g cline - Save the Darkbloom settings. This command needs no prompts. It prints
Provider configured: openai-compatible (gemma-4-26b)and saves the key as plain text in~/.cline/data/settings/providers.json. Because the key is on the command line, it is also in your shell history.cline auth -p openai-compatible -k YOUR_DARKBLOOM_API_KEY -m gemma-4-26b -b https://api.darkbloom.dev/v1 - Run one prompt. In a project folder that is under Git, give the CLI a prompt in quotes. It has to have more than one word:
cline hiis read as a command name and fails.cline "Say hello in five words."
-m <model-id> on a run uses another model and, in our test, was also saved as the model for later runs. -k <key> on a run does the same for the key. -P openai-compatible picks the provider. A model that thinks first, such as EigenLabs/Qwen3.8-27B-4bit-mtp, prints its thinking in the terminal before the answer. The extension and the CLI use the same ~/.cline/data folder: after we saved the provider in the extension, the CLI ran with it and needed no cline auth. We did not test the other direction. Cline’s docs say cline auth without options opens an interactive setup. We did not run it.
Which Darkbloom model should I use with Cline?
Use any ID that GET /v1/models returns. On October 23, 2026 it listed 12 models, shown here from the cheapest output price up, in US dollars per million tokens. Check the live prices before you rely on a number; that public list also names models that are not online. A key can be limited to some models, and Darkbloom refuses any other with a 403 (see the errors table).
| Model ID | Context window, tokens | Input, $ per million tokens | Output, $ per million tokens | Features Darkbloom lists |
|---|---|---|---|---|
gpt-oss-20b | 131,072 | $0.018 | $0.09 | none listed |
nvidia-nemotron-3.5-lightning | 262,144 | $0.025 | $0.12 | tools, reasoning |
EigenLabs/Ternary-Bonsai-2-9B-MLX-2bit | 262,144 | $0.08 | $0.13 | tools, reasoning |
Qwen3.5-9B | 262,144 | $0.08 | $0.13 | tools, image input |
glm-5.3-flash | 262,144 | $0.065 | $0.18 | tools, reasoning, image input |
gemma-4-26b | 131,072 | $0.042 | $0.22 | tools, reasoning, json mode, image input |
mimo-v2.6-flash-mopd | 1,048,576 | $0.10 | $0.28 | tools, reasoning |
nvidia-nemotron-3.5-super | 262,144 | $0.075 | $0.35 | tools, reasoning, json mode, image input |
ternary-bonsai-2-27b | 262,144 | $0.075 | $0.50 | tools, reasoning, image input |
qwen3.6-35b-a3b-vl-mtp-mxfp8 | 262,144 | $0.05 | $0.70 | tools, image input |
qwen3.5-35b-a3b | 262,144 | $0.065 | $0.75 | tools, image input |
EigenLabs/Qwen3.8-27B-4bit-mtp | 262,144 | $0.035 | $2.20 | tools, image input |
Cline sends tool definitions with every request (6 in the extension and 25 in the CLI, seen in a request log), so choose a model whose Features column lists tools. We ran gemma-4-26b for the steps and the file edits, and EigenLabs/Qwen3.8-27B-4bit-mtp for a one-line message. A key can be limited to some models, and the Model ID list shows every model, so a listed model can still be refused with a 403.
How much does Cline cost with Darkbloom, and how do I keep it low?
Darkbloom bills the tokens you use from your prepaid balance: (input tokens × input price + output tokens × output price) ÷ 1,000,000, with a minimum of $0.0001 per request. Cline sends far more than your message, because its own instructions and its tool definitions go with every request. In the extension, a one-line message sent 2,575 tokens in and got 8 back, and the CLI sent 4,500 in for the same line. At the October 23, 2026 prices those are worth $0.00011 and $0.000191 on gemma-4-26b, and Darkbloom billed $0.000109 and $0.00019. After that Cline takes steps, and each step is another request that carries the conversation so far. Our file edit in the extension took 7 requests of 2,596 to 3,430 tokens in, and Darkbloom billed $0.000805 for all of them. In the CLI the same kind of edit took 6 requests of 4,514 to 5,277 tokens, billed $0.00123 in total. A larger project sends more. A large request, such as 20,000 tokens in and 2,000 out, costs about $0.00128.
Some requests were billed less than that formula gives. Darkbloom’s model list has a cached-input price (for gemma-4-26b, $0.021 per million tokens, half of its input price), which would fit requests that repeat earlier text, but Darkbloom’s docs do not say how it is applied. Its usage log shows what each request was billed.
| What Cline does | What it costs you | How to reduce it |
|---|---|---|
| Every step is a request | Each request carries the whole conversation so far, so it grows: our file edit in the extension went from 2,596 to 3,430 tokens in over 7 requests. | Keep tasks small, and start a new task for a new job, because a new task starts with a short conversation. |
| No answer length limit by default | Cline sent no max_tokens, so Darkbloom added its default of 8192 (Darkbloom docs). A long answer is billed for the tokens it has. | Set Max Output Tokens under Model Configuration. We set 1000, and the request carried max_tokens: 1000. |
| Cline’s own cost figure | It shows $0.0000 until you enter prices, and with prices entered it is an estimate. After one short message it showed $0.0001. For our seven-request edit it showed less than Darkbloom billed. | Enter the prices as in step 7, and use Darkbloom’s usage log, in the console or at GET /v1/payments/usage, for the real amount. |
Check your real spend in the Darkbloom console, or call GET /v1/payments/usage with your key (Darkbloom docs: usage history).
Where does Cline keep my API key?
As plain text, in a folder in your home directory. The extension writes the key to ~/.cline/data/settings/providers.json and to ~/.cline/data/secrets.json, and cline auth writes it to providers.json. In our Linux test those files could be read only by their owner (mode 600). We found no setting that keeps the key out of them, so treat the folder like a password file: do not commit it, copy it into a backup you share or sync it. If it leaks, delete the key in the Darkbloom console and create a new one.
| Source | What the CLI 3.0.73 did |
|---|---|
The key saved by cline auth, or by the extension | Used. It won over the environment variables below. |
-k <key> on a run | Used for that run, and saved as the new key for later runs. |
OPENAI_API_KEY in your shell | Not used while a key is saved. |
DARKBLOOM_API_KEY in your shell | Not read. |
The extension has one source, the form: it sent the key from the form as Authorization: Bearer <key>.
What do the common errors mean?
The extension shows an error in the task, in red. The CLI prints a line that starts with error:. Cline adds its own sentence in front of the extension’s 401 and 403 errors, and Darkbloom’s own answer is the “Provider response” line after it. These are the messages you are most likely to see. Each was reproduced with Cline 4.1.25 or the CLI 3.0.73, except the empty-balance row.
| What you see | Cause | Fix |
|---|---|---|
Extension: Provider "openai-compatible" rejected the configured credentials. and then Provider response: this API key is not permitted to use model "gpt-4o" | Cline asked for gpt-4o, its default, because no model was saved. The line under the message box reads openai-compat:gpt-4o. Darkbloom answered 403. Cline’s first sentence blames the credentials, but the key is fine. | Click the gear icon, choose a different model in the Model ID list, then choose yours, and click Done. Check that the line under the message box shows your model. |
The same two lines with another model name, or in the CLI error: this API key is not permitted to use model "..." | Darkbloom answered 403 model_not_allowed. Either the key has an Allowed models list that does not include this model, or the ID is not a real one: Darkbloom gives the same answer for an ID that does not exist. | Check the ID letter for letter against GET /v1/models. If it is listed, open the key on the console’s API console page, choose Edit, and add the model to Allowed models, or leave that list blank to allow every model. |
Extension: Provider response: invalid API key. CLI: error: invalid API key | Darkbloom does not accept the key. This is the text its API returns for a wrong key. | Copy the key again in full, without quotes or spaces, or create a new key in the console. |
404 page not found (Request ID: ...) | The Base URL does not end at /v1. Cline adds /chat/completions itself. | Use exactly https://api.darkbloom.dev/v1. In the CLI, run the cline auth command again with it as -b. |
CLI: error: Unauthorized: Please make sure you're using the latest version of Cline and re-authenticate your Cline account. | The CLI has no Darkbloom settings, for example on a new computer or under another user, so it used its default provider, which is Cline’s own. This message comes from Cline’s service, not from Darkbloom. | Run the cline auth command from the steps above. |
CLI: error: Unknown command or unquoted prompt: hi | A prompt of one word is read as a command name. | Put more than one word in the quotes, as in cline "Say hello in five words.". |
CLI: error: auth quick setup requires --apikey <key> | You gave cline auth some options but no key. | Add -k with your key. |
| A 403 with no model named | If your balance is too low, Darkbloom answers 403 (Darkbloom docs: insufficient balance), and every request fails the same way. Cline will probably show its “rejected the configured credentials” sentence again. | Add credits in the console under Billing. |
| Cline shows a cost of $0.0000 on every task | No prices are set, so Cline has nothing to multiply. It is not an error, and the requests are still billed. | Enter the prices under Model Configuration, as in step 7. |
Is Darkbloom private, and is it ready for production?
Not yet for sensitive work. Darkbloom’s quickstart calls the service “an experimental research prototype” and says not to use it in production applications, and its console labels it Public alpha. Darkbloom says prompts are encrypted to a verified provider Mac. Its security overview says the coordinator re-encrypts each request for the chosen provider and runs in a confidential VM. An independent review by Wavect (September 2026) reads Darkbloom’s technical documentation as saying that both the coordinator and the provider handle your prompt as plaintext inside protected boundaries.
Cline sends your messages, the files it reads or edits, the output of the commands it runs, its own instructions and its tool list to Darkbloom. Do not send secrets, customer data or code you are not allowed to share.
Cline’s own usage reporting is a separate setting and is on by default. Cline’s docs say it leaves out your code and prompts, except for requests to Cline’s own providers. To turn it off in VS Code, click the gear icon, open General, and clear “Allow error and usage reporting”. For the CLI, Cline’s docs say to set telemetryOptOut to true in ~/.cline/data/settings/global-settings.json. We did not test that one.
If the CLI has no Darkbloom settings, it uses Cline’s own provider, cline, instead of Darkbloom (Cline docs). Run the cline auth command above before the first prompt, so that a prompt never goes to the wrong service.
How this guide was checked
- A paid request from Cline to api.darkbloom.dev worked on October 22, 2026. We ran the steps on this page again as written, from a clean state. Cline extension 4.1.25 in VS Code 1.143 answered a message and made a file edit through tool calls, and Cline CLI 3.0.73 answered
cline "Say hello in five words."and made a file edit, all withgemma-4-26b. Darkbloom’s usage log shows those requests billed between $0.0001 and $0.000239. - The setup steps were compared with Cline’s own docs (linked under Sources) on October 22, 2026. Where the docs and the program differ, this page follows what we saw: the docs’ v0 example says to click Verify, and the form in extension 4.1.25 has no such button; the docs list a Computer Use setting under Model Configuration, and 4.1.25 shows only Supports Images, Context Window Size, Max Output Tokens, the two prices and Temperature; and the docs do not mention that the Model ID is a list loaded from the Base URL, whose first entry looks chosen but is not saved.
- We ran the Cline extension 4.1.25 (the build from Open VSX) in VS Code 1.143, run as a web server and opened in a browser, from a clean state, several times. It showed the first-run screens, took the provider form with the values on this page, loaded the model list from Darkbloom, answered a message, made a file edit through tool calls with approval clicks, and showed the error messages in the table below. To see what it sends, we also ran it through a local forwarder that passed each request to Darkbloom unchanged and logged its size and settings.
- We ran the Cline CLI 3.0.73 on Linux with Node.js 22, installed with
npm install -g cline:cline authwith the options on this page, one-line prompts, a file edit (it ran a command, read the file and edited it without asking), the-mand-koptions, and the errors in the table below. We also checked which key it uses and where it saves its settings. - The error rows were reproduced with the extension or the CLI against Darkbloom, except the “invalid API key” rows, which used a test server that returns Darkbloom’s real reply for a wrong key. Darkbloom’s own text for an empty balance was not captured, because that needs an empty balance.
- The request sizes and amounts in the cost section come from Darkbloom’s usage log. We matched each request to its row by time and token counts and, for the extension’s file edit, by the job ID that Darkbloom returns. The same request can be billed a little differently from one run to the next.
- The model list, context windows, features and prices come from
GET /v1/modelson October 22, 2026 (it needs a key). The key steps in the console come from the console’s own page text. We tested with a key that already existed, so we did not click through key creation ourselves. - Our test machine adds that key to requests to Darkbloom on their way out, so in the runs against Darkbloom the form and the
cline authcommand held this page’s placeholder. That Cline sends the key it is given was checked separately, with a local test server that prints theAuthorizationheader it receives: the extension and the CLI both sentBearerand the key we had entered. - Not run: the JetBrains plugin, VS Code on the desktop and other editors, the Windows commands and paths, Plan mode, MCP servers, image attachments, the CLI’s interactive screens (
clinealone andcline authwithout options), Node.js versions other than 22, and an empty balance. - Our Darkbloom link was opened in a clean browser profile on October 22, 2026. It saved the referral code and the page said the code “is saved and will be applied after you sign in”. We did not create an account to test the sign-in step itself.
About this guide
BloomGauge is a free Mac app for people who run Darkbloom providers, so we benefit when Darkbloom has more paying demand. We are independent of Darkbloom and not endorsed by it. Our Darkbloom sign-in links carry our referral code, BLOOMGAUGE. If you sign in to Darkbloom after opening one, Darkbloom attaches the code to your account and pays us a share of your eligible token spend. Darkbloom funds that reward, so it does not change your price.
Sources
- Cline docs: OpenAI Compatible provider
- Cline docs: installing Cline
- Cline docs: authorization and provider setup
- Cline docs: CLI overview
- Cline docs: CLI reference
- Cline docs: telemetry
- Cline on the VS Code Marketplace
- Cline on Open VSX
- Darkbloom docs: quickstart
- Darkbloom docs: chat completions
- Darkbloom docs: authentication and API keys
- Darkbloom docs: add credits
- Darkbloom docs: usage history
- Darkbloom live prices (GET /v1/pricing)
Found something out of date? Tell us in #bloomgauge on the Darkbloom Slack or at Support.