AWS Claude
Use Claude models through AWS Bedrock with Agno agents.
Use Claude models through AWS Bedrock. This integration uses the Anthropic SDK's Bedrock client. For other Bedrock foundation models, see AWS Bedrock.
We recommend experimenting to find the best-suited model for your use case. Here are some general recommendations:
global.anthropic.claude-sonnet-5is the latest Sonnet model (Claude Sonnet 5).global.anthropic.claude-sonnet-4-5-20250929-v1:0is good for most use cases and supports image input.us.anthropic.claude-haiku-4-5-20251001-v1:0is Anthropic's fastest model.
Installation
uv pip install -U 'anthropic[bedrock]' agnoAuthentication
AWS Claude supports two authentication methods:
Method 1: Access Key and Secret Key (Recommended)
Set your AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_REGION environment variables.
Get your keys from here.
export AWS_ACCESS_KEY_ID="your_value_here"
export AWS_SECRET_ACCESS_KEY="your_value_here"
export AWS_REGION="your_value_here"Or pass them directly:
from agno.agent import Agent
from agno.models.aws import Claude
agent = Agent(
model=Claude(
id="global.anthropic.claude-sonnet-4-5-20250929-v1:0",
aws_access_key="your-access-key",
aws_secret_key="your-secret-key",
aws_region="us-east-1"
)
)Method 2: Boto3 Session
Use a pre-configured boto3 Session for advanced authentication scenarios:
from boto3.session import Session
from agno.agent import Agent
from agno.models.aws import Claude
# Create a boto3 session with your preferred authentication
session = Session(
aws_access_key_id="your-access-key",
aws_secret_access_key="your-secret-key",
region_name="us-east-1"
)
agent = Agent(
model=Claude(
id="global.anthropic.claude-sonnet-4-5-20250929-v1:0",
session=session
)
)The authentication methods are checked in this order: Session → Access Key/Secret Key. The first available method will be used. AWS Bedrock API key authentication (AWS_BEDROCK_API_KEY) is not currently supported and raises an error if set without a supplied boto3 Session.
Example
Use Claude with your Agent:
from agno.agent import Agent
from agno.models.aws import Claude
agent = Agent(
model=Claude(id="global.anthropic.claude-sonnet-4-5-20250929-v1:0"),
markdown=True
)
# Print the response on the terminal
agent.print_response("Share a 2 sentence horror story.")Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
id | str | "global.anthropic.claude-sonnet-4-5-20250929-v1:0" | The specific AWS Bedrock Claude model ID to use |
name | str | "AwsBedrockAnthropicClaude" | The name identifier for the AWS Bedrock Claude model |
provider | str | "AwsBedrock" | The provider of the model |
api_key | Optional[str] | None | Not currently supported. Setting it (or the AWS_BEDROCK_API_KEY env var) raises an error when no boto3 Session is supplied; use IAM credentials or a boto3 session instead |
aws_access_key | Optional[str] | None | The AWS access key to use (defaults to AWS_ACCESS_KEY_ID, then AWS_ACCESS_KEY env var) |
aws_secret_key | Optional[str] | None | The AWS secret key to use (defaults to AWS_SECRET_ACCESS_KEY, then AWS_SECRET_KEY env var) |
aws_session_token | Optional[str] | None | The AWS session token for temporary credentials (defaults to AWS_SESSION_TOKEN env var) |
aws_region | Optional[str] | None | The AWS region to use (defaults to AWS_REGION env var) |
session | Optional[Session] | None | A boto3 Session object to use for authentication |
max_tokens | Optional[int] | 8192 | Maximum number of tokens to generate in the chat completion |
temperature | Optional[float] | None | Controls randomness in the model's output |
top_p | Optional[float] | None | Controls diversity via nucleus sampling |
top_k | Optional[int] | None | Controls diversity via top-k sampling |
stop_sequences | Optional[List[str]] | None | A list of strings that the model should stop generating text at |
request_params | Optional[Dict[str, Any]] | None | Additional parameters to include in the request |
client_params | Optional[Dict[str, Any]] | None | Additional parameters for client configuration |
Claude (AWS) extends the Anthropic Claude model with AWS Bedrock integration and has access to most of the same parameters.