Browse the docs
On this page

OpenRouter

For OpenRouter, discovery uses its public catalog without an API key. Select a concrete model ID and save a key through login:

set -lx POPPET_PROVIDER openrouter
bun run start provider models
set -lx POPPET_MODEL anthropic/claude-sonnet-4.5
bun run start auth login openrouter
bun run start provider verify

Credentials#

See API keys for protected storage, environment overrides, stdin input, and logout. OpenRouter uses POPPET_OPENROUTER_API_KEY and <POPPET_DATA_DIR>/auth/openrouter.json.

Models and requests#

Verification requires a catalog model with tool support and makes two requests that consume OpenRouter credits. The key is redacted and omitted from config. The adapter accepts both assistant and coding workloads through Chat Completions. It derives tools, temperature, output limits, and context size from catalog metadata. Models that generate images or audio and dynamic model routers such as openrouter/auto and openrouter/free are excluded.

Requests require support for every requested parameter and disable provider fallbacks. A stable session_id groups the exchange. Plain reasoning and the complete structured reasoning sequence are kept through tool calls. Credit exhaustion, rate limits, upstream failures, and interrupted streams produce typed errors; requests are not automatically retried. OpenRouter routing, reasoning continuation, and stream errors.

See provider selection for verification with a chosen provider.

In early development