provider=bedrock and your chosen AWS region to the workflow at dispatch time, and the workflow assumes an IAM role via OIDC before invoking Claude. This page walks through the full setup.
How authentication works
The workflow uses GitHub OIDC to assume an IAM role — there is no static AWS key path. On each run, the workflow callsaws-actions/configure-aws-credentials to exchange the GitHub OIDC token for a short-lived STS session. This happens twice per run: once before the main implementation step and once before the gap analysis step, so long-running jobs do not hit STS token expiry.
Only OIDC is supported. Static AWS access keys (
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY) are not read or used by the workflow.Configuration steps
Edit the repo mapping in the admin UI
Navigate to your orchestrator’s
/admin page, find the team/repo mapping, and open the edit form.Set these two fields:- Provider →
bedrock - AWS Region → the AWS region where your Bedrock inference profile is available (e.g.
us-west-2)
provider=bedrock and your region to the workflow on each dispatch.Add the IAM role ARN as a repository secret
In your target GitHub repo, go to Settings → Secrets and variables → Actions → Secrets and add:
The role must be created in the same AWS account as your Bedrock inference profiles.
| Secret | Value |
|---|---|
AWS_BEDROCK_ROLE_ARN | The ARN of the IAM role that trusts the GitHub OIDC provider and grants bedrock:InvokeModel on your inference profiles |
Add repository variables for comment-triggered runs
When someone comments
Without these variables, comment-triggered gap-fill runs will fall back to the Anthropic provider.
/ai-implement on a PR, the gap-fill workflow is triggered directly from the repo — not by the orchestrator. To ensure these runs also use Bedrock, add two repository variables (not secrets).In your target repo, go to Settings → Secrets and variables → Actions → Variables and add:| Variable | Value |
|---|---|
AI_IMPLEMENT_PROVIDER | bedrock |
AI_IMPLEMENT_AWS_REGION | The same region you set in the admin UI mapping |
IAM role configuration
Create an IAM role in your AWS account with the following trust policy. Use theStringLike condition on sub to restrict the role to a specific GitHub repo:
<account-id>, <owner>, and <repo> with your actual values.
For the role’s permissions policy, grant bedrock:InvokeModel on the inference profiles your repo will use:
The workflow re-runs
aws-actions/configure-aws-credentials before both the main implementation run and the gap analysis step. This prevents STS token expiry during long implementation runs.Model IDs
Bedrock model IDs follow the patternanthropic.<model-name>-<date>-v<version>:0. You can also use a cross-region inference-profile ARN. Both are passed verbatim to claude-code --model — the workflow does not validate the format.
Example model IDs for Bedrock:
model: value for both steps unless you explicitly set gap_analysis_model: in WORKFLOW.md.