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.

ProviderAPI key env varExample models
anthropicANTHROPIC_API_KEYanthropic/claude-sonnet-4-6, anthropic/claude-opus-4-5
codexCODEX_API_KEYcodex/o4-mini
fireworksFIREWORKS_API_KEYfireworks/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.

yaml
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-mini

The 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.

yaml
default_model: anthropic/claude-sonnet-4-6

Per-workspace model override

Workspaces can override the default model and specify which LLM key to use:

yaml
# elasticclaw-config.yaml
default_model: fireworks/accounts/fireworks/models/kimi-k2p6
llm_key: fireworks-kimi

If 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.