Runtime Setup
Agent Teams is a coordination layer. The actual model work runs through supported local runtimes and providers.
Quick start - choosing your first runtime
| If you ... | Start with |
|---|---|
| Already use Claude Code or have Anthropic access | Claude - familiar auth, minimal setup |
| Use Codex or OpenAI-based workflows | Codex - native integration |
| Want to try Agent Teams without signup or API keys | OpenCode - use the included free model with no auth |
| Want multi-model routing or broad provider coverage | OpenCode - most flexible, one config for many backends |
| Are not sure which runtime fits | OpenCode - covers the most provider options and lets you switch later |
Start with one runtime and one teammate. Confirm one launch works before expanding to multimodel.
Prerequisites
Before launching a team, make sure:
- The runtime binary is installed and on your
PATH. - Your provider account has active access to the model you intend to use, unless you start with the included free OpenCode model with no auth.
- The project path exists and is readable.
- The app and your terminal use the same home/config environment when you test auth manually.
TIP
Start with a single teammate and one provider. Confirm one launch works before adding multimodel lanes.
Quick terminal checks:
command -v claude
command -v codex
command -v opencodeRun the command for the runtime you plan to use. If it prints nothing, install the runtime or fix PATH before launching a team.
Supported paths
| Path | Default CLI | Typical providers | Use when |
|---|---|---|---|
| Claude | claude | Anthropic | You already use Claude Code or Anthropic-backed workflows |
| Codex | codex | OpenAI | You want Codex-native runtime integration |
| OpenCode | opencode | OpenRouter and many backends | You want multimodel routing and broad provider coverage |
The app detects supported runtimes and guides setup from the UI when possible.
Provider access
Agent Teams has no paid tier of its own. You can start with the included free OpenCode model with no auth - no registration, API keys, or credit card. For additional models, bring the provider access you already have: subscriptions, local runtime auth, or API keys depending on the path you choose.
- Claude and Codex paths rely on their respective CLI auth tools.
- OpenCode can run the included free model with no auth first. Other OpenCode models may need provider-specific API keys in a config file (e.g.,
openrouter,openai,anthropic).
Auth configuration
Claude Code
Run the standard auth flow in a terminal:
claude auth loginThen verify the CLI is reachable:
claude --versionIf the packaged app reports "not logged in" while your terminal works, compare the $HOME and PATH seen by the app with the terminal you used for login. The auth diagnostic log described in Troubleshooting is the best starting point.
Codex
Install and authenticate via OpenAI's CLI flow:
codex loginThen verify the runtime is reachable:
codex --versionCodex-native launches use Codex account state and model catalog data when available. If a model is missing from the UI, refresh provider status before editing team prompts.
OpenCode
To use an available free model without provider login, select it in the app. For other OpenCode providers, connect the provider through the UI or configure OpenCode. This optional global ~/.config/opencode/opencode.json example reads the key from an environment variable:
{
"provider": {
"openrouter": {
"options": { "apiKey": "{env:OPENROUTER_API_KEY}" }
}
}
}Set OPENROUTER_API_KEY in the environment before launching OpenCode, or connect OpenRouter through the provider login flow. Keep API keys out of project files. OpenCode also accepts a project-level opencode.json for project-specific settings. See the OpenCode config guide for precedence and supported fields. If you connect OpenRouter through provider login, remove options.apiKey from this example; use one authentication method at a time.
Use the exact provider name that OpenCode expects. If you set a custom provider name, double-check it against the provider ID you use in the model string (for example openrouter/moonshotai/kimi-k2.6 would use the openrouter block).
Example model strings:
| Model string | Provider block that must exist |
|---|---|
openrouter/moonshotai/kimi-k2.6 | openrouter |
openai/gpt-5.4 | openai |
anthropic/claude-sonnet-4-6 | anthropic |
If OpenCode launches but a teammate never becomes deliverable, inspect lane evidence before assuming the model ignored the prompt. See Troubleshooting.
Local models
Open Provider Settings to add Ollama, LM Studio, Atomic Chat, llama.cpp, or a custom OpenAI-compatible server. Start the local server first, then select its preset, discover a model, and use Add and test before assigning it to a teammate. Ollama defaults to http://127.0.0.1:11434/v1 and LM Studio to http://127.0.0.1:1234/v1; change the URL if your server uses another address.
A model must actually call tools, not merely advertise tool support. Team launch checks tool use with at least 16K context; for Ollama, raise its default 4K context before trying to launch a teammate. A 32K context is recommended. Local model availability and tool support depend on the model and server.
Multimodel mode
Multimodel mode can route work through many provider backends via OpenCode-compatible configuration. Use it when you need provider flexibility or want teammates to use different model lanes.
Model lanes
Each teammate can use a different providerId + model pair. In the team edit UI, expand member options to override the global defaults.
A conservative multimodel setup:
| Role | Provider | Why |
|---|---|---|
| Lead | Claude or Codex | Keep coordination on the provider you trust most |
| Builder | OpenCode | Use broad model routing for implementation work |
| Reviewer | Claude, Codex, or a second OpenCode model | Separate review judgment from the builder lane |
Avoid mixing many unfamiliar providers in the first launch. Confirm one small task per lane before assigning broad work.
Prelaunch checklist
Before launching a team:
- The selected runtime is installed
- The runtime binary is in the environment
PATH - Provider auth is configured for the chosen backend
- The provider has access to the exact model string you specify
- The project path exists and is readable
When to switch runtime paths
Switch when the current path is blocked by model availability, rate limits, provider capabilities, or team role needs. Keep the same project and team workflow, but validate one small task after switching.
Treat setup errors as setup problems
If auth fails, a model name is rejected, or the runtime binary cannot be found, fix the setup first. Do not change team prompts or project code to work around a runtime configuration issue.
Use this decision table:
| Symptom | Better first action |
|---|---|
| Binary not found | Fix installation or PATH |
| Login works in terminal but not app | Check Electron auth diagnostic log and environment |
| Model rejected | Verify exact model id in the provider runtime |
| Repeated 429s | Lower concurrency or switch model/provider |
| OpenCode lane stuck | Inspect lane manifest and opencode-sessions.json |
