Every model your agents need, on providers that stay up

Frontier and open-weight models are one line of an agent config. Every call routes through Ellipsis, which retries throttled providers and rolls over to another when one has an outage. Or point an agent at your own Anthropic key, your AWS Bedrock account, or a gateway you run.

Install on GitHub
Documentation
01

Frontier and open-weight models, one config field

Claude, GPT, and open-weight models from Z.ai, MiniMax, and Moonshot are all selectable per agent. Open weights cost a fraction of a frontier model on the same harness, so the digest agent and the reviewer do not have to run on the same tier.

ModelsGET /models
Claude Opus 5defaultclaude-opus-5
Claude Fable 5claude-fable-5
Claude Sonnet 5claude-sonnet-5
Claude Haiku 4.5claude-haiku-4-5-20251001
GPT-5.6 TerraCodexbedrock-gpt-5.6-terra
Open weights
GLM-5.2Z.aiglm-5.2
MiniMax M3MiniMaxminimax-m3
Kimi K3Moonshotkimi-k3
Every model runs the same harness, sandbox, and budget

Every selectable model, with the id you name in YAML

02

Changing model is changing one line

The model is a field in the agent config, so switching it is a pull request, not a migration. Nothing else moves: the same sandbox, the same scoped credentials, the same budget, the same transcript. Try a cheaper model on one agent and read the cost breakdown before rolling it out.

agent.yamlone line to switch
claude:  model: claude-opus-5# or an open-weight model, same harnessclaude:  model: glm-5.2# or run the agent on Codex insteadcodex:  model: bedrock-gpt-5.6-terra

claude.model, codex.model, and llm.proxy

03

A provider outage does not fail your agents

Every model call goes through the Ellipsis gateway, not straight to a vendor. A throttled or failing provider is retried with backoff, and if it stays down the same request rolls over to the next provider in the chain. The agent finishes its turn without knowing anything happened.

Provider chainPOST /v1/messages
AWS Bedrockthrottled
priority 1 · 429 after 4 attempts, 1s / 2s / 4s backoff
Anthropicserved
priority 2 · same request, same session, no restart
The agent never sees the outage. Its turn completes.

Retry with backoff, then roll over to the next provider

04

Bring your own key, Bedrock, or gateway

Connect an Anthropic key or your AWS Bedrock account and tokens bill you directly against credits and commitments you already hold. Or register a gateway you run, such as LiteLLM, OpenRouter, Portkey, or a Cloudflare AI Gateway, and point individual agents at it. Every route is verified with a live call before it carries traffic, and no provider credential ever enters a sandbox.

Where tokens goSettings · Models
Your Anthropic keyaccount wide
Tokens bill your Anthropic credits and commitments
Your AWS Bedrock accountaccount wide
Cross-account role, your region, your AWS bill
Your LLM proxyper agent
LiteLLM, OpenRouter, Portkey, Cloudflare AI Gateway
No credential ever enters a sandbox
agent.yaml
llm:  proxy: proxycfg_8f2k1x9q

Your key, your AWS account, or your own proxy

How model routing works

Which model runs, who pays for the tokens, and what happens when a provider has a bad day.

Claude, end to end

Opus, Sonnet, Haiku, and Fable, from the current generation back through the pinned snapshots your agents were tested on.

GPT for Codex agents

An agent with a codex block runs GPT-5.6 in three tiers, validated at parse time so an impossible model never reaches a sandbox.

Open weights, same harness

GLM-5.2, MiniMax M3, and Kimi K3 speak the same API as Claude, so the harness, tools, and sandbox are unchanged.

Per-agent choice

The model is a config field, so the summarizer and the reviewer can sit on different tiers in the same repo.

Published rates

Every selectable model lists its input, cache-read, and output rate in the dashboard and at GET /models, from the same table the gateway bills on.

Retry before rollover

A throttled or failing provider is retried several times with exponential backoff and jitter before anything moves.

Cross-provider failover

When a provider stays down, the same request advances to the next one in the chain rather than failing the turn.

Rollover without a deploy

Provider priority is data, not config in a container, so the chain reorders in seconds during an incident.

Responses cached

An identical repeated call is served from the gateway cache, so retries and replays cost nothing.

Your Anthropic key

Connect a key and tokens bill your Anthropic account, account-wide, with no YAML change.

Your Bedrock account

Ellipsis assumes a cross-account role in your AWS account, so token spend lands on your AWS bill and your credits.

Your LLM proxy, per agent

Register one or more gateways and opt agents in with llm.proxy. Registering one moves no traffic by itself.

Verified before it routes

Every bring-your-own route runs a live streamed completion first, and a route that stops working is disabled rather than left to fail mid-session.

No silent fallback

A broken bring-your-own route fails loudly with the reason recorded. Ellipsis never quietly moves your traffic back to its own accounts.

Credentials stay out of sandboxes

Sandboxes get a synthetic session key; the real provider credential is attached server-side on the way out.

Budgets bind either way

Session cost breakdowns show real token spend whoever pays for it, so spend caps work on your key exactly as on ours.

Frequently asked questions

Claude Opus, Sonnet, Haiku, and Fable; GPT-5.6 in three tiers for agents on the Codex harness; and the open-weight models GLM-5.2, MiniMax M3, and Kimi K3. Name the model in the agent config and the session runs on it. The full list with per-million-token rates is in the dashboard and at GET /models.

Yes. GLM-5.2 from Z.ai, MiniMax M3, and Kimi K3 from Moonshot are selectable per agent and cost a fraction of a frontier model. They speak the same API as Claude, so the harness, the tools, and the sandbox are identical; only the model id in the config changes.

Every call routes through the Ellipsis gateway. A throttled or failing provider is retried with exponential backoff, and if it is still failing the same request rolls over to the next provider in the chain, so the turn completes instead of erroring. Provider priority is stored as data, so we can reorder the chain during an incident without a deploy.

Yes, either one. Connect it on the Models page and it routes every session account-wide, with tokens billed to your Anthropic credits or your AWS bill instead of your Ellipsis invoice. One routes at a time: enabling a key disconnects an enabled Bedrock connection. Sandbox compute and the platform fee are unchanged.

Yes. Register any gateway that serves the Anthropic Messages API, such as LiteLLM, OpenRouter, Portkey, or a Cloudflare AI Gateway, then point an agent at it with the llm.proxy field. This one is per agent rather than account-wide, so you can move one agent to your gateway without touching the rest.

Yes. Session cost breakdowns show real token spend regardless of who is billed for it, so per-session, per-agent, and per-developer caps bind exactly the same. A session that reaches its cap stops, whether the tokens ran on your key or ours.

No, deliberately. If your key, Bedrock account, or gateway is disabled or broken, the session fails with the reason recorded rather than quietly routing to Ellipsis and billing you for it. Every route is verified with a live completion before it carries traffic, and re-verification disables a route that has stopped working.

Explore the platform