Providers & Models
Kolega Code is provider-agnostic. You choose which LLM provider to use and which model to use for each of several roles.
Provider breadth is table stakes; Kolega Code’s extra control is assigning models by operational role and by agent role, so cheap/fast models can investigate while stronger models plan, build, or think.
Supported providers
Section titled “Supported providers”The agent runtime recognizes these providers, plus any server you point it at via
Custom Endpoints (custom:<id>, OpenAI / Responses /
Anthropic-compatible):
| Provider | Identifier | API key variable |
|---|---|---|
| Anthropic | anthropic |
ANTHROPIC_API_KEY |
| OpenAI | openai |
OPENAI_API_KEY |
| OpenAI (ChatGPT subscription) | openai_chatgpt |
none — sign in with ChatGPT |
google |
GOOGLE_API_KEY |
|
| Groq | groq |
GROQ_API_KEY |
| Together.ai | together |
TOGETHER_API_KEY |
| Fireworks.ai | fireworks |
FIREWORKS_API_KEY |
| x.ai (Grok) | xai |
XAI_API_KEY |
| DashScope (Alibaba) | dashscope |
DASHSCOPE_API_KEY |
| Moonshot (Kimi) | moonshot |
MOONSHOT_API_KEY |
| DeepSeek | deepseek |
DEEPSEEK_API_KEY |
| Z.AI (GLM Coding Plan) | zai |
ZAI_API_KEY |
| Kimi Coding Plan | kimi_coding |
KIMI_CODING_API_KEY |
| Thinking Machines | thinking_machines |
TINKER_API_KEY |
| Tinker | tinker |
TINKER_API_KEY |
| Ollama Cloud | ollama_cloud |
OLLAMA_API_KEY |
| OpenRouter | openrouter |
OPENROUTER_API_KEY |
| Perplexity Agent API | perplexity_agent |
PERPLEXITY_API_KEY |
| Llama (local) | llama |
none — local model |
GPT-6 Astra (gpt-6-astra) is available in the model picker for both openai
and openai_chatgpt. It supports image input, hosted web search, and reasoning
efforts from low through max, with medium as the Kolega Code default.
Reasoning cannot be disabled for Astra. The API provider uses its
1,050,000-token context window
with 128,000 tokens reserved for output. The ChatGPT provider keeps a conservative
400,000-token budget (272,000 input tokens), matching the existing subscription
models. Subscription availability depends on your account and OpenAI’s rollout.
Model roles
Section titled “Model roles”Rather than one model for everything, Kolega Code uses two model slots, so you can match cost and capability to the job:
| Role | Purpose | When unset |
|---|---|---|
| Long context | The main coding model — drives the conversation and most work | The active model you selected |
| Fast | Quick, cheap utility calls (e.g. web_fetch’s page-answering stage) |
Inherits the active model |
An unset slot inherits the active model, so out of the box both run on your main model. Pin the Fast slot when you want a cheaper or different model for that work — Settings shows which model each slot currently resolves to, so an inherited slot is never a surprise.
Set models per role
Section titled “Set models per role”In the TUI, open Settings → Models → Model Slots (or /model) and
give the Fast row a provider and model. Leave a row on
Default (inherit) to keep it following the active model.
A slot may use a different provider from your main model — for example a DeepSeek main model with Anthropic Haiku for fast utility calls. That provider needs its own API key: add it under Settings → Providers, which lists every provider with its credential status and lets you set up more than one before applying. Settings refuses to apply a slot whose provider has no credential.
Equivalently, from the command line:
kolega-code . \ --provider anthropic --model claude-opus-5 \ --fast-provider anthropic --fast-model claude-haiku-4-5-20251001 \ --thinking-effort mediumOr with environment variables — see Environment Variables for the complete list.
How a model gets chosen
Section titled “How a model gets chosen”For each role, Kolega Code resolves the provider and model in this order (first match wins):
- CLI flags — e.g.
--provider,--model,--fast-model, … - Environment variables — e.g.
KOLEGA_CODE_PROVIDER,KOLEGA_CODE_MODEL, the per-role variants, and a project-local.envfile. - Saved slot — the Fast/Thinking provider and model saved in Settings.
- The active model — the provider/model selected in Settings.
Provider and model are always given together. A flag or environment variable that names only one of them is an error: no model is defaulted from a provider, and no provider is inferred from a model id — the same id can be served by different providers on different credentials, so choosing one would silently choose an account.
A configuration is only valid if a provider/model has been selected and every
role’s provider has an API key available (the local llama provider needs none).
If a key is missing, the CLI reports exactly which environment variable is
required.
Per-agent models
Section titled “Per-agent models”The three slots above describe operational roles (main, fast, thinking). Separately, you can give each agent its own model, so a cheap, fast model handles investigation while a stronger model does the building. This applies to top-level agents and to the sub-agents they dispatch.
| Agent role | Key | Runs |
|---|---|---|
| Planning | planning |
The plan-mode agent |
| Building | building |
The main coder agent |
| Investigation | investigation |
Read-only research/exploration sub-agents |
| General | general |
General-purpose sub-agents |
| Browser | browser |
Browser/web sub-agents |
Each role inherits the active (long-context) model unless you give it an override — so with nothing configured, behavior is unchanged.
In the full Settings screen, the Agent Models category lets you select a role and set its provider, model, and effort. Leave a role on Default to inherit; pick a provider, model, and thinking effort to override it.
The Browser role requires a model whose catalog entry supports vision. It does not fall back to another model or run in a text-only mode. If Default resolves to a non-vision model, Settings shows a warning and the browser agent fails with a configuration error when dispatched. Select an explicit vision-capable Browser model to enable it.
Or use environment variables, named KOLEGA_CODE_<ROLE>_PROVIDER / _MODEL / _EFFORT:
# Use a fast model for investigation; everything else uses the active model.export KOLEGA_CODE_INVESTIGATION_PROVIDER=deepseekexport KOLEGA_CODE_INVESTIGATION_MODEL=deepseek-flashexport KOLEGA_CODE_INVESTIGATION_EFFORT=high
# Browser overrides must name a vision-capable model.export KOLEGA_CODE_BROWSER_PROVIDER=anthropicexport KOLEGA_CODE_BROWSER_MODEL=claude-sonnet-4-6Resolution order for a role (first match wins): env var → saved Settings → the
active model. Each override’s provider must have an API key, exactly like the main
roles. (Inside a run_workflow script, an explicit model=/effort= on an agent()
call still takes precedence over these per-role defaults.)
Thinking effort
Section titled “Thinking effort”DeepSeek V4.1 Flash
Section titled “DeepSeek V4.1 Flash”The released model is served under DeepSeek’s canonical deepseek-flash id,
appears as DeepSeek V4.1 Flash in the model picker, and is DeepSeek’s default
model in Kolega. DeepSeek says V4.1 Flash surpasses V4 Pro on performance, cost,
speed, and total time, and routes every other first-party id to it — including
deepseek-v4-pro from 12:00 Beijing Time on September 14, 2026.
kolega-code --provider deepseek --model deepseek-flashdeepseek-v4.1-flash is not an accepted id: DeepSeek’s /models lists exactly
deepseek-flash and deepseek-v4-pro, which are the two models Kolega offers for
this provider. DeepSeek still accepts the retired deepseek-v4-flash,
deepseek-v4-flash-vision-exp, and deepseek-v4.1-flash-expires-on-0910 ids, but
they name nothing distinct (every one of them is served by V4.1 Flash), so Kolega no
longer lists them; settings or sessions still naming one fall back to the DeepSeek
default (deepseek-flash), and passing one explicitly fails with a “not available
for” error.
Live API checks on September 10, 2026 confirmed Responses API access, image input,
function calls, and none/low/high/max reasoning effort (default: high).
The measured context limit is 1,048,576 tokens; Kolega applies the Flash-family
1,000,000-token budget so the input budget retains margin under that hard ceiling.
The API rejects max_output_tokens above 393,216, so Kolega keeps the conservative
384,000-token output budget.
Hosted web search is not available on this route. DeepSeek removed it silently
with the V4.1 release: on September 9, 2026 their Responses guide still listed
web_search as “Supported, executed on the server side” and accepted it under
tool_choice; on September 10 both entries read Ignored. Nothing in DeepSeek’s
release notes, news page, or FAQ mentions the change. Live probes return no
web_search_call items — the model answers that it has no search tool even when
the tool is declared. Kolega therefore does not offer the /web toggle for
deepseek-flash or the retired flash ids. Results from searches made by older
models still replay into context. deepseek-v4-pro still executes hosted search
today, and keeps the toggle until DeepSeek routes it to V4.1 Flash on
September 14 — expect to revisit it then.
Supported effort values
Section titled “Supported effort values”Thinking effort is model-specific. Kolega Code validates the selected value against the active model and resets it to the new model’s default when you switch models in the TUI.
| Provider/model | Values | Kolega Code default |
|---|---|---|
Anthropic claude-fable-5 |
low, medium, high, xhigh, max |
medium |
Anthropic claude-opus-5 |
low, medium, high, xhigh, max |
medium |
Anthropic claude-sonnet-5 |
low, medium, high, xhigh, max |
medium |
DeepSeek deepseek-flash, deepseek-v4-pro |
none, low, high, max |
high |
Moonshot kimi-k3 |
max |
max |
Moonshot kimi-k2.7-code |
auto |
auto |
Moonshot kimi-k2.6 |
auto, none |
auto |
Kimi Coding Plan k3, k3-256k |
max |
max |
Kimi Coding Plan kimi-for-coding, kimi-for-coding-highspeed |
auto, none |
auto |
Z.AI glm-5.3 |
high, max |
max |
Z.AI glm-5.3-flash |
high, max |
max |
Z.AI glm-5.2 |
high, max |
max |
Z.AI glm-5.1 |
auto, none |
auto |
| Fireworks serverless reasoning models | none, low, medium, high, max |
medium |
| Ollama Cloud thinking models | none, low, medium, high, max |
medium |
Ollama Cloud gpt-oss:* |
low, medium, high |
medium |
Google gemini-3.8-flash |
low, medium, high |
medium |
Google gemini-3.7-flash |
low, medium, high |
medium |
Google gemini-3.6-flash |
minimal, low, medium, high |
medium |
Google gemini-3.5-flash-lite |
minimal, low, medium, high |
minimal |
Google gemini-3.5-flash |
minimal, low, medium, high |
medium |
Google gemini-3.1-pro-preview |
low, medium, high |
high |
OpenAI / ChatGPT gpt-6-astra |
low, medium, high, xhigh, max |
medium |
OpenAI gpt-5.6-* |
none, low, medium, high, xhigh, max |
medium |
OpenAI gpt-5.5 |
minimal, low, medium, high, xhigh |
medium |
OpenAI gpt-5.4* |
minimal, low, medium, high |
medium |
OpenAI gpt-5.3-codex-spark |
minimal, low, medium |
low |
xAI grok-4.5 |
low, medium, high |
medium |
xAI grok-4.3 |
none, low, medium, high |
low |
Check what’s active
Section titled “Check what’s active”kolega-code doctor --project .doctor prints the resolved provider/model for each role (long, fast, thinking)
and whether the necessary API keys are present.