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

Resolved 💬 5 comments Opened Apr 21, 2026 by deanhtid Closed May 5, 2026

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 ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗