Skip to content

Connect your editor

The Connect an IDE tab writes the configuration for your editor tool, filled in with the tenant’s gateway address, the models a tenant admin chose and, right after you create it, your key. You paste it once per device. Admins and builders use this tab; it is not shown to other roles.

  • A tenant admin has turned on the Code Assistant. If not, the tab says The Code Assistant is not turned on for this tenant. See Code Assistant.
  • You have a key for this device, or you create one in step 2 below. See Developer keys.
  • Your machine can reach the gateway’s address over HTTPS. The address is shown on the Settings tab as Address editors use. When the tab says The gateway’s public address is not known, the configuration shows GATEWAY_HOST where the address goes: ask your platform admin for it.
  1. Open Use cases › Code Assistant. The Connect an IDE tab opens.
  2. Under 1. Create your key, choose the Team your work is charged to, enter a Device name, and select Create key. Copy the key, then select I have copied it.
  3. Under 2. Configure your tool, select your tool under Editor tools: Continue, Cline, Aider, Zed or Any OpenAI client.
  4. Copy each block with Copy the configuration and put it where the tab says. The blocks for each tool are described below.
  5. Restart the tool or reload its configuration, then ask it something.

If you leave the page before configuring the tool, the key is no longer written into the configuration. Continue’s blocks then read it from OLYMPUS_API_KEY in ~/.continue/.env, Aider and Zed from the OPENAI_API_KEY environment variable, and Cline’s fields show $OLYMPUS_API_KEY where you paste the key.

In the examples, <gateway-host> is your gateway’s address, <chat-model> and <autocomplete-model> are the models your admin chose, and <name> is the console’s product name.

Paste into ~/.continue/config.yaml. Continue also gets the autocomplete model, so use it for autocomplete in the editor.

name: <name>
version: 1.0.0
schema: v1
models:
- name: <name> chat
provider: openai
model: <chat-model>
apiBase: https://<gateway-host>/v1
apiKey: ${{ secrets.OLYMPUS_API_KEY }}
roles:
- chat
- edit
- apply
- name: <name> autocomplete
provider: openai
model: <autocomplete-model>
apiBase: https://<gateway-host>/v1
apiKey: ${{ secrets.OLYMPUS_API_KEY }}
roles:
- autocomplete
mcpServers:
- name: <name> codebase
type: streamable-http
url: https://<gateway-host>/mcp
requestOptions:
headers:
Authorization: Bearer ${{ secrets.OLYMPUS_API_KEY }}

When the key is not written in, put it in ~/.continue/.env:

OLYMPUS_API_KEY=<your key>

The mcpServers entry appears only when the tenant has at least one code source. It lets Continue’s agent search your team’s code with the same key.

In Cline’s settings, choose the provider and fill in the fields:

API Provider: OpenAI Compatible
Base URL: https://<gateway-host>/v1
API Key: <your key>
Model ID: <chat-model>

When the tenant has a code source, the tab also gives you an MCP server for Cline. Open MCP Servers in Cline, choose Configure MCP Servers, and add it to cline_mcp_settings.json:

{
"mcpServers": {
"<name> codebase": {
"type": "streamableHttp",
"url": "https://<gateway-host>/mcp",
"headers": { "Authorization": "Bearer <your key>" },
"disabled": false
}
}
}

Set the key in the shell that starts Aider, and put .aider.conf.yml in the repository:

export OPENAI_API_KEY='<your key>'
openai-api-base: https://<gateway-host>/v1
model: openai/<chat-model>

The openai/ prefix tells Aider the model is served by an OpenAI-compatible endpoint. Keep it.

Paste into ~/.config/zed/settings.json, and set the key in the environment Zed starts from:

{
"language_models": {
"openai": {
"api_url": "https://<gateway-host>/v1",
"available_models": [{ "name": "<chat-model>", "display_name": "<name>", "max_tokens": 32768 }]
}
},
"agent": {
"default_model": { "provider": "openai", "model": "<chat-model>" }
}
}
export OPENAI_API_KEY='<your key>'

Zed does not read the key from settings.json: it takes it from OPENAI_API_KEY, or from the key you enter in its agent panel.

Any client that speaks the OpenAI API takes the same base URL, key and model. This call checks all three from a terminal:

curl 'https://<gateway-host>/v1/chat/completions' \
-H 'Authorization: Bearer <your key>' \
-H 'Content-Type: application/json' \
-d '{"model":"<chat-model>","messages":[{"role":"user","content":"Write a function that reverses a string."}]}'

The MCP server at https://<gateway-host>/mcp gives an editor’s agent two tools over the repositories mapped to your key’s team:

Tool What it does
search_codebase Finds the functions, types and files that best match a question, with their repository path, lines, a link and the code. Takes query (up to 4,000 characters) and top_k (1 to 20; 8 by default).
find_usages Lists what uses a file, function, method or type (what calls, imports or inherits it), or with direction: uses, what it uses. Takes path, and optionally symbol, repository, direction and steps (1 to 3; 1 by default).

The server answers only a developer key, in a tenant whose Code Assistant is on. Any MCP client that speaks streamable HTTP and sends the key as a bearer token can use it. For the full tool contract, see Code tools.

  • The tool answers a question.
  • On the Connect an IDE tab, Your devices shows the device’s Last used time, and Your usage this month counts the request.
Symptom Cause and fix
401 from the gateway The key is wrong, expired or revoked. Check Your devices; create a new key if the status is Expired or Revoked.
403 naming the model The key may call only the models chosen when it was created. If an admin changed the models since, create a new key.
The address does not answer The configuration still shows GATEWAY_HOST, or your network cannot reach the gateway. Ask your platform admin for the address.
The codebase tools are missing The tenant has no code source yet, or the configuration was copied before one was added. Copy the configuration again.
The codebase tools answer 403 The Code Assistant was turned off, or the key is not a developer key. Application keys from Keys and budgets do not reach the codebase tools.
403 with guardrails_blocked The prompt carried a secret or looked like a prompt injection, and the tenant’s policy enforces. See Guardrails.
429 with budget_exceeded Your team’s budget for the period is spent. A tenant admin raises it on Keys and budgets.