latest tag on npm. “Claude Opus” resolves to a concrete version at runtime (anthropic/claude-opus-5), and when a new generation ships we bump it. Your configuration doesn’t change.
Selecting a model
Pick one under Agent > Model in the console. The API key row names the secret that model needs; store it in the console or in your workflowenv: — see BYOK. Set an org-wide default from the org console, which every repo inherits until it picks its own.

--effort flag.
On Pullfrog Router without a card on file, runs use DeepSeek Flash and the other models are locked, so a trial balance can’t be spent on a premium model. Adding a card unlocks them. Free models and any model you hold a Pullfrog-stored key for are exempt. BYOK is never gated.
Pullfrog for OSS
Repos in Pullfrog for OSS have their model costs covered by us, so the picker offers the set we fund:
Anything outside this set falls back to the default, and the PR footer says so — unless you’ve stored that provider’s key with Pullfrog, in which case the run uses your key and your pick. A key that lives only in GitHub Actions secrets doesn’t opt you out, because the server can’t see it when it decides. Same rule for a per-run
--model flag.
Model resolution
When a run starts, Pullfrog picks a model in this order:modelaction input — your workflow file, or the console. The recommended way.- Auto-select — Pullfrog asks OpenCode which models your keys can reach and takes the best curated match, preferring each provider’s top tier.
- Provider default — OpenCode’s own pick, if nothing matched.
anthropic/claude-opus-5); Pullfrog’s aliases map onto them.
The model also decides which agent runs it: an Anthropic model with Anthropic credentials runs on Claude Code, and everything else runs on OpenCode. Organizations opted in to the experimental Codex CLI agent run OpenAI models on Codex instead, when a Codex subscription or an OPENAI_API_KEY is present. Runs billed through Pullfrog Router or the OSS program always use OpenCode.
Supported providers
Custom providers
The table above is what the console has a card for. It is not the limit of what runs. Pullfrog runs models through OpenCode, which carries the whole models.dev catalog. Any provider there — Groq, Mistral, Cerebras, Together, Fireworks — switches on the moment its API key is in the run’s environment. Nothing to enable, nothing to wait on us for.This is BYOK. Set Model access to BYOK on the Billing card first — on Router billing the server hands the run a Router credential before it starts, and a key that lives only in GitHub Actions secrets is invisible to the server, so it can’t know to step aside.
env:.
model input, so pick Custom (set in workflow) — or Inherit from org if your org has a default. The job log confirms it took:
Routers
OpenRouter and OpenCode Zen are providers like any other, with their own aliases (OpenRouter’s “Claude Opus” →openrouter/~anthropic/claude-opus-latest). To pin an exact version instead of the rolling alias, set the model input to the full specifier:

