Claude Code Bedrock/Vertexで1Mコンテキストを有効化する方法
Amazon BedrockとGoogle Cloud's Agent Platform(旧Vertex AI)のClaude Codeで1Mトークンのコンテキストを使うための、対応モデルと[1m]サフィックスの付け方をまとめます。
Amazon BedrockとGoogle Cloud's Agent Platform(旧Vertex AI)経由のClaude Codeでも、1Mトークンのコンテキストウィンドウは使えます。ただしAnthropic APIに直接つないだときとは条件が違います。プランの使用量クレジットではなく、モデルIDへの[1m]サフィックスが有効・無効を分けます。
対応するのはSonnet 5・Opus 4.6以降・Sonnet 4.6です。Sonnet 5だけは[1m]が不要で常に1Mウィンドウで動き、それ以外のモデルはセットアップウィザードのオプションか、手動でピン留めしたモデルIDへの[1m]付与で切り替えます。この記事では、両プロバイダーでの有効化手順と、つまずきやすい「片方の環境変数だけ[1m]を付け忘れる」というケースの読み方をまとめます。
Bedrock/Vertexの1Mコンテキストは何が違うのか
Anthropic APIに直接つなぐ場合、1Mの利用条件はモデルによって違います。OpusはMax・Team・Enterpriseのサブスクリプションで自動的に1Mへ上がりますが、Sonnet 4.6の1Mはこの自動アップグレード対象に含まれず、Maxを含むどのプランでも使用量クレジットが必要です。しかしこのプランチェックが働くのは、Claude CodeがAnthropic APIに直接接続しているときだけです。BedrockやVertex経由では、この確認自体が行われません。
BedrockとVertexでの1Mは、選んだモデルIDに[1m]が付いているかどうかだけで決まります。付いていれば1Mウィンドウ、付いていなければ200Kウィンドウです。組織のAWSアカウントやGCPプロジェクトの請求は発生しますが、Claude Code側がClaude.aiのプランやクレジット残高を見に行くことはありません。
Sonnet 5だけは例外です。BedrockでもVertexでも、Sonnet 5は[1m]のサフィックスなしで常に1Mウィンドウで動きます。200K版のSonnet 5というものは存在しません。
Bedrockには、通常のInvoke APIとは別にMantleエンドポイントという経路があります。Sonnet 5は、このMantleエンドポイント経由でもInvoke API側と同じく常に1Mウィンドウで動作します。Vertexには相当するエンドポイントの選択肢はなく、この点はBedrock固有の構成です。
セットアップウィザードで有効にする
/setup-bedrockまたは/setup-vertexのウィザードでモデルをピン留めする画面には、1Mコンテキストを有効にする選択肢がそのまま表示されます。新しくBedrockやVertexの接続を組む場合は、ここでチェックを入れるのが一番簡単です。ウィザード自体の起動条件や認証方式はClaude Code BedrockセットアップとClaude Code Vertex AIセットアップにまとめてあるので、初回セットアップはそちらを先に確認してください。
手動でピン留めしたモデルに[1m]を付ける
複数ユーザーへの展開では、モデルのエイリアス(opusやsonnet)を無指定のまま使わず、バージョンを明示的にピン留めするのが公式の推奨です。ピン留めしないと、エイリアスはClaude Codeの組み込みデフォルトに解決され、そのデフォルトが最新リリースに遅れていたり、自分のアカウントでまだ有効化されていなかったりする場合があるためです。
1Mを有効にするには、ピン留めに使う環境変数のモデルIDの末尾に[1m]を追加します。
# Amazon Bedrock(us.が付いたクロスリージョン推論プロファイルID)
export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8[1m]'
# Google Cloud's Agent Platform(旧Vertex AI)
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'ANTHROPIC_DEFAULT_SONNET_MODELにも同じ形式で[1m]を付けられます。Claude Codeはプロバイダーに送信する前にこのサフィックスを取り除くので、AWSやGCP側にはサフィックスなしのモデルIDが渡ります。付けてよいのは、対象モデルが1Mコンテキストに対応している場合だけです。対応外のモデルIDに付けても1Mにはなりません。
/modelから直接指定する場合も同じサフィックスが使えます。
/model opus[1m]
/model sonnet[1m]
/model claude-opus-4-8[1m]つまずきやすい点 — サフィックスは変数ごとに読まれる
BedrockとVertexで特に見落としやすいのが、[1m]サフィックスは変数単位で読まれるという挙動です。同じモデルファミリーでも、ANTHROPIC_MODEL側に[1m]を付けてANTHROPIC_DEFAULT_OPUS_MODEL側に付け忘れると、opusエイリアス経由のセッションだけ200Kのままになります。「片方のセッションは1Mなのに、もう片方は途中で圧縮が始まる」という食い違いは、大抵このどちらかの変数に付け忘れがあるケースです。
opusplan(プランモードでOpusを使う設定)については、ANTHROPIC_DEFAULT_OPUS_MODELに付けた[1m]が、プランモードのOpusフェーズにもそのまま及びます。フェーズ別に別途サフィックスを付け直す必要はありません。
モデルの表示名と説明文をピン留め先に合わせる
サードパーティプロバイダーにピン留めしたモデルは、プロバイダー固有のIDがそのまま/modelピッカーに表示され、Claude Codeがそのモデルの対応機能を認識できないことがあります。ANTHROPIC_DEFAULT_OPUS_MODEL_NAMEやANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTIONのような環境変数で、表示名と説明文を上書きできます。
説明文を自分で設定しない場合、[1m]サフィックス付きでピン留めしたモデルの説明は自動的にCustom Opus model (1M context)になります(CLAUDE_CODE_DISABLE_1M_CONTEXTが有効なときを除く)。チームに配るときにピッカー上で1M対応かどうかが分かるので、あえて上書きしない選択肢もあります。
起動時のモデルチェックとの関係
Claude Code起動時、BedrockとVertexでは意図したモデルにアクセスできるかを確認する処理が動きます。ピン留めしたバージョンが組み込みデフォルトより古く、かつ新しいバージョンをアカウントで呼び出せる場合は、ピンの更新を促すプロンプトが出ます。逆にピン留めがなく、既定のモデルがアカウントで使えない場合は、セッション限定で古いバージョンにフォールバックし、通知が出ます。
--modelやANTHROPIC_MODELで特定のSonnet・Opusバージョンを指定してセッションを始めた場合、そのバージョンが該当エイリアスのピンとして扱われ、組み込みデフォルトの可用性チェック自体がスキップされます。Microsoft Foundryにはこの起動時チェックの仕組みがなく、モデルが使えない場合はフォールバックせずエラーになります。
無効化して200Kに固定する
チームでコストの上限を固定したい、あるいはプロンプトキャッシュの挙動を安定させたい場合は、CLAUDE_CODE_DISABLE_1M_CONTEXT=1で1Mを無効化できます。Sonnet 5のようにネイティブで1Mを持つモデルも、この設定下では200Kウィンドウとして扱われます。オートコンパクションが有効なら200Kの境界で圧縮が始まり、無効なら200Kを超えた時点でPrompt is too longのコンテキスト上限エラーになります。
よくある質問
Bedrock/VertexでもAnthropic APIと同じように、プランで1Mが使えなくなりますか
いいえ。使用量クレジットのチェックが働くのはClaude CodeがAnthropic APIに直接つないでいるときだけです。BedrockとVertex経由では、モデルIDに[1m]が付いているかどうかだけで1M・200Kが決まります。
Sonnet 5にも[1m]を付ける必要がありますか
必要ありません。Sonnet 5はBedrockでもVertexでも常に1Mウィンドウで動作し、200K版は存在しません。
[1m]を付けたのに1Mになりません
対象モデルが1Mコンテキストに対応しているか(Sonnet 5・Opus 4.6以降・Sonnet 4.6)をまず確認します。次に、実際に使っているエイリアス(opusかsonnetか)に対応する環境変数(ANTHROPIC_DEFAULT_OPUS_MODELまたはANTHROPIC_DEFAULT_SONNET_MODEL)に付けているか、--modelやANTHROPIC_MODELで指定した値と食い違っていないかを確認します。[1m]はモデルごとではなく変数ごとに読まれるため、片方だけ付け忘れているケースがよくあります。
[1m]サフィックスはAWSやGCPにそのまま送られますか
送られません。Claude Codeがプロバイダーへリクエストを送る前にサフィックスを取り除くので、Bedrock・Vertex側には通常のモデルIDだけが渡ります。
まとめ
Bedrock・Vertex経由のClaude Codeで1Mコンテキストを使う条件は、Anthropic API直結のときのようなプラン・使用量クレジットの話ではなく、ピン留めしたモデルIDに[1m]が付いているかに一本化されています。セットアップウィザードならチェックボックス一つで済み、手動でピン留めする展開ではANTHROPIC_DEFAULT_OPUS_MODELやANTHROPIC_DEFAULT_SONNET_MODELの末尾に付けます。Sonnet 5だけはサフィックス不要で常に1Mです。
つまずきの大半は、複数の環境変数のうち一つだけ[1m]を付け忘れることに集約されます。展開前にモデルごと・変数ごとの設定を一覧にして確認しておくと、ユーザーによって1Mが有効だったり無効だったりする食い違いを避けられます。1Mコンテキストの分量換算やコスト設計、精度面の注意点はClaude 1Mコンテキストの実務活用にまとめています。BedrockでのClaude Code利用料金の仕組みはAWS BedrockのClaude料金は直接APIとどう違うかを参照してください。