API Error: Could not load AWS credentials
結論
Bedrock で使う AWS の資格情報を1つも読めなかった状態。プロファイル名やリージョンの誤りでも同じ表示になる。
確認した版
Claude Code v2.1.283
確認日
2026年9月28日
最終更新
2026年9月28日
根拠
一次情報で確認
エラー文字列
API Error: Could not load AWS credentials
⚠️ 標準出力に出ます。終了コードは 1 です。 Bedrock には何も届いていません。
API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.
何が起きているか
CLAUDE_CODE_USE_BEDROCK=1 で Bedrock を使う設定になっていますが、AWS の資格情報を1つも読めませんでした。
環境変数・~/.aws のプロファイル・SSO のキャッシュなど、AWS が決まった順に探す場所のどこにも使えるものが無い状態です。
🔴 原因が違っても、表示は同じ
v2.1.283 で、条件だけを変えて実測しました。
| 状態 | 出た表示 |
|---|---|
| 資格情報が何も無い | この表示 |
AWS_PROFILE に存在しないプロファイル名 |
この表示(プロファイル名の誤りだとは言われない) |
AWS_REGION を設定していない |
この表示(先に資格情報で止まる) |
| 無効なアクセスキーを設定した | 🔴 別の表示(下) |
AWS authentication failed · refresh your AWS credentials (SSO sign-in, access keys, API key or proxy token) and retry · if credentials are current, check AWS permissions and model access · API Error: 403 The security token included in the request is invalid.
⭐ 表示が AWS authentication failed に変わったら、資格情報は読めています。 読めたうえで AWS に拒まれた状態で、見る場所が変わります。
| 表示 | 見る場所 |
|---|---|
Could not load AWS credentials |
資格情報の渡し方(プロファイル名・SSO のログイン・環境変数) |
AWS authentication failed |
資格情報の中身(期限・権限・モデルへのアクセス許可) |
直し方
⚠️ 表示は実機で再現しましたが、最後の段(実際のログイン)は実アカウントが要るため、公式の手順によります。
無効なアクセスキーを入れると表示が AWS authentication failed に変わる(資格情報が読めた)ところまでは実測で確かめました。
1. Claude Code の外で、同じ条件の AWS が動くか確かめる
同じシェル、同じ AWS_PROFILE で実行します。
aws sts get-caller-identity
ここで失敗するなら、原因は Claude Code ではなく AWS 側の設定です。
2. プロファイル名を確かめる
存在しないプロファイル名でもエラーは変わらないので、自分で確かめるしかありません。
macOS / Linux
echo "AWS_PROFILE=${AWS_PROFILE:-(未設定)}"
aws configure list-profiles
Windows(PowerShell)
"AWS_PROFILE=$env:AWS_PROFILE"
aws configure list-profiles
3. SSO を使っているならログインし直す
aws sso login --profile あなたのプロファイル名
SSO のログインには期限があります。昨日まで動いていたのにという場合は、まずこれです。
4. リージョンも設定する
資格情報を直すと、次はリージョンが要ります。
export AWS_REGION=us-east-1
再発防止
- Claude Code を起動する前に
aws sts get-caller-identityが通ることを確かめる AWS_PROFILEの綴りを疑う。存在しない名前でもエラーは同じCould not loadとAWS authentication failedを区別する。前者は渡し方、後者は中身