本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

Claude API 2026-10-21とSDK新メジャー版 上げる前の確認点

目次 · 6項目

依存パッケージの自動更新を入れているリポジトリで、ある日からAIの機能だけがエラーを返し始める。原因を追うと、SDKのメジャー版が上がり、APIへ送るバージョンも変わっていた。Claude APIを使うシステムを保守していると、この10月にその状況が起こり得ます。

Anthropicは2026年10月21日、Claude APIの新しいバージョン 2026-10-21 を公開しました。同じ日に、このバージョンを既定で送るSDKの新メジャー版(Python SDK 2.0.0、TypeScript SDK 1.0.0など)とCLIも出ています。この記事では、公式の移行ガイドで挙げられた変更のうち、社内システムや受託で作ったアプリで影響が出やすいものを整理し、PythonとTypeScriptのSDKを編集部の検証環境(Linux)で動かして確かめた結果を示します。

何が切り替わるのか

これまでのSDKは、すべてのリクエストに anthropic-version: 2023-06-01 を付けて送っていました。新しいメジャー版は、これを 2026-10-21 に変えます。移行ガイドには、各言語で最初に 2026-10-21 を送る版が書かれています。

言語2026-10-21を送る最初の版
Pythonanthropic 2.0.0
TypeScript@anthropic-ai/sdk 1.0.0
Go2.0.0(モジュールのパスが /v2 に変わる)
Java / C# / PHP / Ruby3.0.0 / 13.0.0 / 1.0.0 / 2.0.0

2026年10月27日時点の最新版はPython 2.3.0、TypeScript 1.3.0です。どちらも10月23日までに出た機能追加と修正で、CHANGELOGを見る限り、この記事で扱う変更点に関わるものはありません。

SDKを使わずにHTTPで呼んでいる場合は、ヘッダーの値を自分で変えるまで 2023-06-01 のままです。Amazon Bedrockでは、2026-10-21 を使えるのはClaude 4.7以降のモデルだけです。Bedrockで古いモデルを呼んでいる場合は、今のSDKの版のまま(または今送っているバージョンのまま)にするよう、移行ガイドに書かれています。移行ガイドは、新しい版への更新を、次に挙げる修正と一緒にリリースするよう求めています。

止まりやすい変更

移行ガイドの「Breaking changes」と「SDK and CLI changes」から、影響の出やすいものを挙げます。

temperature・top_p・top_kを送ると400エラー。 2026-10-21 では、この3つのパラメーターを送るとエラーになります。既定の値を送った場合も同じです。

In 2026-10-21, a request that sends temperature, top_p, or top_k returns a 400 error, even at the parameter’s default value.

Claude 4.7以降のモデルはもともと既定値しか受け付けないため、出力は変わりません。一方、Claude Sonnet 4.6のように他の値を受け付けるモデルで、出力を安定させるために temperature を下げていた処理は、その効果を失います。ガイドには、代わりになる設定はないと書かれています。

APIキーが Authorization: Bearer で送られる。 新しいSDKとCLIは、APIキーを X-Api-Key ヘッダーではなく Authorization: Bearer <key> で送ります。Claude API自体はどちらでも受け付けますが、社内のプロキシやゲートウェイ、ログのマスキング、テスト用のスタブが X-Api-Key を読んでいる場合は、そちらを直す必要があります。

1つのクライアントに認証情報は1つ。 APIキーと認証トークンを両方渡すと、Pythonでは ValueError、TypeScriptでは TypeError になります。ゲートウェイ用のトークンと、その先のAPI用のキーを両方送っていた構成は、移行ガイドに書かれた別の方法に組み替えます。

このほか、assistant メッセージに直接 document ブロックを入れる、user メッセージの text ブロックに citations を付ける、の2つも400エラーになります。Admin APIでは、APIキーの workspace_id がなくなり scope に変わるなど、一部の項目名が変わります。SDKとCLIのライセンスは、新しい版からMITからApache 2.0に変わりました。依存ライブラリのライセンスを台帳で管理している場合は、その記載も更新します。

検証環境で動かして確かめたこと

2026年10月24日に、編集部の検証環境(Linux)でPythonとTypeScriptのSDKの旧版と新版を入れ、ローカルに立てた受信用のサーバーへリクエストを送って、実際に送られる内容を記録しました。APIキーはダミーで、Anthropicのサーバーには接続していません。

Claude SDKの旧版と新版で、送られるリクエストを比べた図。Python 1.17.0とTypeScript 0.137.0はanthropic-version 2023-06-01とX-Api-Keyヘッダーで送り、Python 2.0.0とTypeScript 1.0.0は2026-10-21とAuthorization Bearerで送った。TypeScript 1.0.0をJavaScriptから呼ぶとtemperatureがそのまま送られ、tscの型チェックでは検出された

確かめた結果は次のとおりです。

  1. バージョンと認証ヘッダー:Python 1.17.0とTypeScript 0.137.0は anthropic-version: 2023-06-01 と X-Api-Key で、Python 2.0.0とTypeScript 1.0.0は 2026-10-21 と Authorization: Bearer で送りました。移行ガイドの説明どおりです
  2. 2つの認証情報:APIキーと認証トークンを両方渡すと、Python 2.0.0は ValueError、TypeScript 1.0.0は TypeError を出しました。旧版ではどちらもエラーなしで作成できました
  3. temperatureの扱いは言語で違う:Pythonでは、2.0.0も1.17.0も temperature を渡すと TypeError(予期しない引数)になり、送信されませんでした。TypeScript 1.0.0では、型チェック(tsc 5.9.3)で「temperature は存在しない」とエラーになりました。ところが同じ呼び出しをJavaScriptから実行すると、temperature: 0.2 がそのまま本文に入って送られました

3つ目は注意が必要です。TypeScriptの型で守られるのは、型チェックを通すコードだけです。JavaScriptで書いた処理や、設定ファイルから読んだ値を展開して渡している処理では、SDKを上げても temperature が送られ続け、APIが400エラーを返して初めて気づくことになります。

上げる前に確かめる手順

ここからは編集部の整理です。

  1. どの版を使っているかを洗い出す:package-lock.json や requirements.txt で、@anthropic-ai/sdk が1未満、anthropic が2未満のものを探します。自動更新(Dependabotなど)がメジャー版を上げる設定かも確認します
  2. temperatureなど3つのパラメーターを検索する:temperature、top_p、top_k をリポジトリ全体で検索します。JavaScriptのファイルや、設定・データベースから読んで渡している箇所も対象です
  3. ヘッダーを読む部品を探す:社内のプロキシ、ゲートウェイ、ログのマスキング、テストのスタブで x-api-key を扱っている箇所を探し、Authorization にも対応させます
  4. ステージングで新しい版を通す:移行ガイドは、リリース前に 2026-10-21 でテストするよう求めています。400エラーの有無と、出力の傾向の変化(temperatureを下げていた処理)を確かめます
  5. すぐに直せない処理は旧バージョンに留める:既定以外の temperature に頼る処理は、ガイドにあるとおり、その処理だけ 2023-06-01 に留める選択肢もあります

モデルの切り替えとあわせて見直す場合は、Claudeのモデル切替前にModels APIで見る項目と、Claude Sonnet 4.5が11月30日終了 移行の確認点も参照してください。社内のAIの呼び出しをゲートウェイでまとめている場合は、社内AIにゲートウェイを1枚挟むかで整理した構成のどこでヘッダーを扱っているかを確かめます。

確認した範囲

2026年10月24日に、Claude Platformのリリースノートと移行ガイド「Migrating to API version 2026-10-21」をplatform.claude.comで直接開き、PyPIとnpmで各版の公開日とライセンスを確認しました(資料調査)。公開前の2026年10月27日に、これらとAPIのバージョンの説明ページ、両SDKのCHANGELOGを開き直し、内容が変わっていないことと、その後の版(Python 2.3.0、TypeScript 1.3.0まで)を確かめました。あわせて、編集部の検証環境(Linux)で、Python 3.11.17に anthropic 1.17.0と2.0.0を、Node.js 22.22.0に @anthropic-ai/sdk 0.137.0と1.0.0を入れ、ローカルの受信用サーバーへ送信して内容を記録しました(実機検証)。Anthropicのサーバーには接続しておらず、400エラーの応答、出力の変化、Go・Java・C#・PHP・Ruby・CLIの挙動、Amazon BedrockやGoogle Cloud経由の呼び出しは確認していません。

AIを組み込んだシステムの保守や、SDKの更新の進め方は、開発・AI・自動化のご相談からお問い合わせください。

参考資料

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

自社での進め方を、具体的に。

つくりたい仕組み、既存システム、運用の条件を整理し、実現に向けた次の一歩を考えます。

  • 実現したい仕組み
  • 既存環境との接続
  • 運用の条件
開発・運用の構想を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る