[BUG] /model picker selects global.* inference profile instead of regional eu./apac. on non-US AWS_REGION (v2.1.116)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
On Bedrock with AWS_REGION=eu-west-1, selecting Opus 4.7 or Opus 4.7 (1M context) from the /model picker sets the effective model to the global.* inference profile (global.anthropic.claude-opus-4-7 / global.anthropic.claude-opus-4-7[1m]) instead of the region-appropriate eu.* profile.
Both eu.anthropic.claude-opus-4-7 and global.anthropic.claude-opus-4-7 are ACTIVE in the account/region. On an EU region the eu.* geographic CRIS profile should be preferred for data residency, latency, and egress — and was being selected in prior CLI versions.
Appears to be a regression: same workflow was selecting eu.* yesterday, today routes to global.*. Also observing API timeouts against the global.* endpoint for colleagues on the same setup.
Why this matters
EU-based teams rely on eu.* profile selection to keep traffic within the EU geography. Silently routing to global.* is both a compliance/data-residency concern and a performance regression (higher latency, observed timeouts).
What Should Happen?
When AWS_REGION is an EU region and an eu.* geographic cross-region inference profile exists for the chosen model, the /model picker should select the eu.* profile. Fall back to global.* only when no eu.* profile exists for that model.
Symmetric behaviour should apply to us.* / apac.* based on region.
Error Messages/Logs
Statusline after selecting "Opus 4.7 (1M context)" via /model:
[Opus 4.7 (1M context)] (global.anthropic.claude-opus-4-7[1m]) | SSO:0h52m | ai-knowledge-base | main
Expected model ID in parentheses: eu.anthropic.claude-opus-4-7[1m].
Steps to Reproduce
- Environment:
CLAUDE_CODE_USE_BEDROCK=1,AWS_REGION=eu-west-1,AWS_DEFAULT_REGION=eu-west-1. - Confirm both profiles exist in-region:
``opus-4-7
aws bedrock list-inference-profiles \
--query 'inferenceProfileSummaries[?contains(inferenceProfileId, )].inferenceProfileId' \`
--output table
eu.anthropic.claude-opus-4-7
Returns both and global.anthropic.claude-opus-4-7 as ACTIVE`.
- Launch
claude(v2.1.116). - Run
/model→ select option6. Opus 4.7 (1M context)(also reproduces on option5. Opus 4.7). - Observe the statusline / API request model ID resolves to
global.anthropic.claude-opus-4-7[1m]instead ofeu.*.
Expected Behavior
Selecting Opus 4.7 variants on AWS_REGION=eu-west-1 resolves to eu.anthropic.claude-opus-4-7 / eu.anthropic.claude-opus-4-7[1m].
Actual Behavior
Resolves to global.anthropic.claude-opus-4-7 / global.anthropic.claude-opus-4-7[1m] regardless of EU region. Reproduced across multiple colleagues on the same team, same version.
Claude Model
Opus 4.7 and Opus 4.7 (1M context)
Is this a regression?
Yes
Last Working Version
Working 2026-04-20. Regressed in an update on 2026-04-21 (likely the 2.1.108 → 2.1.116 window; similar Bedrock model-picker regionality issues were fixed in 2.1.105 / 2.1.108).
Claude Code Version
2.1.116
Platform
AWS Bedrock
Operating System
macOS
Terminal/Shell
zsh (also reproduced inside VS Code integrated terminal)
Additional Information
- Both
eu.anthropic.claude-opus-4-7andglobal.anthropic.claude-opus-4-7showACTIVEviaaws bedrock list-inference-profilesin eu-west-1. - No env var is currently documented for forcing the region prefix; a workaround env var (e.g.
CLAUDE_CODE_BEDROCK_REGION_PREFIX=eu) or an explicitsettings.jsonmodeloverride guide would be useful while a fix ships. - Possibly related: #51074 (Claude for Excel — same class of bug where
us.*is picked oneu-west-1).
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗