[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).
5 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Not a duplicate of the suggested issues:
us.*model ID tosettings.json. Different model, different symptom: that bug wrote a bad ID to disk causing 400s in new sessions. Our bug is runtime routing toglobal.*with Opus 4.7 —settings.jsonis not the source, the picker itself resolves the wrong profile in-memory.AWS_REGION. Separate component (subagent model resolution), separate failure mode.Our specific bug: Claude Code CLI v2.1.116,
/model→ Opus 4.7 (or Opus 4.7 1M) → runtime model resolves toglobal.anthropic.claude-opus-4-7[1m]onAWS_REGION=eu-west-1, despiteeu.anthropic.claude-opus-4-7beingACTIVEin the region. This is a regression from v2.1.108 (which fixed the analogousus.*prefix bug). Reproduced across multiple colleagues on the same version.This issue was fixed as of version 2.1.128.
https://github.com/anthropics/claude-code/issues/51074 is not fixed as part of this ticket. @claude
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.