Models & LLM Keys
Configure multiple LLM providers and API keys. Set per-workspace or per-agent model overrides.
Supported providers
ElasticClaw supports API-key providers and subscription-backed coding providers in the server UI and bootstrap path. Use these provider IDs in llm_keys[].provider and as the prefix in default_model.
| Provider | Credential | Config field | Example models |
|---|---|---|---|
anthropic | API key | api_key: ${ANTHROPIC_API_KEY} | anthropic/claude-sonnet-4-6, anthropic/claude-opus-4-5 |
codex | Subscription login | auth_profile: codex-default | codex/gpt-5.5, codex/gpt-5.5-high |
grok | Subscription login | auth_profile: grok-default | grok/grok-build-0.1, grok/grok-4.3 |
fireworks | API key | api_key: ${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 plus either an API key or an auth profile, and an 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-chatgpt
provider: codex
auth_profile: codex-default
default_model: codex/gpt-5.5
- name: grok-build
provider: grok
auth_profile: grok-default
default_model: grok/grok-build-0.1The default_model field uses the provider/model format (e.g. anthropic/claude-sonnet-4-6).
Fireworks model catalog
Fireworks model choices in the hub are loaded from the Fireworks List Models API when a Fireworks key is configured. The examples on this page are representative only; the dropdown should show the currently available Fireworks models returned by your account.
If a model is not listed yet, choose the custom model option and enter the full Fireworks model ID, such as fireworks/accounts/fireworks/models/....
Codex and Grok subscription logins
Codex and Grok Build are not configured with API tokens. They use the same subscription-backed account login that their coding CLIs use. Your provider subscription controls access, model availability, and usage limits; ElasticClaw only stores the resulting device-login auth profile.
- Open Settings → Models in the ElasticClaw hub.
- Add a model key and select Codex or Grok Build.
- Enter a stable CLI auth profile name, such as
codex-defaultorgrok-default. - Click Login, open the device-login URL, and enter the one-time code shown in the hub.
- After the profile is saved, choose the default model and save the model key.
How device login works
The hub starts a provider device-login flow and shows the URL plus a one-time code. After you approve the login in the provider's browser flow, the hub stores an opaque model_auth_profiles entry and links it from the named llm_keys entry with auth_profile.
llm_keys:
- name: codex-chatgpt
provider: codex
auth_profile: codex-default
default_model: codex/gpt-5.5
model_auth_profiles:
- name: codex-default
provider: codex
mode: device
auth_state: <managed by the hub login flow>You normally should not hand-edit auth_state. During claw bootstrap, ElasticClaw restores the saved profile into the sandbox in the format expected by the selected provider CLI.
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.