Use Anthropic’s Claude models through AWS Bedrock — same powerful Claude capabilities (extended thinking, document analysis, tool calling) but authenticated with AWS credentials and billed through your AWS account.
awsClaude() uses the @anthropic-ai/bedrock-sdk package, which provides the same Anthropic Messages API routed through AWS Bedrock. All Claude features (thinking, multi-modal, tool calling) work identically to the direct anthropic() provider.
Claude 3.5 Sonnet. Strong all-around, vision support.
us.anthropic.claude-3-5-haiku-20241022-v2:0
Claude 3.5 Haiku. Fastest Claude model.
anthropic.claude-3-haiku-20240307-v1:0
Claude 3 Haiku. Cost-effective.
Cross-region inference
Prefix the model ID with us. or eu. to use cross-region inference profiles. This routes requests to the nearest available region for lower latency:
Copy
Ask AI
// Cross-region (recommended)const model = awsClaude("us.anthropic.claude-sonnet-4-20250514-v1:0");// Region-localconst model = awsClaude("anthropic.claude-sonnet-4-20250514-v1:0");
Claude’s extended thinking works on Bedrock just like the direct API:
Copy
Ask AI
import { Agent, awsClaude } from "@radaros/core";const agent = new Agent({ name: "deep-thinker", model: awsClaude("us.anthropic.claude-sonnet-4-20250514-v1:0"), instructions: "Think step by step before answering.", reasoning: { enabled: true, budgetTokens: 4000, },});const result = await agent.run( "A bat and a ball cost $1.10 in total. The bat costs $1 more than the ball. How much does the ball cost?");console.log(result.thinking);// "Let me set up equations... Let ball = x, bat = x + 1.00..."console.log(result.text);// "The ball costs $0.05."
When reasoning is enabled, maxTokens is automatically adjusted to accommodate both thinking and response tokens. See Reasoning for details.
Tool calling works identically to the direct Anthropic provider:
Copy
Ask AI
import { Agent, awsClaude, defineTool } from "@radaros/core";import { z } from "zod";const agent = new Agent({ name: "aws-assistant", model: awsClaude("us.anthropic.claude-sonnet-4-20250514-v1:0"), instructions: "Help users with their orders.", tools: [ defineTool({ name: "getOrderStatus", description: "Get the status of an order by ID", parameters: z.object({ orderId: z.string().describe("Order ID (e.g., ORD-12345)"), }), execute: async ({ orderId }) => { return JSON.stringify({ id: orderId, status: "shipped", carrier: "FedEx", tracking: "7891234567", eta: "2026-03-01", }); }, }), ], maxToolRoundtrips: 3,});const result = await agent.run("Where is order ORD-12345?");console.log(result.text);// "Your order ORD-12345 has been shipped via FedEx (tracking: 7891234567).// Estimated delivery: March 1, 2026."
Use awsClaude() when you need AWS billing, VPC isolation, or compliance certifications. Use anthropic() when you want the simplest setup with an API key.