前提条件
Claude Code を Amazon Bedrock で設定する前に、以下を確認してください。- Amazon Bedrock アクセスが有効になっている AWS アカウント
- Amazon Bedrock で目的の Claude モデル(例:Claude Sonnet 4.6)へのアクセス
- AWS CLI がインストールされ、設定されていること(オプション - 認証情報を取得する別のメカニズムがない場合のみ必要)
- 適切な IAM 権限
Bedrock でサインイン
AWS 認証情報を持っていて、Amazon Bedrock を通じて Claude Code の使用を開始したい場合、ログインウィザードがそれをガイドします。AWS 側の前提条件はアカウントごとに 1 回完了します。ウィザードは Claude Code 側を処理します。1
AWS アカウントで Anthropic モデルを有効にする
Amazon Bedrock コンソールで、モデルカタログを開き、Anthropic モデルを選択して、ユースケースフォームを送信します。送信直後にアクセスが付与されます。AWS Organizations についてはユースケースの詳細を送信を、権限については IAM 設定を参照してください。
2
Claude Code を開始して Amazon Bedrock を選択する
claude を実行します。ログインプロンプトで、3rd-party platform、次に Amazon Bedrock を選択します。3
ウィザードプロンプトに従う
AWS に認証する方法を選択します。
~/.aws ディレクトリから検出された AWS プロファイル、Amazon Bedrock API キー、アクセスキーとシークレット、または環境内に既にある認証情報です。ウィザードはリージョンを取得し、アカウントが呼び出せる Claude モデルを確認し、それらをピン留めできます。結果は user settings file の env ブロックに保存されるため、環境変数を自分でエクスポートする必要はありません。/setup-bedrock を実行してウィザードを再度開き、認証情報、リージョン、またはモデルピンを変更できます。モデルピンステップは、現在ピン留めされているモデルから開始されます。ウィザードは ~/.claude/settings.json に書き込むか、CLAUDE_CONFIG_DIR が設定されている場合は $CLAUDE_CONFIG_DIR/settings.json に書き込みます。
手動でセットアップ
ウィザードの代わりに環境変数を通じて Amazon Bedrock を設定するには、例えば CI またはスクリプト化されたエンタープライズロールアウトで、以下の手順に従ってください。
- ユースケースの詳細を送信
Anthropic モデルの初回ユーザーは、モデルを呼び出す前にユースケースの詳細を送信する必要があります。これは AWS アカウントごとに 1 回行われます。
- 以下で説明する適切な IAM 権限があることを確認してください
- Amazon Bedrock コンソールに移動します
- モデルカタログから Anthropic モデルを選択します
- ユースケースフォームを完成させます。送信直後にアクセスが付与されます。
PutUseCaseForModelAccess API を使用して管理アカウントからフォームを 1 回送信できます。この呼び出しには bedrock:PutUseCaseForModelAccess IAM 権限が必要です。承認は子アカウントに自動的に拡張されます。
- AWS 認証情報を設定
Claude Code は、デフォルトの AWS SDK 認証情報チェーンを使用します。以下のいずれかの方法を使用して認証情報を設定してください。
オプション A:AWS CLI 設定
your-profile-name をこれらのコマンドを実行する前に AWS プロファイルの名前に置き換えてください。
sso_region で指定されており、Amazon Bedrock を実行するリージョンと一致する必要はありません。v2.1.207 では、Amazon Bedrock リージョンが sso_region をオーバーライドしていたため、IAM Identity Center インスタンスが別のリージョンにあるプロファイルは Session token not found or invalid エラーで認証に失敗しました。
オプション D:AWS Management Console 認証情報
aws login について詳しく学習してください。
オプション E:Amazon Bedrock API キー
認証情報キャッシングと解決タイムアウト
Claude Code は AWS デフォルト認証情報プロバイダーチェーンを 1 回解決し、解決された認証情報をメモリに保持します。有効期限の 5 分前まで、または有効期限がない場合は 1 時間の間、それらを再利用するため、SSO バックアップ プロファイルは IAM Identity Center から認証情報を約 1 回リクエストします。API からの認証情報エラーはキャッシュをクリアし、再試行は新しい認証情報を解決します。 v2.1.207 より前では、Claude Code は API リクエストのたびにチェーンを解決していたため、SSO バックアップ プロファイルは毎回 IAM Identity Center から新しい認証情報をリクエストでき、大規模なデプロイメントでスロットルされる可能性がありました。 キャッシュは上記のすべての認証情報オプションをカバーしていますが、Amazon Bedrock API キーはプロバイダーチェーンを使用しないため除外されます。代わりにすべてのリクエストでチェーンを解決するには、CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1 を設定してください。
チェーンの各解決は 60 秒後にタイムアウトします。チェーン内のステップが停止した場合、例えば受け取ることができない入力を待つ credential_process ヘルパーの場合、リクエストは AWS default-chain credential resolve timed out で失敗します。チェーンが aws-vault などのラッパーを通じた MFA を使用したブラウザベースの SSO など、正当に長い時間が必要な対話的サインインを実行する場合は、CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS でミリ秒単位で制限を上げてください。v2.1.207 より前では、停止した認証情報解決はリクエストを無期限に待機させていました。
高度な認証情報設定
Claude Code は、AWS SSO および企業 ID プロバイダーの自動認証情報更新をサポートしています。これらの設定を Claude Code 設定ファイルに追加してください(ファイルの場所については Settings を参照)。 これら 2 つの設定には異なるトリガー条件があります。awsAuthRefresh:Claude Code がローカルのタイムスタンプに基づくか、API が認証情報エラーを返した場合に AWS 認証情報の有効期限が切れていることを検出した場合にのみ実行され、更新された認証情報でリクエストを再試行します。awsCredentialExport:セッション開始時および各認証情報リロード時に実行されます。AWS デフォルト認証情報プロバイダーチェーン内の認証情報がまだ有効な場合でも実行されます。Amazon Bedrock アカウントがデフォルトプロバイダーチェーンが解決するものと異なるクロスアカウント認証情報を必要とする場合に使用します。
awsAuthRefresh:.aws ディレクトリを変更するコマンド(認証情報、SSO キャッシュ、または設定ファイルの更新など)に使用します。コマンドの出力はユーザーに表示されますが、対話的な入力はサポートされていません。これは、CLI が URL またはコードを表示し、ブラウザで認証を完了するブラウザベースの SSO フローに適しています。
awsCredentialExport:.aws を変更できず、認証情報を直接返す必要がある場合にのみ使用します。このコマンドは、認証情報の有効期限が切れた場合だけでなく、認証情報をリフレッシュする必要があるたびに実行されます。出力はサイレントにキャプチャされ、ユーザーに表示されません。コマンドは次の形式で JSON を出力する必要があります。
aws configure export-credentials --format process からのフラット出力も受け入れられます。Credentials の下にネストされるのではなく、同じキーがトップレベルにあります。
Expiration はオプションです。Claude Code v2.1.176 以降では、コマンドが有効な ISO 8601 Expiration を返す場合、Claude Code はその時刻の 5 分前までの認証情報をキャッシュします。それがない場合、または以前のバージョンでは、認証情報は 1 時間キャッシュされます。
awsCredentialExport を awsAuthRefresh なしで設定する場合、Claude Code はエクスポートされた認証情報を直接使用し、スタートアップで AWS デフォルト認証情報プロバイダーチェーンを再解決しません。v2.1.206 より前では、スタートアップはデフォルトプロバイダーチェーンも再解決していたため、プロキシ設定外でライブ SSO または STS 呼び出しを行い、制限されたエグレスを持つネットワークで最初のプロンプトを数分間ブロックする可能性がありました。
- Claude Code を設定
Bedrock を有効にするために、以下の環境変数を設定します。
-
v2.1.172 以降では、AWS プロファイルのリージョンをオーバーライドする場合、またはプロファイルにリージョンがない場合にのみ
AWS_REGIONを設定する必要があります。Claude Code はこの順序でリージョンを解決します。AWS_REGIONAWS_DEFAULT_REGION- AWS 共有認証情報ファイルから最初に読み込まれ、次に共有設定ファイルから読み込まれた、アクティブな AWS プロファイルに設定されたリージョン(AWS SDK の優先順位と一致)
us-east-1
AWS_PROFILE、そうでない場合はdefaultです。AWS_SHARED_CREDENTIALS_FILEまたはAWS_CONFIG_FILEを設定して、デフォルト以外のファイルパスを指定します。/statusを実行して、解決されたリージョンを確認します。リージョンが AWS 設定ファイルまたはデフォルトフォールバックから取得された場合、/statusはソースも記載します。v2.1.171 以前では、Claude Code は AWS 設定ファイルを読み込まないため、AWS_REGIONを明示的に設定してください。 -
Amazon Bedrock を使用する場合、
/logoutコマンドは無効になります。認証は AWS 認証情報を通じて処理されるためです。 - WebSearch ツールは Amazon Bedrock では利用できません。WebSearch ツールの動作を参照してください。
-
他のプロセスに漏らしたくない
AWS_PROFILEなどの環境変数に設定ファイルを使用できます。詳細については Settings を参照してください。
- モデルバージョンをピン留め
これらの環境変数を特定の Amazon Bedrock モデル ID に設定します。
ANTHROPIC_DEFAULT_OPUS_MODEL がない場合、Amazon Bedrock の opus エイリアスは Opus 4.8 に解決され、ANTHROPIC_DEFAULT_SONNET_MODEL がない場合、sonnet エイリアスは Sonnet 4.5 に解決されます。この例は各エイリアスを特定のバージョンにピン留めします。
us. プレフィックス付き)を使用します。別のリージョンプレフィックスまたはアプリケーション推論プロファイルを使用する場合は、それに応じて調整してください。AWS GovCloud リージョンでは、us-gov. プレフィックスを使用します。現在および従来のモデル ID については、Models overview を参照してください。環境変数の完全なリストについては、Model configuration を参照してください。
ピン留め変数が設定されていない場合、Claude Code はこれらのデフォルトモデルを使用します。
セッションタイトル生成などのバックグラウンドタスクは、小型/高速モデル(通常は Haiku クラスモデル)を使用します。Amazon Bedrock では、すべてのアカウントまたはリージョンで Haiku が有効になっていない可能性があるため、Claude Code はバックグラウンドタスク用にデフォルト Sonnet モデルを使用します。バックグラウンドタスクを実行するモデルを変更する 2 つの選択肢があります。
--model、ANTHROPIC_MODEL、またはmodel設定でプライマリモデルを選択すると、バックグラウンドタスクはそのモデルを使用します。ANTHROPIC_DEFAULT_SONNET_MODELなしでANTHROPIC_DEFAULT_OPUS_MODELを設定することも、組み込み Sonnet モデルが独自の Opus を操舵するアカウントで有効になっていない可能性があるため、選択としてカウントされます。- バックグラウンドタスクに Haiku を使用するには、
ANTHROPIC_DEFAULT_HAIKU_MODELをアカウントで利用可能なモデル ID に設定してください。
opus エイリアスは Opus 4.6 に解決され、バックグラウンドタスクは常にプライマリモデルを使用していました。
モデルをさらにカスタマイズするには、以下のいずれかの方法を使用します。
プロンプトキャッシングは、すべての Amazon Bedrock リージョンで利用できない場合があります。キャッシュトークンカウントがゼロのままの場合は、Amazon Bedrock ドキュメントのサポートされているモデル、リージョン、および制限を確認してください。
各モデルバージョンを推論プロファイルにマップ
ANTHROPIC_DEFAULT_*_MODEL 環境変数は、モデルファミリーごとに 1 つの推論プロファイルを設定します。組織が同じファミリーの複数のバージョンを /model ピッカーで公開し、それぞれを独自のアプリケーション推論プロファイル ARN にルーティングする必要がある場合は、代わりに settings file の modelOverrides 設定を使用してください。
この例は、4 つの Opus バージョンを異なる ARN にマップするため、ユーザーは組織の推論プロファイルをバイパスすることなく、それらを切り替えることができます。
/model でこれらのバージョンのいずれかを選択すると、Claude Code はマップされた ARN で Amazon Bedrock を呼び出します。同じマッピングは、--model または ANTHROPIC_MODEL を通じて Anthropic モデル ID を直接渡す場合にも適用されます。オーバーライドのないバージョンは、組み込みの Amazon Bedrock モデル ID またはスタートアップで検出された一致する推論プロファイルにフォールバックします。v2.1.200 より前では、--model および ANTHROPIC_MODEL の値はオーバーライドマップを通さずに Amazon Bedrock に到達しました。オーバーライドが availableModels および他のモデル設定とどのように相互作用するかについては、Override model IDs per version を参照してください。
スタートアップモデルチェック
Claude Code が Amazon Bedrock で設定されて起動すると、使用するモデルがアカウントでアクセス可能であることを確認します。 現在の Claude Code デフォルトより古いモデルバージョンをピン留めしていて、アカウントが新しいバージョンを呼び出せる場合、Claude Code はピンを更新するよう促します。受け入れると、新しいモデル ID が user settings file に書き込まれ、Claude Code が再起動されます。拒否すると、次のデフォルトバージョン変更まで記憶されます。アプリケーション推論プロファイル ARNを指す PIN は、管理者によって管理されるため、スキップされます。 モデルをピン留めしていなくて、現在のデフォルトがアカウントで利用できない場合、Claude Code は現在のセッションでフォールバックし、通知を表示します。デフォルトモデルの以前のバージョンを最初に試し、デフォルトが Opus モデルで Opus バージョンが利用できない場合は、デフォルト Sonnet モデルにフォールバックします。フォールバックは永続化されません。Amazon Bedrock アカウントで新しいモデルを有効にするか、バージョンをピン留めして選択を永続化してください。IAM 設定
Claude Code に必要な権限を持つ IAM ポリシーを作成します。bedrock:GetInferenceProfile により、Claude Code はアプリケーション推論プロファイル ARNをそのバッキング基盤モデルに解決でき、そのモデルに対して正しいリクエスト形状を選択するために使用されます。
トークンにこの権限がない場合、Claude Code は代替形状で 1 回再試行することで自動的に復旧するため、リクエストは成功しますが、新しいモデルが追加されるたびに追加のラウンドトリップが発生します。権限を付与することで再試行を回避できます。これは AWS_BEARER_TOKEN_BEDROCK デプロイメントに最も頻繁に適用され、トークンのポリシーは通常、完全な IAM ロールよりも狭くなります。
詳細については、Amazon Bedrock IAM ドキュメントを参照してください。
コスト追跡とアクセス制御を簡素化するために、Claude Code 用の専用 AWS アカウントを作成してください。
1M トークンコンテキストウィンドウ
Claude Sonnet 5、Opus 4.6 以降、および Sonnet 4.6 は、Amazon Bedrock で 1M トークンコンテキストウィンドウをサポートしています。Sonnet 5 は Mantle エンドポイントを通じて提供され、常に 1M ウィンドウで実行されます。選択する[1m] バリアントはありません。その他のモデルについては、Claude Code は 1M モデルバリアントを選択すると、拡張コンテキストウィンドウを自動的に有効にします。
セットアップウィザードは、モデルをピン留めするときに 1M コンテキストオプションを提供します。手動でピン留めされたモデルの代わりに有効にするには、モデル ID に [1m] を追加します。詳細については、サードパーティデプロイメント用のモデルをピン留めするを参照してください。
サービスティア
Amazon Bedrock サービスティアを使用すると、コストとレイテンシーのトレードオフを行うことができます。ANTHROPIC_BEDROCK_SERVICE_TIER を default、flex、または priority に設定します。
X-Amzn-Bedrock-Service-Tier ヘッダーとしてこれを送信します。ティアの可用性はモデルとリージョンによって異なります。予約容量は、この設定の代わりにプロビジョニングされたスループット ARN をモデル ID として使用します。
AWS Guardrails
Amazon Bedrock Guardrailsを使用すると、Claude Code のコンテンツフィルタリングを実装できます。Amazon Bedrock コンソールで Guardrail を作成し、バージョンを公開してから、Guardrail ヘッダーを settings file に追加します。クロスリージョン推論プロファイルを使用している場合は、Guardrail でクロスリージョン推論を有効にしてください。 設定例:Mantle エンドポイントを使用する
Mantle は、Bedrock Invoke API ではなく、ネイティブ Anthropic API シェイプを通じて Claude モデルを提供する Amazon Bedrock エンドポイントです。同じ AWS 認証情報、IAM 権限、およびawsAuthRefresh 設定を使用します。このページで前述したものです。
Mantle を有効にする
AWS 認証情報が既に設定されている場合、CLAUDE_CODE_USE_MANTLE を設定して、リクエストを Mantle エンドポイントにルーティングします。
AWS_REGION のみを使用します。カスタムエンドポイントまたはゲートウェイの URL をオーバーライドするには、ANTHROPIC_BEDROCK_MANTLE_BASE_URL を設定します。
Claude Code 内で /status を実行して確認します。Mantle がアクティブな場合、プロバイダー行は Amazon Bedrock (Mantle) を表示します。
Mantle モデルを選択する
Mantle はanthropic. で始まり、バージョンサフィックスのないモデル ID を使用します。例えば anthropic.claude-sonnet-5 または anthropic.claude-haiku-4-5 です。アカウントで利用可能なモデルは、組織に付与されたものに依存します。追加のモデル ID は AWS からのオンボーディング資料に記載されています。AWS アカウントチームに連絡して、許可リストされたモデルへのアクセスをリクエストしてください。
--model フラグまたは Claude Code 内の /model でモデルを設定します。
Mantle を Invoke API と並行して実行する
Mantle で利用可能なモデルは、今日使用するすべてのモデルを含まない場合があります。CLAUDE_CODE_USE_BEDROCK と CLAUDE_CODE_USE_MANTLE の両方を設定すると、Claude Code は同じセッションから両方のエンドポイントを呼び出せます。Mantle 形式に一致するモデル ID は Mantle にルーティングされ、他のすべてのモデル ID は Amazon Bedrock Invoke API に移動します。
/model ピッカーに表示するには、settings file の availableModels にその ID をリストします。この設定はピッカーをリストされたエントリに制限するため、保持したいバージョンのバージョンプレフィックスまたは完全な ID もリストします。Mantle ID と haiku エイリアスは同じモデルファミリーに解決されるため、マージはより具体的なエントリのみを保持します。Merge behavior を参照してください。
anthropic. プレフィックス付きのエントリはカスタムピッカーオプションとして追加され、Mantle にルーティングされます。anthropic.claude-haiku-4-5 をアカウントに付与されたモデル ID に置き換えます。availableModels が他のモデル設定とどのように相互作用するかについては、Restrict model selection を参照してください。
両方のプロバイダーがアクティブな場合、/status は Amazon Bedrock + Amazon Bedrock (Mantle) を表示します。
Mantle をゲートウェイ経由でルーティングする
組織がモデルトラフィックを集中化された LLM gateway を通じてルーティングし、AWS 認証情報をサーバー側に注入する場合、クライアント側認証を無効にして、Claude Code が SigV4 署名またはx-api-key ヘッダーなしでリクエストを送信するようにします。
Mantle 環境変数
これらの変数は Mantle エンドポイントに固有です。完全なリストについては、Environment variables を参照してください。トラブルシューティング
SSO と企業プロキシでの認証ループ
AWS SSO を使用する場合にブラウザタブが繰り返し生成される場合は、settings file からawsAuthRefresh 設定を削除してください。これは、企業 VPN または TLS 検査プロキシが SSO ブラウザフローを中断した場合に発生する可能性があります。Claude Code は中断された接続を認証失敗として扱い、awsAuthRefresh を再実行し、無限ループします。
ネットワーク環境が自動ブラウザベースの SSO フローに干渉する場合は、awsAuthRefresh に依存する代わりに、Claude Code を開始する前に手動で aws sso login を使用してください。
リージョンの問題
リージョンの問題が発生した場合:- モデルの可用性を確認:
aws bedrock list-inference-profiles --region your-region - サポートされているリージョンに切り替え:
export AWS_REGION=us-east-1 - クロスリージョンアクセスに推論プロファイルの使用を検討
- モデルを inference profile ID として指定します
ゲートウェイまたはプロキシの背後でのストリーミングエラー
ストリーミングリクエストがBedrock streaming response has content-type で始まるエラーで失敗する場合、Claude Code と Amazon Bedrock の間のゲートウェイまたはプロキシがストリーミングレスポンスを変換しています。Amazon Bedrock はバイナリイベントストリーム形式でレスポンスをストリーミングし、content-type は application/vnd.amazon.eventstream であり、Claude Code は読み取ることができないボディをデコードする代わりに、異なる content-type を報告する成功したストリーミングレスポンスを拒否します。エラーは受け取った content-type を名前付けます。一般的には Amazon API Gateway と Lambda 統合からの text/event-stream で、ストリームをサーバー送信イベントとして再発行します。
v2.1.208 より前では、同じ設定ミスは、レスポンス全体がバッファリングされた後に API Error: Truncated event message received として表示されていました。
これを修正するには、ゲートウェイを設定して InvokeModelWithResponseStream レスポンスボディとその Content-Type ヘッダーを変更されずに通すようにしてください。ゲートウェイがヘッダーのみを書き換え、バイナリボディをそのまま通す場合は、CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 を設定してチェックをスキップし、ゲートウェイが修正されるまで待ってください。チェックをオフにすると、変換されたレスポンスボディは再び Truncated event message received で失敗します。
/context でのゼロトークンカウント
/context コマンドは、ツールスキーマを Amazon Bedrock count-tokens API に送信することで、各ツールグループのトークンをカウントします。Claude Code v2.1.196 より前のバージョンでは、スキーマが count-tokens API が受け入れないフィールドを含んでいたため、Amazon Bedrock がそのリクエストを拒否し、すべてのツールグループが 0 トークンを表示していました。メッセージやメモリファイルなど、内訳の他の行は影響を受けません。
v2.1.196 以降に更新してください。
Mantle エンドポイントエラー
CLAUDE_CODE_USE_MANTLE を設定した後、/status が Amazon Bedrock (Mantle) を表示しない場合、変数がプロセスに到達していません。Claude Code を起動したシェルでエクスポートされているか、settings file の env ブロックで設定されていることを確認してください。
有効な認証情報を持つ Mantle エンドポイントからの 403 は、AWS アカウントがリクエストしたモデルへのアクセスを許可されていないことを意味します。AWS アカウントチームに連絡してアクセスをリクエストしてください。
モデル ID を名前付ける 400 は、そのモデルが Mantle で提供されていないことを意味します。Mantle は標準 Amazon Bedrock カタログとは別の独自のモデルラインアップを持っているため、us.anthropic.claude-sonnet-4-6 などの推論プロファイル ID は機能しません。Mantle 形式の ID を使用するか、両方のエンドポイントを有効にして、Claude Code が各リクエストをモデルが利用可能なエンドポイントにルーティングするようにしてください。