Skip to main content
Route Pullfrog’s model calls through Amazon Bedrock in your own AWS account. Use it to spend AWS credits or an enterprise AWS commitment, keep inference inside AWS for compliance, or use provisioned throughput you already pay for.
Bedrock is bring-your-own-key only. AWS bills inference to your account, and Pullfrog never proxies Bedrock traffic.

Setup

1

Pick Amazon Bedrock on the Provider card

In the Pullfrog console, pick the Amazon Bedrock tile on the Provider card.
Amazon Bedrock picked on the Pullfrog console Provider card
2

Store your AWS credential

Click Set up on the tile and save one of these:
  • A Bedrock API key, created under API keys in the Bedrock console. It becomes AWS_BEARER_TOKEN_BEDROCK.
  • An IAM access-key pair whose policy allows bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream.
The Configure Amazon Bedrock dialog with the bearer token and access key fields
You can store the credential as a GitHub Actions secret instead and map it in the workflow’s env: block.
3

Set the region and model in your workflow

Add AWS_REGION and BEDROCK_MODEL_ID to the env: block of .github/workflows/pullfrog.yml. Neither is secret.
4

Submit the Anthropic use-case form

Anthropic models only: before the first call, submit the one-time use-case form in the Bedrock console. Open Model catalog, pick an Anthropic model, and complete the form.

Variables

A credential stored in the console needs no env: line, because Pullfrog injects it into every run. A value set in the workflow wins over a stored one.
On an account that pays through Pullfrog Router, store the credential in the Pullfrog console. Pullfrog decides how to fund a run before the runner starts, when GitHub Actions secrets are not visible to it, so a run whose credential exists only there falls back to the Router’s default model.

Model IDs

The model menu has a single Amazon Bedrock entry; BEDROCK_MODEL_ID names the actual model. Copy the ID from the Programmatic Access section of the model’s card in Bedrock’s model list. For example:
Cross-region inference profiles carry a geography prefix such as us., eu., jp., au. or global.. Pick the prefix that matches AWS_REGION, or use the bare in-region ID where the model card lists one. To change models, edit BEDROCK_MODEL_ID and commit.

Routing

Pullfrog reads the model ID to choose the agent:
  • Anthropic models, whose ID contains an anthropic segment, run on Claude Code. Pullfrog sets CLAUDE_CODE_USE_BEDROCK=1 for Claude Code.
  • Every other model runs on OpenCode’s amazon-bedrock provider.
An application inference profile ARN routes to OpenCode unless its name contains an anthropic segment. For an Anthropic model behind such an ARN, set PULLFROG_AGENT: claude in the workflow env:.

Mantle endpoint

Pullfrog calls Bedrock’s standard bedrock-runtime endpoint. AWS also serves models on a second endpoint, bedrock-mantle, and a few models run only there, such as Claude Mythos 5. To run an Anthropic model on Mantle, set CLAUDE_CODE_USE_MANTLE and use the model’s Mantle ID:
  • Credential. Use the same credential you stored for Amazon Bedrock. Mantle has its own IAM actions: grant bedrock-mantle:CreateInference, plus bedrock-mantle:CallWithBearerToken when the credential is a Bedrock API key.
  • Model ID. Copy it from the bedrock-mantle row of the model card’s Programmatic Access table. A Mantle ID starts with anthropic. and has no geography prefix and no -v1:0-style suffix. With CLAUDE_CODE_USE_MANTLE set, any ID of that shape goes to Mantle, and every other ID still goes to bedrock-runtime. One consequence: anthropic.claude-opus-5-5 goes to Mantle even though bedrock-runtime serves the same ID in-region in eu-west-2.
  • Region. Mantle has no cross-region inference profiles and serves each model in fewer regions, so check the model card’s bedrock-mantle availability before choosing AWS_REGION.
  • Anthropic models only. Other models run on OpenCode through bedrock-runtime, so the Amazon Bedrock option cannot reach a non-Anthropic model that only Mantle serves.

Troubleshooting