[BUG] /model picker selects global.* inference profile instead of regional eu./apac. on non-US AWS_REGION (v2.1.116)

Status Fixed / completed
Reported on v2.1.108
Maintainer reply ✓ Yes — claude[bot]
Activity 5 comments · opened Apr 21, 2026 · closed May 5, 2026
💡 Likely answer: A maintainer (claude[bot], contributor) responded on this thread — see the highlighted reply below.

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

  1. Environment: CLAUDE_CODE_USE_BEDROCK=1, AWS_REGION=eu-west-1, AWS_DEFAULT_REGION=eu-west-1.
  2. Confirm both profiles exist in-region:

``
aws bedrock list-inference-profiles \
--query 'inferenceProfileSummaries[?contains(inferenceProfileId,
opus-4-7)].inferenceProfileId' \
--output table
`
Returns both
eu.anthropic.claude-opus-4-7 and global.anthropic.claude-opus-4-7 as ACTIVE`.

  1. Launch claude (v2.1.116).
  2. Run /model → select option 6. Opus 4.7 (1M context) (also reproduces on option 5. Opus 4.7).
  3. Observe the statusline / API request model ID resolves to global.anthropic.claude-opus-4-7[1m] instead of eu.*.

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-7 and global.anthropic.claude-opus-4-7 show ACTIVE via aws bedrock list-inference-profiles in 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 explicit settings.json model override guide would be useful while a fix ships.
  • Possibly related: #51074 (Claude for Excel — same class of bug where us.* is picked on eu-west-1).

View original on GitHub ↗

5 Comments

github-actions[bot] · 5 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/46313
  2. https://github.com/anthropics/claude-code/issues/51074
  3. https://github.com/anthropics/claude-code/issues/42623

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

deanhtid · 5 months ago

Not a duplicate of the suggested issues:

  • #46313 (closed) — Opus 4.6 incorrectly persisting us.* model ID to settings.json. Different model, different symptom: that bug wrote a bad ID to disk causing 400s in new sessions. Our bug is runtime routing to global.* with Opus 4.7 — settings.json is not the source, the picker itself resolves the wrong profile in-memory.
  • #42623 — subagents not respecting AWS_REGION. Separate component (subagent model resolution), separate failure mode.
  • #51074 — Claude for Excel/Office add-in, not Claude Code CLI.

Our specific bug: Claude Code CLI v2.1.116, /model → Opus 4.7 (or Opus 4.7 1M) → runtime model resolves to global.anthropic.claude-opus-4-7[1m] on AWS_REGION=eu-west-1, despite eu.anthropic.claude-opus-4-7 being ACTIVE in the region. This is a regression from v2.1.108 (which fixed the analogous us.* prefix bug). Reproduced across multiple colleagues on the same version.

claude[bot] contributor · 5 months ago

This issue was fixed as of version 2.1.128.

siddharthmishrasm · 4 months ago

https://github.com/anthropics/claude-code/issues/51074 is not fixed as part of this ticket. @claude

github-actions[bot] · 3 months ago

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.