Verbs

agentproto provider-preset

agentproto provider-preset list [--json]

List the built-in provider gateway presets shipped in @agentproto/provider-presets (moonshot, openrouter, requesty, opencode-go, opencode, deepseek, xai, xai-anthropic, llm-endpoint, openai, openai-direct, mistral, groq, nebius, huggingface, deepinfra), each with its live key-env status. A preset is static data a claude-code / claude-sdk agent can front via a mode or the base_url option — there is no install step, no setup pipeline, and no credentials store.

Requires a running daemon (serve.md or daemon.md). Discovery reads ~/.agentproto/runtime.json, same as tunnel list.

Status

Status is answered from the daemon's process.env — where agents actually spawn — not from your shell. A preset can read ready in the daemon while the key is unset in the terminal you typed the command into, and vice versa.

StatusMeaning
readyThe preset's API-key env var is set (e.g. MOONSHOT_API_KEY).
availableThe env var isn't set. Export it in the daemon's environment to make the preset ready, or pass an auth_token at spawn.

A key env var can be shared by two presets, in which case both read the same status off it. opencode-go (the flat OpenCode Go subscription) and opencode (OpenCode Zen, pay-as-you-go) both declare OPENCODE_API_KEY — opencode's own convention — so one exported key flips both to ready even though only one of the two balances is actually funded. They are separate billing rails with separate secrets; which one a session bills is decided by its auth profile's endpoint (--access-profile), not by the shared env name.

Subverbs

list

Lists every preset via GET /presets.

FlagDefaultDescription
--jsonfalseEmit the raw AdapterEntry<PresetInfo>[] array instead of the table.

The table prints one row per preset: ID, STATUS, SCHEMA, KEY ENV, DEFAULT MODEL, and BASE URL. SCHEMA is the preset's wire flavor — anthropic for the gateways claude-code/claude-sdk front directly via ANTHROPIC_BASE_URL, openai for one reached through the local OpenAI-compatible proxy. A preset with no default model prints —; pick one per session with --model.

Examples

# What's shipped, and which keys the daemon can see
agentproto provider-preset list

# Machine-readable — e.g. which presets are ready
agentproto provider-preset list --json | jq -r '.[] | select(.status=="ready") | .slug'
ID            STATUS      SCHEMA      KEY ENV                 DEFAULT MODEL       BASE URL
moonshot      ready       anthropic   MOONSHOT_API_KEY        kimi-k2.7-code      https://api.moonshot.ai/anthropic
openrouter    available   anthropic   OPENROUTER_API_KEY      —                   https://openrouter.ai/api
requesty      available   anthropic   REQUESTY_API_KEY        —                   https://router.requesty.ai
opencode-go   available   anthropic   OPENCODE_API_KEY        minimax-m3          https://opencode.ai/zen/go
opencode      available   anthropic   OPENCODE_API_KEY        claude-sonnet-4-6   https://opencode.ai/zen
deepseek      available   anthropic   DEEPSEEK_API_KEY        deepseek-v4-pro     https://api.deepseek.com/anthropic
xai           available   openai      XAI_API_KEY             grok-4.5            http://localhost:18090/v1
xai-anthropic available   anthropic   XAI_API_KEY             grok-4.5            https://api.x.ai
llm-endpoint  available   anthropic   LLM_ENDPOINT_ACCESS_TOKENS  kimi-k2.7-code  http://localhost:18090
openai        available   openai      OPENAI_API_KEY          gpt-4.1             http://localhost:18090/v1
openai-direct available   openai      OPENAI_API_KEY          gpt-4.1             https://api.openai.com/v1
mistral       available   openai      MISTRAL_API_KEY         mistral-large-latest https://api.mistral.ai/v1
groq          available   openai      GROQ_API_KEY            —                   https://api.groq.com/openai/v1
nebius        available   openai      NEBIUS_API_KEY          —                   https://api.studio.nebius.com/v1
huggingface   available   openai      HF_TOKEN                —                   https://router.huggingface.co/v1
deepinfra     available   openai      DEEPINFRA_API_KEY       —                   https://api.deepinfra.com/v1/openai

Exit codes: 2 when no daemon is found (or an unknown subcommand is passed), 1 when the /presets request fails.

See also

  • serve.md — the daemon that answers /presets
  • models.md — runnable models per adapter, with provider-key status
  • auth.md — store provider API keys