---
title: "AWS Bedrock Integration"
source: https://docs.autohand.ai/integrations/aws-bedrock
---

# AWS Bedrock

Run Autohand Code CLI against enterprise AWS Bedrock deployments using Bedrock Converse or Bedrock's OpenAI-compatible inference endpoints.

## Overview

AWS Bedrock is available as the `bedrock` provider. It supports three API modes:

-   **Converse**: Bedrock-native mode and the default choice for AWS credential-chain deployments.
-   **OpenAI Chat Completions**: Bedrock OpenAI-compatible chat endpoint for teams migrating OpenAI-style integrations.
-   **OpenAI Responses**: Bedrock OpenAI-compatible Responses endpoint for newer OpenAI-style workflows.

**Security note:** Bedrock API keys are not OpenAI API keys. Do not point Bedrock configuration at OpenAI base URLs.

## Setup

### AWS credentials for Converse

For Bedrock-native Converse mode, Autohand uses the normal AWS credential chain. This works with SSO, named profiles, IAM roles, container credentials, and instance metadata.

``` bash
# Configure SSO or a named profile
aws configure sso

# Start Autohand with a profile
AWS_PROFILE=enterprise-prod autohand --provider bedrock --model us.anthropic.claude-3-5-sonnet-20241022-v2:0
```

### Bedrock API keys for OpenAI-compatible modes

Use Bedrock API-key auth only for Bedrock OpenAI-compatible Chat Completions or Responses mode.

``` bash
autohand config set provider bedrock
autohand config set bedrock.apiMode openai-chat
autohand config set bedrock.authMode bedrock-api-key
autohand config set bedrock.apiKey "your-bedrock-api-key"
autohand config set bedrock.region us-east-1
```

### Model access

Enable access to the selected Bedrock model in the AWS console before using it. If your organization uses inference profiles, you can set the model to an inference profile ID or full ARN.

## CLI configuration

### Converse with AWS profile

``` json
{
  "provider": "bedrock",
  "bedrock": {
    "apiMode": "converse",
    "authMode": "aws-credentials",
    "region": "us-west-2",
    "profile": "enterprise-prod",
    "model": "us.anthropic.claude-3-5-sonnet-20241022-v2:0"
  }
}
```

### OpenAI Chat Completions with Bedrock API key

``` yaml
provider: bedrock
bedrock:
  apiMode: openai-chat
  authMode: bedrock-api-key
  apiKey: bedrock-api-key
  region: us-east-1
  model: openai.gpt-oss-120b-1:0
```

### OpenAI Responses with private endpoint

``` toml
provider = "bedrock"

[bedrock]
apiMode = "openai-responses"
authMode = "bedrock-api-key"
apiKey = "bedrock-api-key"
region = "us-west-2"
endpoint = "https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1"
model = "arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0"
```

### Options

| Option | Description | Default |
|---|---|---|
| apiMode | converse, openai-chat, or openai-responses | converse |
| authMode | aws-credentials or bedrock-api-key | Mode dependent |
| region | AWS region | AWS_REGION, AWS_DEFAULT_REGION, then us-east-1 |
| profile | Optional AWS profile name | - |
| endpoint | Optional custom or private endpoint | Derived from mode and region |
| apiKey | Bedrock API key for OpenAI-compatible modes | - |
| model | Bedrock model ID, inference profile, or ARN | - |

## Models

Use Bedrock model IDs, cross-region inference profiles, or model ARNs. Common examples include:

| Model | Best for |
|---|---|
| us.anthropic.claude-3-5-sonnet-20241022-v2:0 | Default enterprise coding model |
| anthropic.claude-3-7-sonnet-20250219-v1:0 | Advanced reasoning and code review |
| anthropic.claude-sonnet-4-20250514-v1:0 | Latest Sonnet-family workflows where enabled |
| amazon.nova-pro-v1:0 | Amazon Nova general-purpose tasks |
| openai.gpt-oss-120b-1:0 | OpenAI-compatible Bedrock deployments |

## Troubleshooting

| Issue | Fix |
|---|---|
| Missing AWS credentials | Run aws configure sso, set AWS_PROFILE, or use IAM role/container credentials. |
| Missing region | Set bedrock.region, AWS_REGION, or AWS_DEFAULT_REGION. |
| Invalid Bedrock API key | Use a Bedrock API key only with openai-chat or openai-responses. |
| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region/account. |
| Model not available in region | Switch regions or use an enabled inference profile/ARN. |
| Unsupported API mode | Use Converse for Bedrock-native models or an OpenAI-compatible mode for Bedrock OpenAI endpoints. |
| Private endpoint failure | Check VPC DNS, endpoint policy, and that the endpoint path matches the selected API mode. |

``` bash
# Enable verbose provider logs
AUTOHAND_DEBUG=true AWS_PROFILE=enterprise-prod autohand --provider bedrock
```