How to use Darkbloom with Continue
Updated · Checked with Continue extension 2.1.0 and CLI 1.5.47 on
Short answer: yes. In Continue’s config.yaml, add a model with provider: openai, apiBase: https://api.darkbloom.dev/v1, a Darkbloom model ID as model and apiKey: ${{ secrets.DARKBLOOM_API_KEY }}, and keep the key in the file ~/.continue/.env. Chat and Agent mode in Continue then run on Darkbloom. 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. Continue reads it from a .env file, as ${{ secrets.DARKBLOOM_API_KEY }} in config.yaml. |
| Billing | Prepaid credits, charged per token, with a minimum of $0.0001 per request. Minimum deposit $0.50 (Darkbloom docs). |
| Model in Continue | provider: openai and model: <model-id>, for example gemma-4-26b, with no prefix |
| Tested with | Continue extension 2.1.0 and CLI 1.5.47 on October 22, 2026 |
| Darkbloom status | Public alpha (Darkbloom console) |
| Config file | ~/.continue/config.yaml, which the VS Code and JetBrains extensions and the cn command-line tool all read (Continue docs) |
How do I use Darkbloom with Continue in VS Code or JetBrains?
Add a Darkbloom model to Continue’s config.yaml and keep your key in a .env file. Continue’s docs say the VS Code and JetBrains extensions use the same config file. 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 sessions, because Agent mode sends one request for each step it takes.
- Install Continue. In VS Code, install Continue from the Marketplace. In a JetBrains IDE, install Continue from its plugin page. The first time Continue runs, it creates the folder
~/.continue(on Windows,%USERPROFILE%\.continue) with a starterconfig.yaml. - Save your key in a .env file. Continue’s extensions cannot read environment variables from your shell (Continue docs), so the key goes in a file. Create
~/.continue/.env(on Windows,%USERPROFILE%\.continue\.env) and put one line in it: the variable name, an equals sign and your key, with no quotes and no spaces.DARKBLOOM_API_KEY=YOUR_DARKBLOOM_API_KEYchmod 600 ~/.continue/.env - See which models you can use. On macOS and Linux, load the key from that file and ask Darkbloom for its model list, which gives each ID with its context window and prices. On Windows, pick an ID from the table further down this page instead.
set -a; . ~/.continue/.env; set +a curl -s https://api.darkbloom.dev/v1/models \ -H "Authorization: Bearer $DARKBLOOM_API_KEY" - Add Darkbloom to config.yaml. Open it at
~/.continue/config.yaml, or from Continue’s panel: click the gear icon, then Configs, then the gear next to your config. The panel has to be wide enough to show its settings, so drag its edge if it says the screen is too small. A new install starts with an empty model list,models: []. Replace the file’s contents with this, or, if you already have models or other settings in it, add only the model entry undermodels:.name: Darkbloom version: 0.0.1 schema: v1 models: - name: Darkbloom gemma-4-26b provider: openai model: gemma-4-26b apiBase: https://api.darkbloom.dev/v1 apiKey: ${{ secrets.DARKBLOOM_API_KEY }} defaultCompletionOptions: contextLength: 131072 - Choose the model and send a message. Save the file. Continue reloads it by itself within a few seconds, and the model appears in the model menu under the chat box. Pick it and send a message such as
Say hello in five words.If you created or changed the.envfile after Continue started, open the config menu above the chat box (it shows your config’s name,Main Configon a new install) and choose Reload, because Continue reads.envfiles when it loads the config.
What does each line of the Continue config mean?
This is the model entry from the steps above, line by line.
| Line | What it does |
|---|---|
provider: openai | Continue sends requests in the OpenAI Chat Completions format, which Darkbloom accepts. Continue’s docs use this provider for any OpenAI-compatible API. |
model: gemma-4-26b | The Darkbloom model ID, copied from GET /v1/models. Continue sends it as it is, with no prefix (checked on the wire). |
name: Darkbloom gemma-4-26b | The label in Continue’s model menu. Use any name you like. |
apiBase: https://api.darkbloom.dev/v1 | Where Continue sends requests. It has to end at /v1, because Continue adds /chat/completions itself. A trailing slash is fine. |
apiKey: ${{ secrets.DARKBLOOM_API_KEY }} | Makes Continue read the key from the DARKBLOOM_API_KEY line of a .env file, so the key is not written in config.yaml. |
contextLength: 131072 | The model’s context window in tokens, from Darkbloom’s list. Without it, Continue assumes 32,768 tokens for a model it does not know (Continue’s source code). |
name, version and schema at the top | The header of a Continue config file. schema: v1 is the file format. |
Three optional settings are not in that entry. maxTokens, under defaultCompletionOptions, sets the longest answer Continue asks for: the extension asks for 4,096 tokens when you set nothing (seen in its requests), and the CLI sends no limit, so Darkbloom adds 8192 (Darkbloom docs). roles says what the model is used for. Continue’s default is chat, edit, apply and summarize (config.yaml reference), so Darkbloom is not used for tab autocomplete unless you add autocomplete; read the cost section first. capabilities tells Continue what the model can do. It was not needed for gemma-4-26b: Agent mode and tool calls worked without it. If Agent mode is greyed out for another model, add tool_use under capabilities, but only for a model whose Features column below lists tools (Continue docs).
Can I use Darkbloom with the Continue CLI?
Yes. The CLI, cn, reads the same ~/.continue/config.yaml and .env files as the extensions (Continue docs), so after the steps above it already uses Darkbloom.
- Install the CLI. It needs Node.js 20 or newer (Continue docs). Continue’s CLI quickstart also lists a shell installer for macOS and Linux and one for Windows.
npm i -g @continuedev/cli - Run one prompt. In your project folder,
-psends a single prompt, prints the answer and exits:cn -p "Say hello in five words."
To use another config file, add --config ./my-config.yaml. To let the agent change files without asking, add --auto, which allows every tool, so use it only in a folder you can restore. We ran headless mode (-p) with a local config, and it needed no Continue login. We did not open the interactive screen (cn alone), which Continue’s docs say asks you to log in to Continue or enter an Anthropic key on the first launch.
Which Darkbloom model should I use with Continue?
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 |
Add one entry per model under models:, each with its own name and model, and Continue lists them all in its model menu. For Agent mode, choose a model whose Features column lists tools, and set contextLength to that model’s context window.
How much does Continue cost with Darkbloom, and how do I keep it low?
Continue adds no charge. 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. Continue sends more than your message, so a short question is a bigger request than it looks. In Agent mode, the default for new chats, one short message sent 1,985 tokens in and got 8 back, because Continue adds its own instructions and 12 tool definitions. At the October 23, 2026 prices that is worth $0.000085 on gemma-4-26b, so Darkbloom billed the $0.0001 minimum. The same message in Chat mode sent 397 tokens in. A large request, such as 20,000 tokens in and 2,000 out, costs about $0.00128. In Darkbloom’s usage log each of the short messages above was billed $0.0001. One request of our file edit, 2,091 tokens in and 78 out, was billed $0.000104, just over the minimum.
| What Continue does | What it costs you | How to reduce it |
|---|---|---|
| Agent mode takes steps | Every step is another request, and each one carries the whole conversation so far. Our file edits took three or four requests of about 1,900 to 2,300 tokens each, and a bigger project sends more. | Use Chat mode when you do not need tools, and keep tasks small. |
| Chat titles | After your first message in a chat, Continue sends a second request with the same model to name the chat (86 tokens in and 6 out in our test). It is billed at least $0.0001. | Turn off Enable Session Titles in Continue’s settings (gear icon, then Settings). We checked that Continue then sends one request. |
| Tab autocomplete | Not used with this setup, because Continue’s default roles leave it out. If you add the autocomplete role, Continue sends a request as you type, and each one costs at least $0.0001, so 1,000 completions cost at least $0.10. We did not test it. | Leave it off, or give autocomplete a model that is cheap to call. |
To limit the length of each answer, set maxTokens as described above. Check your real spend in the Darkbloom console, or call GET /v1/payments/usage with your key (Darkbloom docs: usage history).
Where does Continue look for my API key?
Continue swaps ${{ secrets.DARKBLOOM_API_KEY }} for the value of DARKBLOOM_API_KEY that it finds in the places below. Keep the key in ~/.continue/.env, as in the steps above: it worked in the extension and in the CLI.
| Place | Extension 2.1.0 | CLI 1.5.47 |
|---|---|---|
~/.continue/.env | Found | Found |
<project>/.continue/.env | Found | Found |
<project>/.env, in the project’s root folder | Not found | Found |
Your shell’s environment, for example export DARKBLOOM_API_KEY=... | Not tested. Continue’s docs say the extensions cannot read it. | Found |
Continue’s docs list the project’s root .env for the extensions too, but in our test the extension did not read it. Use ~/.continue/.env or <project>/.continue/.env. Keep the key in one place: when two places had a value, the extension and the CLI picked different ones. Continue reads .env files when it loads the config, so after you change one, choose Reload in the config menu. Continue’s docs say to restart the IDE, and Reload was enough in our test.
If you keep the key in a project folder, add the file to .gitignore so it is never committed. Do not paste the key into config.yaml itself if you commit or share that file.
echo ".continue/.env" >> .gitignoreWhat do the common errors mean?
The extension shows an error in a window titled “Error handling model response”. Its last part, under “View error output”, is Darkbloom’s answer, and the CLI prints the same text as {"status":"error","message":"..."}. These are the messages you are most likely to see. Each was reproduced with Continue 2.1.0 or the CLI, except the empty-balance row.
| What you see | Cause | Fix |
|---|---|---|
API key secret not found. Add the apiKey to your secrets or set it directly in your config. and then 401 invalid API key | Continue found no DARKBLOOM_API_KEY in a .env file, so it sent the placeholder text in place of your key, and Darkbloom answered 401. | Check the file name and the variable name, which have to match ${{ secrets.DARKBLOOM_API_KEY }}. Write the line without quotes, then choose Reload in the config menu. Use ~/.continue/.env. |
This error usually happens when the API key is actually invalid. Check your API key value or try a new one. and then 401 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. |
Likely cause: not authorized to access the model deployment. and then 403 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. |
Invalid apiBase: https://api.darkbloom.dev/ and Model/deployment not found for: gemma-4-26b, then 404 404 page not found | The apiBase does not end at /v1. Continue adds /chat/completions itself. | Use exactly https://api.darkbloom.dev/v1 as apiBase. |
An error window with 403 and no model named | If your balance is too low, Darkbloom answers 403 (Darkbloom docs: insufficient balance), and every request fails the same way. | Add credits in the console under Billing. |
You changed the key in .env, but Continue still uses the old one | Continue reads .env files when it loads the config, so it keeps the old value until the next load. | Choose Reload in the config menu, or restart the IDE. |
In the CLI, a different key from the one in your .env file | A DARKBLOOM_API_KEY that is still exported in your shell wins over the .env files in the CLI. | Run unset DARKBLOOM_API_KEY, or export the right key. |
| The model menu says “Select model” and lists nothing | Continue has no model under models:. A new install starts with models: []. | Add the entry from the steps above and save the file. Keep its spaces, which YAML uses to show which line belongs to which. |
| “Agent might not work well with this model”, next to Agent in the mode menu | Continue shows this for models it does not know. It is a caution, not an error. | Nothing to fix: Agent mode worked with gemma-4-26b. If Agent is greyed out with “Not supported”, see capabilities in the settings section. |
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.
Continue sends your messages, the files and code you attach and, in Agent mode, whatever its tools read from your project, such as the contents of a file, to Darkbloom. Do not send secrets, customer data or code you are not allowed to share.
How this guide was checked
- A paid request from Continue to api.darkbloom.dev worked on October 22, 2026. We ran the steps on this page again as written. Continue extension 2.1.0 in VS Code 1.143 answered a message in Chat mode and in Agent mode and made a file edit through tool calls, and Continue CLI 1.5.47 answered
cn -p "Say hello in five words.", all withgemma-4-26b. Darkbloom’s usage log shows those requests billed between $0.0001 and $0.000104. - The setup steps were compared with Continue’s own docs (linked under Sources) on October 22, 2026. Where the docs and the program differ, this page follows what we saw: the config menu shows your config’s name (
Main Config), not “Local Config”, Reload picked up a changed.envfile where the docs say to restart the IDE, and the extension did not read a.envfile in the project’s root folder where the docs say it does. - We ran the Continue extension 2.1.0 (the Linux build from Open VSX) in VS Code 1.143, run as a web server and opened in a browser, with a fresh Continue folder. It created the starter
config.yaml, loaded the config from this page, reloaded it when the file changed, and answered from Darkbloom in Chat mode and in Agent mode. 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. In Agent mode it read a file, edited it through tool calls and showed the change as a diff. We also checked the config menu, the settings page, the model and mode menus and the error windows shown above. - We ran the Continue CLI 1.5.47 on Linux, installed with
npm install: headless prompts (cn -p) with--configand with the default~/.continue/config.yaml, a chat and an--autofile edit through tool calls. We also checked which.envfiles and which environment variables it reads. - 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.
- Two details come from Continue’s source code on GitHub, not from a test: the 32,768-token default context length, and the order in which the extension looks for
.envfiles (our tests agreed with that order). - 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
.envfile held this page’s placeholder line. That Continue sends the value from a.envfile was checked separately, with a local test server that prints theAuthorizationheader it receives. - Not run: the JetBrains extension, the VS Code desktop app, the Windows commands and paths, tab autocomplete, Edit and Apply, image attachments, codebase indexing and the CLI’s interactive screen.
- 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
- Continue docs: OpenAI and OpenAI-compatible models
- Continue docs: config.yaml reference
- Continue docs: FAQs, including secrets and .env files
- Continue docs: how to understand configuration
- Continue docs: model capabilities
- Continue docs: CLI quickstart
- Continue docs: CLI configuration
- Continue on the VS Code Marketplace
- Continue source code: how secrets are found (LocalPlatformClient.ts)
- Continue source code: default context length and token limit (constants.ts)
- 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.