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 it callsaws-actions/configure-aws-credentials once to exchange the GitHub OIDC token for an STS session, requesting a four-hour session so that a long run does not outlive its credentials.
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
1
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, including /ai-implement comment-triggered runs.2
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.
3
Set the model in WORKFLOW.md (and PLANNING.md)
For a legacy project, update the Or use an inference-profile ARN:
model: key in your repo’s WORKFLOW.md to a Bedrock model ID or inference-profile ARN. If planning is enabled, update PLANNING.md as well.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:
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: