Skip to main content
Use Claude models through AWS Bedrock. This provides a native Claude integration optimized for AWS infrastructure. We recommend experimenting to find the best-suited model for your use-case. Here are some general recommendations:
  • anthropic.claude-sonnet-4-20250514-v1:0 model is their most capable model (Claude Sonnet 4).
  • anthropic.claude-3-5-sonnet-20241022-v2:0 model is good for most use-cases and supports image input.
  • anthropic.claude-3-5-haiku-20241022-v2:0 model is their fastest model.

Authentication

AWS Claude supports three authentication methods: Use the AWS Bedrock API key for simplified authentication:
export AWS_BEDROCK_API_KEY=***
export AWS_REGION=***
Or pass them directly to the model:
from agno.agent import Agent
from agno.models.aws import Claude

agent = Agent(
    model=Claude(
        id="us.anthropic.claude-sonnet-4-20250514-v1:0",
        api_key="your-api-key",
        aws_region="us-east-1"
    )
)

Method 2: Access Key and Secret Key

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=***
export AWS_SECRET_ACCESS_KEY=***
export AWS_REGION=***
Or pass them directly:
from agno.agent import Agent
from agno.models.aws import Claude

agent = Agent(
    model=Claude(
        id="us.anthropic.claude-sonnet-4-20250514-v1:0",
        aws_access_key="your-access-key",
        aws_secret_key="your-secret-key",
        aws_region="us-east-1"
    )
)

Method 3: 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="us.anthropic.claude-sonnet-4-20250514-v1:0",
        session=session
    )
)
The authentication methods are checked in this order: Session → API Key → Access Key/Secret Key. The first available method will be used.

Example

Use Claude with your Agent:
from agno.agent import Agent
from agno.models.aws import Claude

agent = Agent(
    model=Claude(id="us.anthropic.claude-sonnet-4-20250514-v1:0"),
    markdown=True
)

# Print the response on the terminal
agent.print_response("Share a 2 sentence horror story.")
View more examples here.

Parameters

ParameterTypeDefaultDescription
idstr"anthropic.claude-sonnet-4-20250514-v1:0"The specific AWS Bedrock Claude model ID to use
namestr"AwsBedrockAnthropicClaude"The name identifier for the AWS Bedrock Claude model
providerstr"AwsBedrock"The provider of the model
api_keyOptional[str]NoneThe AWS Bedrock API key for authentication (defaults to AWS_BEDROCK_API_KEY env var)
aws_access_keyOptional[str]NoneThe AWS access key to use (defaults to AWS_ACCESS_KEY env var)
aws_secret_keyOptional[str]NoneThe AWS secret key to use (defaults to AWS_SECRET_KEY env var)
aws_regionOptional[str]NoneThe AWS region to use (defaults to AWS_REGION env var)
sessionOptional[Session]NoneA boto3 Session object to use for authentication
max_tokensint4096Maximum number of tokens to generate in the chat completion
temperatureOptional[float]NoneControls randomness in the model’s output
top_pOptional[float]NoneControls diversity via nucleus sampling
top_kOptional[int]NoneControls diversity via top-k sampling
stop_sequencesOptional[List[str]]NoneA list of strings that the model should stop generating text at
request_paramsOptional[Dict[str, Any]]NoneAdditional parameters to include in the request
client_paramsOptional[Dict[str, Any]]NoneAdditional parameters for client configuration
Claude (AWS) extends the Anthropic Claude model with AWS Bedrock integration and has access to most of the same parameters.