
# Continue

[Continue](https://continue.dev/) is an open-source coding assistant
for VS Code and JetBrains, with a terminal agent called `cn`. Both
read the same `config.yaml` and accept any OpenAI-compatible
endpoint.

Verified against the `cn` CLI **1.5.47**. The config below is re-run
against that release every week, including a tool call round trip.
Upstream has made the Continue repository read-only; 1.5.47 and the
VS Code extension 2.1.0 are its last releases.

## Configure

Add LowRouter as a model in `~/.continue/config.yaml`:

<!-- verify: continue-config -->
```yaml
name: LowRouter
version: 1.0.0
schema: v1
models:
  - name: LowRouter Mistral Large
    provider: openai
    model: auto/mistralai/mistral-large-2512
    apiBase: https://api.lowrouter.ai/v1
    apiKey: ${{ secrets.LOWROUTER_API_KEY }}
    roles: [chat, edit, apply]
    capabilities: [tool_use]
```

`${{ secrets.LOWROUTER_API_KEY }}` is read from the environment or
from `~/.continue/.env`, so the key stays out of the config:

```bash
export LOWROUTER_API_KEY=sk-lr-...
```

The editor extensions pick the model up from the same file. From a
terminal, `cn` runs one task headless:

```bash
cn -p --config ~/.continue/config.yaml "Summarise what this repository does"
```

Details of this config:

- `provider: openai` is Continue's OpenAI-compatible client;
  `apiBase` ends in `/v1`.
- `capabilities: [tool_use]` is required. Continue cannot tell that a
  LowRouter model supports tools, and without it agent mode runs with
  no tools at all.
- Continue sends model names that look like OpenAI's o-series or
  `gpt-5` to the Responses API. LowRouter serves it, so those models
  work either way; `useResponsesApi: false` on the model entry turns
  that off.
- `cn -p` only runs tools that need no approval. Add `--auto` to
  allow all tools, which is what an unattended task usually needs.

## Picking a model

Agent mode acts through function calling, so pick a model with the
*function-calling* tag. [The model browser filtered to
them](/models?function_calling=yes) lists every one. Each model is
another entry under `models:`; the `name` is what the model picker
shows.

The example uses `auto/mistralai/mistral-large-2512`, served from the
EU, which has been through `cn`'s tool loop in our runs.

## Recommended setup

- Use a dedicated key, as with any agent, so its spend is attributed
  and it can be revoked on its own.
- Set `defaultCompletionOptions` (`contextLength`, `maxTokens`) on a
  model entry when the model's limits differ from Continue's
  defaults; the model browser lists both.

## Troubleshooting

- `404` on every request: `apiBase` is missing `/v1`.
- Agent mode never reads or edits files: `capabilities: [tool_use]`
  is missing from the model entry.
- `401`: `LOWROUTER_API_KEY` is not set in the environment that
  started the editor or `cn`, and not in `~/.continue/.env`.
