Skip to main content

LLM configuration reference

An LLM config tells an agent which model to call and how to authenticate. Each agent references one by name (llmConfigName). The same configs ship with both the Admin UI and the CLI, under src/main/resources/initial-data/llm-configs/.

You select a model per agent by setting its llmConfigName to one of these.

tip

For managing configs in the Admin UI (create / edit / test, and how API keys resolve from environment variables), see Admin UI → LLM Configs.

Supported providers

ConfigProviderDefault modelAuth / endpoint env vars
claude-defaultAnthropicclaude-sonnet-4-6ANTHROPIC_API_KEY
claude-haiku-defaultAnthropicclaude-haiku-4-5ANTHROPIC_API_KEY
openai-defaultOpenAIgpt-5.4-miniOPENAI_API_KEY
azure-openai-defaultAzure OpenAIdeployment gpt-4oAZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_DEPLOYMENT
gemini-defaultGoogle Geminigemini-2.0-flashGEMINI_API_KEY
lm-studio-defaultLM Studio (local)openai/gpt-oss-120bnone — local server at http://localhost:1234
agent-defaultLM Studio (local)openai/gpt-oss-120bnone — the default most agents use
agent-default is the default

Most bundled agents reference agent-default, which points at a local LM Studio server. That means the agents run fully locally out of the box — no API key required — as long as LM Studio is serving a model on http://localhost:1234. Switch an agent to a cloud provider by changing its llmConfigName (e.g. to claude-default) and setting the matching API key.

Anatomy of a config

llm-configs/claude-default.json
{
"name": "claude-default",
"provider": "ANTHROPIC",
"model": "${CLAUDE_MODEL:claude-sonnet-4-6}",
"baseUrl": "https://api.anthropic.com",
"apiKey": "${ANTHROPIC_API_KEY}",
"contextWindowTokens": 200000,
"capabilities": ["TOOL_CALLING", "VISION", "DOCUMENTS"],
"additionalParams": {
"thinking": "adaptive",
"effort": "high"
},
"rateLimit": { "maxConcurrentRequests": 3 },
"retry": {
"enabled": true,
"maxAttempts": 5,
"baseBackoffMillis": 2000,
"maxBackoffMillis": 30000
}
}
FieldMeaning
providerOne of ANTHROPIC, OPENAI, AZURE_OPENAI, GOOGLE_GEMINI, LM_STUDIO
modelModel id. ${VAR:default} reads an env var with a fallback
baseUrlAPI endpoint (override for proxies / local servers)
apiKeyAPI key, usually injected from an env var
contextWindowTokensToken budget used to size the working-memory window
capabilitiesWhat the model reads and does — TOOL_CALLING, VISION, DOCUMENTS, AUDIO_INPUT. Vision and documents decide whether an image or PDF reaches the model as content or as a placeholder. Omitted: the provider's default applies
additionalParamsProvider-specific options (e.g. Anthropic thinking / effort)
rateLimitOptional — cap concurrent requests
retryOptional — automatic retry with backoff

Setting API keys

Export the relevant variable before starting the Admin UI or CLI. For example:

export ANTHROPIC_API_KEY=sk-ant-...
# or
export OPENAI_API_KEY=sk-...

Local providers (lm-studio-default, agent-default) need no key — just a running LM Studio instance.

Adding your own

Drop a new JSON file into initial-data/llm-configs/, give it a unique name, and reference that name from an agent's llmConfigName. In the Admin UI you can also create and edit configs from the LLM Configs screen.