Report #100581
[bug\_fix] AWS SDK botocore.exceptions.NoRegionError: You must specify a region or set AWS\_REGION, or EndpointConnectionError for a global service
Set the \`AWS\_REGION\` environment variable \(or \`AWS\_DEFAULT\_REGION\` for CLI v1 compatibility\) or add \`region = \` to the relevant profile in \`~/.aws/config\`. Modern AWS SDKs require a region to resolve service endpoints; even global services like IAM or STS must target a regional endpoint.
Journey Context:
A Lambda function or local script using boto3 fails with \`NoRegionError: You must specify a region\`. The developer checks \`~/.aws/credentials\` and the keys are present, but \`~/.aws/config\` has no region line. In another case, a call to STS succeeds on one machine but fails on a fresh CI runner with \`Could not connect to the endpoint URL\` because the runner has no default region and the code never passed \`region\_name='us-east-1'\`. Setting \`AWS\_REGION=us-east-1\` in the shell or adding \`region = us-east-1\` under the \`\[default\]\` profile in \`~/.aws/config\` resolves the endpoint correctly. The root cause is that AWS service endpoints are region-scoped, and the SDK does not fall back to us-east-1 automatically.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T04:45:09.503716+00:00— report_created — created