Claude Code Bedrock Mantleエンドポイントの使い方
Claude CodeからAmazon BedrockのMantleエンドポイントを使うための有効化・IAM権限・モデル選択・併用設定・ゲートウェイ経由ルーティングと、403・400の切り分けを手順で確認します。
Bedrock Mantleエンドポイントとは何か
Mantleは、Amazon BedrockでClaudeモデルを提供するエンドポイントの一つです。通常のBedrock接続がAmazon Bedrock独自のInvoke API形式でリクエストを送るのに対し、MantleはAnthropicのネイティブAPIと同じ形式でモデルを呼び出します。AWS認証情報とawsAuthRefresh設定は通常のBedrock接続と共通です。
一方、IAM権限は共通ではありません。Mantleにはbedrock-mantle:プレフィックスの独自のIAMアクションがあり、通常のBedrockに付けていたbedrock:系の許可ではカバーされません。認証の仕組みは同じでも、権限ポリシーは別に用意する必要があります。
MantleとInvoke APIの違い
Mantle
リクエスト・レスポンスがAnthropicのネイティブAPIと同じ形です。モデルIDはanthropic.claude-haiku-4-5のようにバージョンサフィックスなしのanthropic.形式で、IAMアクションはbedrock-mantle:プレフィックスです。Anthropic API形式を前提にしたツールやゲートウェイを、変換層なしでBedrock経由でも使い回したいときに向きます。
Invoke API
Amazon Bedrock独自のリクエスト形式です。クロスリージョン推論プロファイルのID(us.anthropic.claude-sonnet-4-6など)とbedrock:系のIAMアクションを使います。推論プロファイルやaws bedrock系CLIの運用をそのまま続けたいなら、こちらで足ります。
Bedrock経由の料金構造自体はAWS BedrockのClaude料金は直接APIとどう違うかにまとめています。MantleとInvoke APIの料金差については、Claude Codeのドキュメントに記載がありません。
Mantleを有効にする
AWS認証情報がすでに設定済みであれば、環境変数でMantleへのルーティングが始まります。まだAWS側の認証を設定していない場合は、Claude Code Bedrockセットアップの/setup-bedrockウィザードで先にサインインを済ませておくと迷いません。
Mantleを有効にして確認するまで
- 1
IAMに bedrock-mantle: の許可を付ける
推論には
bedrock-mantle:CreateInference、トークン数の計算にはbedrock-mantle:CountTokensが必要です。通常のBedrock用ポリシーとは別に付与します。 - 2
環境変数を設定する
CLAUDE_CODE_USE_MANTLE=1を設定します。リージョンはAWS側の設定から解決され、明示したいときだけAWS_REGIONを追加します。 - 3
/status でプロバイダー行を見る
Mantleが有効なら
Amazon Bedrock (Mantle)と表示されます。出ない場合は環境変数がプロセスに届いていません。
export CLAUDE_CODE_USE_MANTLE=1
export AWS_REGION=us-east-1Claude CodeはAWSリージョンからMantleのエンドポイントURLを自動で組み立てます。リージョンは通常のBedrockと同じ優先順位で解決されます。AWS_REGION、AWS_DEFAULT_REGION、使用中のAWSプロファイルのregion、us-east-1の順です。形式がリージョン名らしくない値(スラッシュ・ドット・空白を含むものなど)は未設定として扱われ、次の候補に進みます。
Bedrock側では、v2.1.172でAWS_REGIONが無いときに~/.awsの設定ファイルからリージョンを読むようになりました。それより古いバージョンを使っている場合は、AWS_REGIONを明示しておくと確実です。カスタムエンドポイントやゲートウェイ向けにURLを上書きしたいときはANTHROPIC_BEDROCK_MANTLE_BASE_URLを使います。
使えるモデルを選ぶ
Mantleのモデルカタログは、通常のBedrockカタログとは別に管理されています。IDはanthropic.で始まり、バージョンサフィックスが付きません。たとえばanthropic.claude-sonnet-5やanthropic.claude-haiku-4-5です。
claude --model anthropic.claude-haiku-4-5--modelはclaude --helpにも載っているオプションで、v2.1.287では「エイリアス('fable'・'opus'・'sonnet'など)かモデルのフルネームを渡す」と説明されています。Mantle形式のIDはフルネームとして渡せます。セッション中に切り替えるなら/modelでも指定できます。
利用できるモデルはAWSアカウントに許可されたものだけで、追加のモデルIDはAWSからのオンボーディング資料に載っています。想定のモデルが使えないときは、AWSアカウントチームにアクセス許可を依頼します。
/modelピッカーにMantleモデルを出したいときは、設定ファイルのavailableModelsにIDを列挙します。この設定はピッカーの候補をリストの項目だけに絞る働きもあります。anthropic.claude-haiku-4-5を入れると素のhaikuエイリアスがピッカーから消えます。Mantle形式のIDとhaikuエイリアスは同じモデルファミリーに解決され、マージ時に具体的な方だけが残るためです。両方残したいなら、バージョン付きのIDも一緒に並べます。
{
"availableModels": ["opus", "sonnet", "claude-haiku-4-5", "anthropic.claude-haiku-4-5"]
}anthropic.プレフィックスの項目はカスタムの選択肢として追加され、Mantleに送られます。
Invoke APIと併用する
Mantleで使えるモデルが、これまで使っていたモデルの全部をカバーするとは限りません。CLAUDE_CODE_USE_BEDROCKとCLAUDE_CODE_USE_MANTLEを両方設定すると、同じセッション内で両方のエンドポイントを呼び分けられます。
export CLAUDE_CODE_USE_BEDROCK=1
export CLAUDE_CODE_USE_MANTLE=1Mantle形式のモデルIDはMantleへ、それ以外はAmazon Bedrock Invoke APIへ自動でルーティングされます。両方が有効なとき、/statusはAmazon Bedrock + Amazon Bedrock (Mantle)と表示します。
| 構成 | 向いているケース |
|---|---|
| Mantleのみ | 向いているケースAnthropic API形式のツール・SDKをそのまま使いたい。必要なモデルがMantleに揃っている |
| Invoke APIのみ | 向いているケースクロスリージョン推論プロファイルやBedrock標準のモデル運用を続けたい |
| 両方併用 | 向いているケースMantleにまだ来ていないモデルを残しつつ、段階的に移行したい |
併用時のIAMは、Invoke API側のbedrock:系と、Mantle側のbedrock-mantle:系の両方が要ります。片方だけ付けて移行を始めると、もう片方に振り分けられたモデルのリクエストだけが失敗する形になりかねません。
ゲートウェイ経由でルーティングする
組織が集中管理のLLMゲートウェイでAWS認証情報をサーバー側から注入している場合は、Claude Code側のクライアント認証を無効化できます。CLAUDE_CODE_SKIP_MANTLE_AUTHを設定すると、SigV4署名やx-api-keyヘッダーを付けずにリクエストを送ります。
export CLAUDE_CODE_USE_MANTLE=1
export CLAUDE_CODE_SKIP_MANTLE_AUTH=1
export ANTHROPIC_BEDROCK_MANTLE_BASE_URL=https://your-gateway.example.comゲートウェイ周りでは、ほかにも次の設定が絡みます。
allowedProviders(v2.1.285で追加された管理設定)は、そのマシンで使えるAPIプロバイダーを制限します。対象の例としてMantleがchangelogに挙がっています。管理設定でプロバイダーが絞られている環境では、その一覧にMantleが含まれているかも確認対象になります- v2.1.285で、ポート番号が既定でないベースURLへのBedrock・Mantleのリクエストは、SigV4署名の対象Hostヘッダーにポートを含めるようになりました。ポート付きのゲートウェイURLで署名が合わなかった環境では、このバージョン以降で挙動が変わります
Mantle専用の環境変数は3つで、リージョン上書きの1つは通常のBedrockと共通です。
| 変数 | 用途 |
|---|---|
CLAUDE_CODE_USE_MANTLE | 用途Mantleエンドポイントを有効化(1またはtrue) |
ANTHROPIC_BEDROCK_MANTLE_BASE_URL | 用途既定のMantleエンドポイントURLを上書き |
CLAUDE_CODE_SKIP_MANTLE_AUTH | 用途プロキシ構成向けにクライアント側認証をスキップ |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | 用途Haikuクラスモデル用のAWSリージョンを上書き(BedrockとMantleで共通) |
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MSもMantleに効きます。AWSの既定の認証情報チェーンが認証情報を返すまでの待ち時間で、既定は60000ミリ秒です。ブラウザでのSSOサインインにMFAが絡むなど、チェーンの途中で時間がかかる構成では値を延ばします。v2.1.207以降が必要です。
Mantleでの1Mトークンコンテキストウィンドウ
Claude Sonnet 5・Opus 4.6以降・Sonnet 4.6は、Amazon Bedrockで1Mトークンのコンテキストウィンドウに対応しています。Sonnet 5はInvoke APIとMantleのどちらでも常に1Mウィンドウで動き、選択用の[1m]バリアントはありません。Invoke APIのそのほかのモデルでは、1M対応のバリアントを選んだときに拡張コンテキストウィンドウが自動で有効になります。
セットアップウィザードでモデルをピン留めする場合は1Mコンテキストのオプションが提示されます。手動でピン留めしたモデルに1Mを使うときは、IDの末尾に[1m]を付けます。
つまずきやすいポイント
症状から原因を引くと、次のとおりです。
| 症状 | 原因と対処 |
|---|---|
/statusにAmazon Bedrock (Mantle)と出ない | 原因と対処CLAUDE_CODE_USE_MANTLEがプロセスに届いていない。claudeを起動したシェルでexportされているか、設定ファイルのenvブロックに書かれているかを確認する |
403でエラーにbedrock-mantle:のアクション名が出る | 原因と対処IAMにそのアクションが無い。表示されたアクションをIAMアイデンティティに付与する |
403でアクション名が出ず、認証情報は有効 | 原因と対処リクエストしたモデルへのアクセスがAWSアカウントに許可されていない。AWSアカウントチームに申請する |
モデルIDを名指しした400 | 原因と対処そのモデルがMantleで提供されていない。Mantle形式のIDに直すか、併用設定でモデルごとに振り分ける |
400の典型は、us.anthropic.claude-sonnet-4-6のようなクロスリージョン推論プロファイルのIDを渡した場合です。Mantleは標準のBedrockカタログとは別のラインナップを持つため、このIDは通りません。AWS_BEARER_TOKEN_BEDROCKでAPIキー認証している場合は、AWS_BEARER_TOKEN_BEDROCKとはで認証変数自体の設定ミスも切り分けられます。
Mantle対応はv2.1.94から何を直してきたか
MantleはClaude Code v2.1.94で追加された機能です。その後、認証・キャッシュ課金・管理設定まわりの修正が続いています。古いバージョンを使い続けている環境では、ここに該当する不具合が残っているかもしれません。
Mantle関連の主な修正
- v2.1.94Mantle対応を追加
CLAUDE_CODE_USE_MANTLE=1で有効化できるようになりました。 - v2.1.131認証まわりの修正
Mantle認証で
x-api-keyヘッダーが欠落してエラーになる問題を直しました。 - v2.1.144 / v2.1.161モデル選択と管理設定
v2.1.144はバックグラウンドのサイドクエリがHaikuを使わない問題を修正しました。v2.1.161は
forceLoginOrgUUID・forceLoginMethodのポリシーがMantleを含むサードパーティのセッションをブロックする回帰を直しています。 - v2.1.198 / v2.1.211STS期限切れと課金回帰
v2.1.198はSTSトークンの期限切れで
Please run /loginのまま止まる問題を直し、awsAuthRefreshが自動実行されるようになりました。v2.1.211はプロンプトキャッシュの末尾システムコンテキストが毎回新規入力として課金される回帰を直しています。 - v2.1.234 以降起動時チェックと長い思考中の接続
v2.1.234は、メインループのモデルが決まっている場合に起動時の管理者ピン可用性チェックを飛ばすようにしました。v2.1.257は、Opus 4.7以降の長い思考フェーズでBedrockとMantleの接続が無通信のまま切れる問題に対し、進捗イベントをストリームに流すようにしています。
v2.1.211の課金回帰はBedrock・Google Cloud's Agent Platform(Vertex)・Mantle・Microsoft Foundryの4系統すべてに及んでいました。Mantle単体の不具合ではなく、サードパーティプロバイダーに共通の実装が原因だったことがうかがえます。
まとめ
Mantleに移すときの確認事項は、IAMのbedrock-mantle:許可とモデルIDの書式の2点です。認証情報はInvoke APIと同じでも、この2点を引き継がないと403と400で止まります。ゲートウェイ経由の場合は、使うgatewayのバージョンがMantleを扱えるかを先に確かめます。