Claude Code has become a fixed part of our development workflow. But imagine you need to roll it out for a 30-person dev team in a regulated environment. The first question isn’t “which model?” but “where does the data go?” That question changes the entire calculus.
Two ways to run Claude Code
Claude Code can run in two modes: through Anthropic’s own infrastructure (via a Max subscription or API key) or through a cloud provider like AWS Bedrock or Google Vertex AI. Same models, same capabilities, very different implications. We’re focusing on Bedrock here given our AWS focus, but the same considerations apply to Vertex.
The Max Subscription ($100 or $200/month per developer) is a fixed price with usage limits. No AWS account needed, works out of the box. You get Claude Code bundled with claude.ai access. At $200/month you get 20x the usage of the Pro plan. That’s a lot, but not unlimited. If you’re running Opus-heavy refactors all day, you can still hit the ceiling.
AWS Bedrock (pay-per-token) runs Claude through your own AWS account. Every API call is billed per token, shows up on your AWS invoice, and flows through your existing IAM and CloudTrail setup.
What it costs
Current Bedrock pricing per million tokens:
| Model | Input | Output | Sweet spot |
|---|---|---|---|
| Haiku 4.5 | $1 | $5 | Quick completions, linting, small edits |
| Sonnet 4.6 | $3 | $15 | Day-to-day coding, the workhorse |
| Opus 4.6 | $5 | $25 | Complex architecture, multi-file refactors |
A developer who uses Claude Code moderately with Sonnet 4.6 will run up roughly $150-250/month on Bedrock. Heavy users doing large refactors with Opus can hit $500+.
Compare that to the Max 20x subscription at $200/month flat. For individual developers or small teams without compliance constraints, the subscription wins on cost almost every time. An analysis by ksred.com showed a month where API usage would have been $5,600, covered by a $100 subscription.
When Bedrock makes sense anyway
We use both configurations internally. Bedrock earns its keep when at least one of these applies:
Data residency is the obvious one. Bedrock’s EU inference profiles (eu.anthropic.claude-sonnet-4-6, eu.anthropic.claude-opus-4-6-v1) guarantee that your code and prompts stay within EU regions. The routing currently spans 8 European AWS regions: Frankfurt, Zurich, Stockholm, Milan, Spain (Aragón), Dublin, London, and Paris. For clients in regulated industries like banking, healthcare, or public sector, there’s no discussion.
Then there’s audit and access control. Every Bedrock API call gets logged in CloudTrail. You see who ran what, when, and you can attach IAM policies to control which developers use which models. The subscription gives you none of that visibility.
Consolidated billing matters too if you’re already on AWS. Bedrock charges land on the same invoice as your other workloads. You can tag usage per team and set budget alerts through Cost Explorer. For a 30-person team, knowing that backend spent $3,200 last month on Claude while frontend spent $800 is useful when you’re trying to forecast.
And there’s model flexibility. Bedrock gives you the full lineup. You can configure different developers for different models, or switch per task. Haiku for quick completions, Sonnet for daily work, Opus when you need the heavy machinery.
Setting it up
Enable model access in the Bedrock console (approval is instant for most models), create an IAM policy with bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream permissions, and configure Claude Code:
{
"env": {
"CLAUDE_CODE_USE_BEDROCK": "1",
"AWS_PROFILE": "your-profile",
"AWS_REGION": "eu-central-1",
"ANTHROPIC_MODEL": "eu.anthropic.claude-sonnet-4-6"
}
}
This goes into ~/.claude/settings.json. If you’re using AWS SSO (which you should for teams), add:
{
"awsAuthRefresh": "aws sso login --profile your-profile"
}
This handles automatic re-authentication when your SSO session expires mid-session. Without it, Claude Code just dies with a cryptic auth error halfway through a refactor. You can also use static credentials via AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, but for teams SSO is the better choice. Static keys don’t rotate automatically and have a tendency to end up where they shouldn’t.
Verify it works:
claude "What model are you?"
The response should confirm the model ID and that it’s running through Bedrock.
Watch out for rate limits
Something the setup guides gloss over: Bedrock has aggressive rate limits. The default for Opus 4.6 is 25 requests per minute. Claude Code in an active session can burn through that in seconds, especially during multi-file operations where it fires off many requests in rapid succession.
Request a quota increase to at least 500 RPM before your team starts using it. For larger teams, consider dedicated AWS accounts per team with separate quotas. Dev teams tend to work the same hours, which creates a bursty request profile. A shared account for 30 developers will hit limits constantly.
What we recommend
In practice, the decision usually comes down to this:
Go with the Max subscription if you’re a small team (under 10), have no regulatory constraints on where your code is processed, and want the simplest setup. The cost savings are real and the coding experience is identical.
Go with Bedrock if you need data residency guarantees, audit trails, or you’re in a regulated industry. Also if you already have a mature AWS setup and want unified cost tracking. Accept that you’ll pay more per developer and need to manage rate limits.
A hybrid approach works too. You could use Max subscriptions for personal and experimental work, and Bedrock for repositories with sensitive code. Claude Code’s configuration is per-directory, so you can run different setups for different projects on the same machine.
The AWS European Sovereign Cloud situation
AWS launched the European Sovereign Cloud in January 2026 with a region in Brandenburg, Germany. The pitch is full data sovereignty with EU-resident operations and support staff. Bedrock is technically available there, but only with Amazon’s own Nova models (Lite and Pro). Claude and other third-party foundation models are not available yet, and there’s no announced timeline.
There’s also no GPU capacity in the Sovereign Cloud yet, which limits what you can do with SageMaker there.
If you need Claude with EU data residency today, standard Bedrock with EU inference profiles is the way to go. The Sovereign Cloud will get interesting once Anthropic models land there, but I wouldn’t build plans around it right now.
So which one?
The subscription is cheaper. Bedrock gives you control. Pick based on what your organization actually needs, not what sounds more enterprise-grade. If nobody is asking where your code gets processed, the Max plan at $200/month is hard to beat.