-
-
Notifications
You must be signed in to change notification settings - Fork 52.8k
Closed
Description
Description
openclaw status runs bedrock-discovery which always fails with AccessDeniedException: Authentication failed: Please make sure your API Key is valid. even though:
- The Bedrock providers in
openclaw.jsonuse"auth": "aws-sdk"and the correct credentials are configured - The same credentials work perfectly via AWS CLI (
aws bedrock list-foundation-models) - The LaunchAgent gateway plist has the correct env vars and Bedrock models work fine in actual sessions
Steps to Reproduce
- Configure Bedrock providers with
"auth": "aws-sdk"inopenclaw.json - Set
AWS_PROFILE,AWS_ACCESS_KEY_ID, andAWS_SECRET_ACCESS_KEYinenv.vars - Run
openclaw status
[bedrock-discovery] Failed to list models: AccessDeniedException: Authentication failed: Please make sure your API Key is valid.
[bedrock-discovery] Failed to list models: AccessDeniedException: Authentication failed: Please make sure your API Key is valid.
(Two errors = two Bedrock providers, ap-northeast-1 and us-east-1)
What I've tried
- Setting
AWS_PROFILE={profile}inopenclaw.jsonenv.vars❌ - Setting
AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEYdirectly inenv.vars❌ - Passing env vars explicitly in the shell:
AWS_PROFILE={profile} openclaw status❌ - Setting
AWS_DEFAULT_PROFILE={profile}in the shell ❌
All of the above have no effect. The discovery subprocess appears to ignore both shell environment variables and env.vars from the config.
Verification that credentials work
$ AWS_PROFILE={profile} aws sts get-caller-identity
{
"UserId": "{ID}"",
"Account": "{ID}",
"Arn": "arn:aws:iam::{ID}"user/{ID}""
}
$ AWS_PROFILE={profile} aws bedrock list-foundation-models --region {region}--query 'modelSummaries | length(@)'
62
$ AWS_PROFILE={profile} aws bedrock list-foundation-models --region {region}---query 'modelSummaries | length(@)'
124IAM user has bedrock:ListFoundationModels permission in both regions.
Impact
- Cosmetic only — actual Bedrock model usage in sessions works fine (gateway LaunchAgent has correct env vars)
- The error message is noisy and shows on every
openclaw status/openclaw gateway installinvocation
Expected Behavior
bedrock-discovery should resolve AWS credentials using the standard AWS SDK credential chain, respecting:
env.varsfromopenclaw.json- Shell environment variables (
AWS_PROFILE,AWS_ACCESS_KEY_ID, etc.) ~/.aws/credentialsprofiles
Environment
- OpenClaw: 2026.3.1 (also reproduced on 2026.2.24 and 2026.2.26)
- OS: macOS 26.3 (arm64)
- Node: 25.2.1
- Auth mode:
aws-sdk(IAM access keys, not ABSK bearer tokens)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels