Stelladocs
API Providers

Amazon Bedrock

Claude under AWS governance — SigV4-signed Bedrock Converse, cross-region inference profiles, and why this provider is deliberately last in auto-detection.

Bedrock is Claude for organizations that must keep inference inside their AWS account — billed to AWS, governed by IAM, logged in CloudTrail, contained by your VPC story. Stella speaks the Bedrock Converse dialect with standard SigV4 request signing; there is no separate API key, just AWS credentials.

Setup

export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_SESSION_TOKEN="..."          # optional — for STS / SSO sessions
export AWS_REGION="us-east-1"           # or AWS_DEFAULT_REGION; us-east-1 is the default

AWS_REGION wins over AWS_DEFAULT_REGION when both are set; with neither, Stella uses us-east-1. Short-lived STS or SSO credentials work as long as AWS_SESSION_TOKEN accompanies them. Your IAM principal needs Bedrock invoke permissions for the models you call, and the models must be enabled in your account's Bedrock console.

Stella reads only these explicit env vars — it does not consult the AWS credential chain. AWS_PROFILE, ~/.aws/credentials, the SSO token cache, and IMDS/instance roles are never read. If your setup is profile- or SSO-based, materialize static keys into the environment first — e.g. eval "$(aws configure export-credentials --format env)" after aws sso login — or a run fails with missing credentials even though aws CLI calls succeed in the same shell.

Selecting models

The provider id is bedrock; the default model is the cross-region inference profile us.anthropic.claude-sonnet-4-5-20250929-v1:0.

stella --model bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0 run "harden the S3 policy module"

The us. prefix is not decoration — it names an inference profile. Bedrock rejects on-demand invocation of newer Anthropic models without a profile, so the bare anthropic.claude-… model id fails where the profile succeeds. Stella defaults to the profile for exactly this reason; use the profile form for any newer Claude model you pin.

Last in auto-detection — on purpose

Bedrock sits last in auto-detection (alongside Vertex), deliberately: AWS_ACCESS_KEY_ID is present in effectively every AWS practitioner's shell, almost always for reasons unrelated to LLM inference. A generic cloud credential must never hijack provider selection — if you want Bedrock, pin it with --model bedrock/… or set it as a default in settings.json:

~/.config/stella/settings.json
{
  "agent_engine_config": {
    "default_model": "bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0"
  }
}

The pin sits between the --model flag and auto-detection — an explicit flag still wins, but with the pin in place Bedrock no longer loses to whichever direct-vendor key happens to be in the shell.

In the pipeline

Bedrock's Claude is a strong worker or judge wherever a compliance boundary rules the direct Anthropic API out — same family strengths, AWS wrapping. It slots into any of the example profiles as the worker or judge seat; route it per agent with agent_engine_config.

Catalog pricing

ModelContextIn $/MtokOut $/MtokCached-in $/Mtok
us.anthropic.claude-sonnet-4-5-20250929-v1:0200k3.0015.000.30

List prices from Stella's seed catalog — actual Bedrock billing is set by AWS and your agreements; verify in the AWS console. Your local catalog re-syncs from models.dev via stella models refresh. See the Model guide for the full cross-provider table.

Stella is totally free and open source, dual-licensed MIT or Apache 2.0— your choice: MIT's three-paragraph simplicity, or Apache 2.0's explicit patent grant that enterprises prefer. Use it, fork it, embed it, ship it — no account, no phone-home, no strings. What that means →

On this page