Skip to main content

Providers

elanous can use several model providers. Pick one as the default with elanous config set llm.provider <id>; you can still choose a different one per run or per role.

ProviderHow you payWhat you needSet up
openai-codexChatGPT subscriptiona ChatGPT planelanous login openai-codex
grokxAI subscription or API creditXAI_API_KEY or a signed-in grok CLIput the key in ~/.cache/xai_api_key
openrouterprepaid creditOPENROUTER_API_KEYput the key in ~/.cache/openrouter_api_key
anthropicAPI creditANTHROPIC_API_KEYput the key in ~/.cache/anthropic_api_key
geminiAPI creditGEMINI_API_KEYput the key in ~/.cache/gemini_api_key
localfreean OpenAI-compatible local serverelanous local setup

elanous doctor shows which of these resolve on your machine. elanous usage shows what is left on each account.

What auto does​

With llm.provider left on auto (the default), elanous uses a ChatGPT sign-in first. When one ChatGPT account runs low, it moves to another signed-in account; when none is left, it follows llm.fallbackChain (default: Codex accounts, then Grok), and after that any other provider that has a key. Set llm.fallbackChain to ["codex-rotate"] if you never want it to move to Grok.

Kimi, GLM and Qwen through OpenRouter​

One OpenRouter key gives access to many vendors' models. Model ids look like openrouter/<vendor>/<model>.

elanous registry discover --source openrouter # preview the model list (no key needed)
elanous registry discover --source openrouter --write # add it to your local catalog

Use it for the part of a run that writes code, and keep your default for the rest:

elanous harness say --child-llm-provider openrouter --child-llm-model openrouter/moonshotai/kimi-k3 "<sentence>"

Or make it the default: elanous config set llm.provider openrouter.

Choosing a model by role​

elanous harness plan --role-llm <role>=<provider>[/<tier>] "<sentence>" picks a model for one role in one run; the roleLlm setting makes it permanent. Tiers are budget, balanced, better, best, loaded; elanous tier shows the model behind each.

Did it actually use the model I chose?​

Check after a run instead of assuming:

elanous logs --since 1h --grep <model id>

Enterprise endpoints (Bedrock, Vertex)​

Bedrock and Vertex are not supported today — they are deliberately blocked. The agent driver scrubs CLAUDE_CODE_USE_BEDROCK and CLAUDE_CODE_USE_VERTEX from the child environment so that child agents run on subscription OAuth rather than on metered API credentials.