2026年3月30日、Anthropicから重要なアナウンスがありました。Claude Sonnet 4.5 および Claude Sonnet 4(旧バージョン)における1Mトークンコンテキストウィンドウのベータ機能が、2026年4月30日をもって廃止されます。現在 context-1m-2025-08-07 というベータヘッダーを使用してAPIリクエストを行っている方は、この日までに対応が必要です。
何が廃止されるのか
Anthropicは昨年8月、Claude Sonnet 4(claude-sonnet-4-20250522)とClaude Sonnet 4.5(claude-sonnet-4-5-20250929)向けに、1Mトークンのコンテキストウィンドウをベータ機能として提供しました。この機能を利用するには、APIリクエスト時に次のベータヘッダーを付加する必要がありました。
anthropic-beta: context-1m-2025-08-07
このヘッダーがあることで、200Kを超えるトークンを含むリクエストが受け付けられていました。
2026年4月30日以降は、この動作が変わります。 上記のベータヘッダーを付けても効果がなくなり、200K超のトークンを送信すると通常のコンテキストウィンドウ超過エラーが返されます。事前に移行しておかないと、本番システムが突然エラーを返し始めることになりかねません。
影響を受けるモデルと影響を受けないモデル
廃止の影響を受けるモデル(要対応):
claude-sonnet-4-5-20250929(Claude Sonnet 4.5)claude-sonnet-4-20250522(Claude Sonnet 4)
影響を受けないモデル(引き続き1Mトークンを標準サポート):
claude-sonnet-4-6-20260217(Claude Sonnet 4.6)— ベータヘッダー不要claude-opus-4-6-20260205(Claude Opus 4.6)— ベータヘッダー不要
Claude Sonnet 4.6 と Claude Opus 4.6 は、1Mトークンのコンテキストウィンドウが標準機能として提供されており、追加のベータヘッダーは一切不要です。200Kを超えるリクエストも、そのまま通常のAPIコールで処理できます。
移行前後のコード比較
実際にどのようなコード変更が必要かを見てみましょう。
移行前(旧コード)
import anthropic
client = anthropic.Anthropic()
# ❌ 廃止予定の書き方(2026年4月30日以降は動作しない)
response = client.messages.create(
model="claude-sonnet-4-5-20250929", # Sonnet 4.5
max_tokens=8192,
extra_headers={
"anthropic-beta": "context-1m-2025-08-07" # このヘッダーが4/30以降無効化
},
messages=[
{
"role": "user",
"content": very_long_content # 200K超のコンテンツ
}
]
)移行後(推奨コード)
import anthropic
client = anthropic.Anthropic()
# ✅ 推奨される新しい書き方(Claude Sonnet 4.6)
response = client.messages.create(
model="claude-sonnet-4-6-20260217", # Sonnet 4.6 に変更
max_tokens=8192,
# extra_headers は不要(ベータヘッダーを削除)
messages=[
{
"role": "user",
"content": very_long_content # 200K超のコンテンツもそのまま送信可能
}
]
)
# 期待されるレスポンス例:
# response.content[0].text → Claude Sonnet 4.6 からの回答
# response.usage.input_tokens → 入力トークン数(200K超の場合は長文コンテキスト料金が適用)TypeScript / Node.js での移行例
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
// ✅ TypeScript での推奨移行コード
const response = await client.messages.create({
model: "claude-sonnet-4-6-20260217", // モデル名を変更
max_tokens: 8192,
// headers オブジェクトからベータヘッダーを削除する
messages: [
{
role: "user",
content: veryLongContent, // 1Mトークンまで対応
},
],
});
console.log(response.content[0].type === "text" ? response.content[0].text : "");移行時の3つのポイント
1. モデル名の確認と変更
最初に行うべきは、コードベース全体で使用しているモデル名を確認することです。
# コードベース全体でSonnet 4.5 / Sonnet 4 のモデル名を検索
grep -r "claude-sonnet-4-5\|claude-sonnet-4-20250522" ./src/
# 見つかったら、Sonnet 4.6 に置き換える
# claude-sonnet-4-5-20250929 → claude-sonnet-4-6-20260217
# claude-sonnet-4-20250522 → claude-sonnet-4-6-202602172. ベータヘッダーの削除
anthropic-beta: context-1m-2025-08-07 のヘッダーが設定されている箇所を探して削除します。Python SDK では extra_headers、TypeScript SDK では headers プロパティで設定されている場合があります。
# ベータヘッダーの使用箇所を検索
grep -r "context-1m-2025-08-07" ./
# 見つかったら、該当行を削除またはコメントアウト3. 料金体系の確認
Claude Sonnet 4.6 での1Mトークンコンテキストウィンドウは標準機能ですが、200Kトークンを超える入力については長文コンテキスト料金が適用されます。Sonnet 4.5 のベータ期間中も同様の料金体系だったため、大きな変化はないはずですが、事前に確認しておくとよいでしょう。
Anthropicの料金ページで最新の価格をご確認ください。
Claude Sonnet 4.6 への移行で得られるメリット
単純なバージョンアップではなく、Claude Sonnet 4.6 には実質的な性能向上も含まれています。
性能面の改善:
- エージェント型の検索タスクにおいてSonnet 4.5より高いスコアを達成
- トークン効率が向上し、同じタスクをより少ないトークンで完了できることが多い
- Extended Thinking にも対応しており、複雑な推論が必要な場合に役立つ
実用面のメリット:
- 1Mトークンが標準サポートされているため、ベータヘッダーの管理が不要
- 最新モデルとして今後も継続的にサポートされる
- 開発やテスト環境での設定がシンプルになる
より詳細な性能比較や活用テクニックについては、Claude Sonnet 4.6 完全攻略ガイドでまとめています。
移行チェックリスト
スムーズに移行を完了させるために、以下の手順を参考にしてください。
context-1m-2025-08-07ヘッダーを使用している箇所をコードベース全体で検索する- 対象箇所で使用されているモデル名を
claude-sonnet-4-6-20260217またはclaude-opus-4-6-20260205に変更する - ベータヘッダーの記述を削除する
- ステージング環境で200Kトークン超えのリクエストが正常に処理されることを確認する
- 本番環境への移行を2026年4月30日より前に完了させる
- 環境変数や設定ファイルにモデル名がハードコードされている場合は、そちらも更新する
全体を振り返って
Claude Sonnet 4.5 / Sonnet 4 での1Mトークンコンテキストウィンドウは、2026年4月30日をもってベータ機能が廃止されます。移行先は Claude Sonnet 4.6(claude-sonnet-4-6-20260217)または Claude Opus 4.6(claude-opus-4-6-20260205)で、どちらも1Mトークンが標準機能として利用できます。移行作業自体はモデル名の変更とベータヘッダーの削除という2ステップで完了できるため、早めに対応しておくと安心です。
長文ドキュメントの処理やコンテキストウィンドウを最大限活用する実装テクニックについては、Claude 200K コンテキストウィンドウ完全攻略も参考になさってください。