BYOK is the recommended setup: you keep your existing provider relationship, rate limits, and billing, and you pay the provider directly at their prices. If you’d rather not manage keys at all, Pullfrog Router reaches every model through Pullfrog’s gateway at raw provider cost with no markup.
If you want to use Codex access from your ChatGPT account instead of buying OpenAI API tokens, see Codex subscription — there’s a dedicated one-command CLI for it (
npx pullfrog auth codex) that’s simpler than pasting keys. For a Claude Pro/Max subscription, see Claude subscription (npx pullfrog auth claude).How to provide keys
Pullfrog can pick up provider keys from two places. Use the one that fits your team, you can mix and match per provider.Pullfrog secrets (recommended)
Store your provider keys directly in the Pullfrog console. Pullfrog encrypts them at rest, injects them into the agent runtime at dispatch, and never writes them to your repository or workflow files. Nopullfrog.yml edits required.
- Open
pullfrog.com/console/<account>and find the Model usage section of the Billing card. - Switch to the BYOK tab.
- Find your provider card, click Set up, and follow its credential instructions.



GitHub Actions secrets (alternative)
If you’d rather keep keys in GitHub Actions secrets, for example, because you already have org-wide secret rotation tooling there, Pullfrog also reads keys from the workflowenv: block.
-
Add the secret in GitHub. Org-level (
github.com/organizations/<org>/settings/secrets/actions→ New organization secret) or repo-level (github.com/<org>/<repo>/settings/secrets/actions→ New repository secret). -
Map it into
pullfrog.yml:
env: and Pullfrog secrets, the workflow value wins. This lets you override Pullfrog-stored secrets per-workflow when needed.
Free models
A handful of models are completely free and work out of the box with zero key setup:- Big Pickle (OpenCode)
Amazon Bedrock
If you want to route through your own AWS Bedrock account instead of going to a model vendor directly, see Amazon Bedrock for the multi-secret setup. Bedrock is BYOK only and uses pinned model IDs (no aliasing) so enterprise compliance and provisioned-throughput contracts stay predictable.Google Vertex AI
If you want to route through your own Google Cloud project, see Google Vertex AI for the service-account setup. Vertex AI is BYOK only and uses pinned model IDs throughVERTEX_MODEL_ID.
OpenAI-compatible endpoints
If you route through your own gateway or run your own inference — a LiteLLM proxy, a Cloudflare AI Gateway, a self-hosted vLLM server — see OpenAI-compatible endpoints. One entry covers every such endpoint: you supply the base URL, key, model ID, and that model’s two token limits throughOPENAI_COMPATIBLE_*. BYOK only.
Troubleshooting
“Missing API key” error in GitHub Actions The agent couldn’t find a valid key at runtime. Check, in order:- The selected model’s required env var is set somewhere, Pullfrog secrets (Billing → Model usage → BYOK) or a workflow
env:mapping. - The secret name matches the provider’s env var exactly (e.g.
ANTHROPIC_API_KEY, notCLAUDE_API_KEY). - If you used GitHub secrets, the secret is mapped in your
pullfrog.ymlenv:block, Actions only injects what the workflow file lists.

