development·

Claude Code「Could not load credentials from any providers」の意味と対処法|Bedrock の AWS 認証

Claude Code を Amazon Bedrock・Claude Platform on AWS・Mantle エンドポイント経由で使うと出る「API Error: Could not load credentials from any providers」の意味と直し方。AWS の資格情報チェーンが何も見つけられなかった原因を、表示される詳細文ごとに整理し、aws sso login・AWS_PROFILE・VS Code の環境変数・タイムアウトまで実機出力つきで解説します。

Claude Code「Could not load credentials from any providers」の意味と対処法|Bedrock の AWS 認証
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 を Amazon Bedrock・Claude Platform on AWS・Mantle エンドポイント経由で使う設定(CLAUDE_CODE_USE_BEDROCK=1 など)になっているのに、手元のマシンで使える AWS の認証情報が1つも見つからなかったという意味です。リクエストは AWS まで届いておらず、失敗しているのは手元での認証情報の読み込みです。多くの場合、同じシェルで aws sso login --profile <プロファイル名> を実行し、AWS_PROFILE を設定してから Claude Code を起動し直せば解消します。

Claude Code v2.1.267 より前は、· より前の部分がなく API Error: Could not load credentials from any providers とだけ表示されていました(Error reference)。どちらの表示でも中身は同じです。この記事は、2026年9月25日時点(Claude Code v2.1.282)の公式ドキュメントと、手元で実際に再現した出力をもとにしています。実機で確認した内容とドキュメント記載の内容は書き分けています。

この記事を読むとわかること

  • このエラーが出る条件と、「AWS まで届いていない」ことの意味
  • · の後ろの詳細文から原因を見分ける方法
  • SSO・アクセスキー・プロファイル・VS Code 拡張それぞれの直し方
  • v2.1.282 で再現したときの実際の出力と、表示まで8分かかったケース
  • AWS authentication failed など、似ているが別の対処が必要なエラーとの違い

このエラーが出る条件

このメッセージが出るのは、Claude Code の接続先が AWS 経由(Amazon Bedrock、Claude Platform on AWS、Mantle エンドポイント)になっているときだけです。claude.ai のサブスクリプション(Pro・Max・Team・Enterprise)や Claude Console の API キーでログインしている場合、このエラーは出ません。ログインしていないときに出るのは別のメッセージです(Not logged in の対処法)。

公式ドキュメントによると、Claude Code は Amazon Bedrock への接続に AWS SDK の既定の資格情報チェーン(default credential provider chain) を使います(Claude Code on Amazon Bedrock)。Claude Platform on AWS や Mantle エンドポイント経由の場合も同じ AWS 認証情報の解決に失敗するとこのメッセージになります。このチェーンのどこからも認証情報を取り出せなかったときに、このエラーになります。

Error reference に書かれている挙動は次のとおりです。

  • リクエストはクラウド側に届いていない(手元での読み込みの失敗)
  • Claude Code はキャッシュした認証情報を消して最大2回再試行してから、このメッセージを出す
  • · の後ろの詳細文が具体的な原因を示す(SSO セッションの期限切れなど)
  • claude -p の非対話実行と Agent SDK では、構造化エラーコードが cloud_credential_error になる(v2.1.267 以降。以前は server_error か unknown)

同じ見出しの中に Google Cloud の Could not load Google Cloud credentials も含まれていますが、この記事では AWS の場合だけを扱います。

AWS SDK が認証情報を探す順番

AWS の公式ガイド(Setting credentials in Node.js)によると、JavaScript 用 AWS SDK v3 の既定チェーンは、次の順に認証情報を探し、最初に見つかったものを使います。

順番探す場所典型的な設定
1環境変数AWS_ACCESS_KEY_ID・AWS_SECRET_ACCESS_KEY・AWS_SESSION_TOKEN
2SSO(IAM Identity Center)aws sso login 済みのプロファイル
3共有設定ファイル~/.aws/credentials・~/.aws/config
4ログイン認証情報aws login
5外部プロセスプロファイルの credential_process
6Web ID トークンAWS_ROLE_ARN とトークンファイル
7コンテナの認証情報Amazon ECS のタスクロール
8インスタンスメタデータ(IMDS)EC2 のインスタンスプロファイル

2〜5 は、AWS_PROFILE(未設定なら default)で選ばれたプロファイルの中身を見ます。「どこにも見つからなかった」がこのエラーの正体なので、直し方は「どれか1つを確実に用意する」ことになります。

原因の早見表

· の後ろの詳細文で、原因のあたりがつきます。

詳細文(· の後ろ)考えられる原因直し方
The SSO session token associated with profile=… was not found or is invalidSSO にサインインしていない、またはセッションの期限切れaws sso login --profile …
Could not load credentials from any providersAWS_PROFILE が未設定・名前違い、キーの環境変数が未設定、IDE がシェルの環境変数を引き継いでいない、credential_process の失敗下の「直し方」の2〜4
AWS default-chain credential resolve timed outチェーンの途中で止まった(入力待ちの credential_process、応答しない IMDS)直し方の5

2つ目の汎用メッセージは、プロファイルが存在しない場合も、credential_process のコマンドが失敗した場合も、まったく同じ文面でした(後述の実機検証)。文面だけでは区別できないので、次の手順で Claude Code の外から確かめるのが近道です。

対処法

1. Claude Code の外で認証情報を確かめる

まず、Claude Code を起動するのと同じシェルで次を実行します(Troubleshoot installation and login)。

aws sts get-caller-identity
  • アカウント ID と ARN が返る → シェルの認証情報は有効。原因は「Claude Code のプロセスに届いていない」側(3 へ)
  • エラーになる → AWS 側の設定の問題。2 へ
  • 返ってこない(固まる) → 5 へ

2. サインインして AWS_PROFILE を設定する

SSO(IAM Identity Center)を使っている場合は、サインインしてからプロファイルを指定します。公式ドキュメントの手順(Option C)は次のとおりで、aws sso login と AWS_PROFILE の設定に続けて claude の起動コマンドを追加します。

aws sso login --profile=myprofile
export AWS_PROFILE=myprofile
claude

Windows の PowerShell では、環境変数を $env:AWS_PROFILE = "myprofile" のように設定します。

ほかの方法として、公式ドキュメントには次が挙がっています。

  • aws configure でアクセスキーを設定する(Option A)
  • AWS_ACCESS_KEY_ID・AWS_SECRET_ACCESS_KEY・AWS_SESSION_TOKEN を環境変数で渡す(Option B)
  • aws login でマネジメントコンソールの認証情報を使う(Option D)
  • Amazon Bedrock の API キーを AWS_BEARER_TOKEN_BEDROCK に設定する(Option E)。この方法は資格情報チェーンを使いません

リージョンは AWS_REGION、AWS_DEFAULT_REGION、プロファイルの region、us-east-1 の順で決まります。使われているリージョンは、セッション内の /status で確認できます。

3. VS Code・JetBrains では IDE に環境変数を渡す

ターミナルの claude では動くのに、VS Code や JetBrains の拡張機能でだけこのエラーが出る場合、IDE のプロセスがシェルの環境変数を引き継いでいない可能性が高いと公式ドキュメントは説明しています。対処は次のどちらかです。

  • IDE 自身の設定で、CLAUDE_CODE_USE_BEDROCK や AWS_PROFILE などの環境変数を設定する
  • 環境変数を export 済みのターミナルから IDE を起動する(例:code .)

claude の設定ファイル(~/.claude/settings.json)の env ブロックに書く方法もあります。公式の /setup-bedrock ウィザードも、選んだ認証方法やリージョンをこの env ブロックに保存します(Sign in with Bedrock)。GitHub には、Codespaces 上の VS Code 拡張でこの症状が出たという報告もあります(anthropics/claude-code #51108、コミュニティ報告)。この報告では環境変数自体は正しく設定・確認できていたのに、VS Code 拡張から実行したときだけ失敗していました(プレーンな CLI では再現していません)。issue はこの記事の作成時点で修正されたわけではなく、動きがないまま stale としてクローズされています。

4. credential_process を単体で動かす

プロファイルで credential_process を使っている場合、そのコマンドが失敗しても、表示は汎用の Could not load credentials from any providers になります。プロファイルに書かれたコマンドをターミナルで直接実行し、認証情報の JSON が出力されるか確認してください。

5. 固まる・タイムアウトする場合

詳細文が AWS default-chain credential resolve timed out のときは、チェーンが「失敗した」のではなく「止まった」状態です。Claude Code は1回の解決を60秒で打ち切ります(AWS default-chain credential resolve timed out)。公式ドキュメントが挙げる原因と対処は次のとおりです。

  • 入力を待つ credential_process → aws sts get-caller-identity も固まるなら、プロファイル側を直す
  • 応答しない IMDS(コンテナや VM) → 環境側を直す
  • MFA 付き SSO など、正当に60秒以上かかる → aws sso login を先に済ませるか、CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS をミリ秒で引き上げる

EC2 以外のマシン(手元の Mac など)では、AWS SDK の設定 AWS_EC2_METADATA_DISABLED=true で IMDS への問い合わせを止められます(AWS SDKs and Tools Reference Guide)。後述のとおり、手元の検証ではこれがあるかないかでエラー表示までの時間が大きく変わりました。EC2 のインスタンスロールで認証している環境では設定しないでください。

6. 古いバージョンなら更新する

ドキュメントには、バージョン固有の問題が2つ記載されています。

  • v2.1.207:Bedrock のリージョンが SSO プロファイルの sso_region を上書きしていたため、IAM Identity Center が別リージョンにあると Session token not found or invalid で失敗した
  • v2.1.207 より前:チェーンが止まると、エラーにならずに待ち続けた

claude --version で確認し、古ければ更新してください。

実機での再現結果(v2.1.282)

2026年9月25日、macOS 上の Claude Code v2.1.282 で、本物の認証情報を一切使わずに再現しました。共通の条件は CLAUDE_CODE_USE_BEDROCK=1・AWS_REGION=us-east-1、AWS のキーの環境変数はすべて未設定、AWS_CONFIG_FILE と AWS_SHARED_CREDENTIALS_FILE は存在しないパス、~/.aws のない空のホームディレクトリです。実行したのは claude -p hi です。

条件表示されたメッセージ(API Error: Could not load AWS credentials · の後ろ)
認証情報なしCould not load credentials from any providers. Check or refresh your AWS credentials and try again.
AWS_PROFILE に存在しないプロファイル名同上
credential_process = /usr/bin/false のプロファイル同上
SSO プロファイルで未サインインThe SSO session token associated with profile=myprofile was not found or is invalid. To refresh this SSO session run 'aws sso login' with the corresponding profile. Check or refresh your AWS credentials and try again.

いずれも終了コードは1でした。

再試行の挙動と表示までの時間は、AWS_EC2_METADATA_DISABLED の設定有無で大きく変わりました。このマシンで計測した2つのケースを分けて示します。

  • AWS_EC2_METADATA_DISABLED=true を設定した場合(実機で確認):--output-format stream-json --verbose で実行すると、"error":"cloud_credential_error" の再試行イベントが1回記録されました(max_retries の設定値は 2)。メッセージが表示されるまでは約1.6秒でした。
  • AWS_EC2_METADATA_DISABLED を設定せず、IMDS への問い合わせを止めていない場合(実機で確認、再実行で内訳を記録):起動から約60秒後に最初の再試行イベントが記録され、そこから約60秒間隔で "error":"unknown" の再試行が6回(max_retries の設定値は 10)発生し、最後に "error":"cloud_credential_error" に切り替わってメッセージが表示されました。合計で約490秒(約8分)かかっています。EC2 ではない Mac で IMDS への問い合わせ待ちに時間がかかっていたためと考えられます。

この時間はネットワーク環境によって変わるはずなので、このマシンで計測した目安として扱ってください。

インタラクティブ画面、VS Code 拡張、実際の AWS アカウントを使った確認はしていません。

似ているが別のエラー

AWS まわりには、原因も対処も異なるメッセージがいくつかあります。見分けるポイントは「AWS まで届いたかどうか」です。

メッセージの先頭意味このエラーとの違い
AWS authentication failedAmazon Bedrock が 401、または AWS が 403 を返したAWS まで届いている。期限切れのほか、IAM 権限やモデルのアクセス許可の不足もありうる
AWS credentials expired or invalidClaude Platform on AWS か Mantle エンドポイントが 401 を返した届いたうえで、トークンが期限切れか拒否された
Timed out after 60s waiting for AWS/setup-bedrock ウィザードの確認中に AWS 呼び出しが止まったウィザード内だけで出る
unable to get local issuer certificateTLS検査プロキシのCAを信頼できていない(v2.1.261より前はBedrockまわりのリクエストがOSの証明書ストアを見ない不具合もあった)証明書の問題(SSL certificate verification failed の対処法)

出典はいずれも Error reference と Claude Code on Amazon Bedrock です。AWS authentication failed が出た場合は、aws sts get-caller-identity で「どの ID でリクエストしているか」を確認するよう公式ドキュメントは勧めています。古い AWS_PROFILE や default プロファイルのまま、権限のない ID で接続しているケースがよくあるためです。

Claude Code のエラー全般はClaude Code トラブルシューティング完全ガイドにまとめています。

チームで Bedrock を使う場合(管理者向け)

社内で Bedrock 経由の Claude Code を配る場合、公式ドキュメントでは次の設定が用意されています。

  • awsAuthRefresh:認証情報の期限切れを検知したときに、aws sso login --profile myprofile のようなコマンドを自動で実行します。実行前に STS の GetCallerIdentity で本当に期限切れかを確かめ、まだ有効なら実行しません
  • awsCredentialExport:セッション開始時などに、認証情報を JSON で返すコマンドを実行します。.aws を変更できない環境や、既定チェーンとは別アカウントの認証情報が必要な場合に使います
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}

注意点として、企業の VPN や TLS 検査プロキシが SSO のブラウザ処理を妨げる環境では、awsAuthRefresh がブラウザのタブを開き続けるループになることがあります。その場合は awsAuthRefresh を外し、起動前に手動で aws sso login を実行する運用にするよう、公式ドキュメントに記載されています。

IAM 権限の設計やモデルのアクセス許可を含む導入全体は、Claude Code の企業導入ガイドとセキュリティ設計ガイドで解説しています。

よくある質問

まとめ

  • このエラーは、Bedrock・Claude Platform on AWS・Mantle エンドポイント利用時に AWS の認証情報が手元で1つも見つからなかったという意味。AWS まで届いていない
  • まず同じシェルで aws sts get-caller-identity を実行し、シェル側の問題か、Claude Code に届いていない問題かを切り分ける
  • SSO なら aws sso login と AWS_PROFILE。IDE でだけ出るなら、IDE に環境変数を渡す
  • 詳細文が resolve timed out なら、止まっている箇所(credential_process・IMDS)を直す
  • AWS authentication failed は AWS まで届いた後のエラーで、権限やモデルのアクセス許可も疑う

koromo からの提案

AIツールの導入判断は、突き詰めると「投資対効果が合うか」「リスクを管理できるか」「事業にどう効くか」の3点に帰着します。koromo では、この判断に必要な材料を整理するところからご支援しています。

以下のような状況にある方は、まず現状の整理だけでも前に進むきっかけになります。

  • AIで開発や業務を効率化したいが、自社に合う方法がわからない
  • 社内にエンジニアがいない / 少人数で、AI導入の進め方に見当がつかない
  • 外注先の開発会社にAI活用を提案したいが、何を求めればいいか整理できていない
  • 「AIを使えばコスト削減できるはず」と感じているが、具体的な試算ができていない

ツールを使った上で相談したい方はお問い合わせフォームから「Claude Code の Bedrock 導入・認証設計の相談」とご記載ください。初回の壁打ち(30分)は無料で対応しています。

無料で相談する

関連記事