[DOCS] Gateway "Different regions" lever contradicts the models section for non-US Bedrock geos; ANTHROPIC_BEDROCK_REGION_PREFIX undocumented
Documentation Type
Incorrect/outdated documentation
Documentation Location
https://code.claude.com/docs/en/claude-apps-gateway-config
Section/Topic
upstreams → Amazon Bedrock (the "Different regions" lever), and the
undocumented ANTHROPIC_BEDROCK_REGION_PREFIX env var on the Bedrock client
page.
Current Documentation
Two places, one wrong and one missing.
1. The "Different regions" lever in the multi-upstream table says:
Different regions — One Amazon Bedrock upstream per region, each with its ownregion:. Withauto_include_builtin_models: truethe cross-region inference profiles route automatically; for region-pinned deployments use amodels:block.
2. ANTHROPIC_BEDROCK_REGION_PREFIX appears in the changelog but in no docs
page. It is not on the Bedrock client page, the gateway config reference, or
the settings/env-var reference.
What's Wrong or Missing?
On the "Different regions" lever: "the cross-region inference profiles route
automatically" is only true inside the US geo. The built-in catalog's Bedrock
ids are all us.anthropic.*, and a geographic us.* profile does not route
across the EU or APAC geos. So an eu-west-1 or ap-northeast-1 upstream withauto_include_builtin_models: true sends us.anthropic.… tobedrock-runtime.<region>.amazonaws.com and the request fails — the opposite of
routing automatically. The sentence also frames a models: block as needed only
for "region-pinned deployments," when it is needed for any non-US geo.
The models
section already states this correctly — *"It is required for non-US Amazon
Bedrock regions"* — so the two sections contradict each other, and the one an
operator hits first while sizing a multi-region deployment is the wrong one.
On ANTHROPIC_BEDROCK_REGION_PREFIX: none of its behavior is discoverable
without reading the binary. Specifically undocumented:
- Its accepted values:
us,eu,apac,jp,au,global. It is validated
against that set, so a typo or an unlisted value is silently dropped.
- It takes precedence over the prefix otherwise derived from
AWS_REGION
(us-* → us, eu-* → eu, ap-* → apac, anything else → global).
us-gov-*regions ignore it entirely and are forced to theus-govprefix.- It is checked against
ListInferenceProfilesat startup, and models with no
matching profile in the account fall back to the AWS_REGION-derived prefix
with a warning. If that list call fails, the prefix is applied unchecked and a
different warning says requests may 400.
Suggested Improvement
- Reword the "Different regions" lever to match the
modelssection, e.g.:
*"One Amazon Bedrock upstream per region, each with its own region:. The
built-in catalog uses US geographic inference profiles (us.anthropic.*), so
non-US geos and region-pinned deployments both require a models: block with
the right per-upstream IDs."*
- Document
ANTHROPIC_BEDROCK_REGION_PREFIXon the Bedrock page with the
accepted values, the precedence rule, the us-gov exception, and the
availability check.
Impact
Both cost real debugging time on a multi-region Bedrock rollout. The lever table
reads as "regions are handled for you," so the failure surfaces as an opaque
Bedrock 400 on the first request from a non-US upstream. And an operator who
finds ANTHROPIC_BEDROCK_REGION_PREFIX in the changelog has no way to learn its
values or its scope short of running strings on the release binary — which is
how the list above was obtained.
Additional Context
Verified against the 2.1.224 native binary (darwin-arm64, GIT_SHA).
8a2a469b68f918917492973f3b16bd1682b9f82c
Filed alongside #84875, which covers the underlying gap: there is no supported
way to point a gateway at global.* inference profiles.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗