Models & LLM Keys
Configure multiple LLM providers and API keys. Set per-workspace or per-agent model overrides.
Supported providers
ElasticClaw currently supports these LLM providers in the server UI and bootstrap path. Use these provider IDs in llm_keys[].provider and as the prefix in default_model.
| Provider | API key env var | Example models |
|---|---|---|
anthropic | ANTHROPIC_API_KEY | anthropic/claude-sonnet-4-6, anthropic/claude-opus-4-5 |
codex | CODEX_API_KEY | codex/o4-mini |
fireworks | FIREWORKS_API_KEY | fireworks/accounts/fireworks/models/kimi-k2p6, fireworks/accounts/fireworks/models/llama-v3p3-70b-instruct |
Named LLM keys
Instead of a single API key, ElasticClaw uses named LLM keys inhub.yaml. Each key has a provider, API key, and optional default model. One key can be marked default: true. Configure more than one key when different workspaces should use different providers or accounts.
llm_keys:
- name: anthropic-prod
provider: anthropic
api_key: ${ANTHROPIC_API_KEY}
default: true
default_model: anthropic/claude-sonnet-4-6
- name: fireworks-kimi
provider: fireworks
api_key: ${FIREWORKS_API_KEY}
default_model: fireworks/accounts/fireworks/models/kimi-k2p6
- name: codex-main
provider: codex
api_key: ${CODEX_API_KEY}
default_model: codex/o4-miniThe default_model field uses the provider/model format (e.g. anthropic/claude-sonnet-4-6).
Server default model
Set a global default model at the server level. All agents use this unless overridden.
default_model: anthropic/claude-sonnet-4-6Per-workspace model override
Workspaces can override the default model and specify which LLM key to use:
# elasticclaw-config.yaml
default_model: fireworks/accounts/fireworks/models/kimi-k2p6
llm_key: fireworks-kimiIf llm_key is set and default_model is empty, ElasticClaw Server resolves the model from the named key's default_model. If nollm_key is set, ElasticClaw Server uses the key marked default: true, then the server-level default_model.