Model Providers
Tendril v2 supports flexible model provider routing, allowing you to run [coding agents](../06_CodingAgents/_Index.md) against European sovereign infrastructure, unified API gateways, cloud model hubs, or local on-premises endpoints.
In Tendril v2, model provider execution routes through two primary mechanisms:
1. **Native Bring Your Own LLM (BYO LLM)**: Built-in settings cards and direct [configuration](../03_Configuration/01_Setup.md) in `config.yaml` for [OpenAI](https://openai.com), [Anthropic](https://www.anthropic.com), and European sovereign provider [Berget AI](01_Berget.md).
2. **Bundled OpenCode Sidecar**: Tendril v2 ships with the [OpenCode](https://opencode.ai) binary bundled out of the box (`binaries/opencode`), providing direct access to multi-provider gateways and custom inference backends without requiring manual CLI installations (see [OpenCode Agent](../06_CodingAgents/04_OpenCode.md)).
Supported Providers
How Configuration Works
1. In the Tendril Desktop App
Navigate to **Settings > Coding Agent**:
2. In `config.yaml`
All provider and agent settings persist to `~/.tendril/config.yaml` (see [Configuration Setup](../03_Configuration/01_Setup.md)):
codingAgent: openaiproxy # or opencode, claude, codex, gemini, etc.
codingAgents:
- name: openaiproxy
environmentVariables:
OPENAI_API_KEY: "sk-..."
OPENAI_BASE_URL: "https://api.openai.com/v1"
ANTHROPIC_API_KEY: "sk-..."
ANTHROPIC_BASE_URL: "https://api.anthropic.com"
profiles:
- name: deep
model: "gpt-5.6-sol"
effort: high
- name: balanced
model: "gpt-5.6-terra"
effort: medium
- name: quick
model: "gpt-5.6-luna"
effort: low
[!TIP]
When saving BYO settings, Tendril's daemon automatically synchronizes base URLs: the [OpenAI](https://openai.com) SDK expects `/v1` at the end of the URL, whereas the [Anthropic](https://www.anthropic.com) SDK expects the bare host without `/v1`.
3. Via the Bundled OpenCode Sidecar
For gateway providers (such as [OpenRouter](06_OpenRouter.md), [Evroc](02_Evroc.md), [Scaleway](04_Scaleway.md), or [Opper](05_Opper.md)):
1. Launch OpenCode via terminal or through Tendril's embedded terminal:
opencode
2. Type `/connect` and select your provider, or run `opencode auth login`.
3. Set your active coding agent in Tendril to OpenCode under **Settings > Coding Agent** (`codingAgent: opencode`).
4. Tendril dispatches all plan execution tasks through the configured [OpenCode](../06_CodingAgents/04_OpenCode.md) runtime.
[!NOTE]
Tendril v2 enriches available model metadata automatically via [models.dev](https://models.dev). The cache is stored locally in [SQLite](https://www.sqlite.org) and refreshed in the background or on demand via `POST /api/models/refresh`.