Claude APIのtemperature廃止と移行手順
「Claude APIを呼んでいる処理が、急に400エラーを返すようになった」「SDKを上げたら temperature が型エラーになった」——自分では何も変えていないつもりの処理が止まると、原因がAPI側なのか自分のコードなのかが分からず、まず手が止まります。
結論から言うと、原因の多くは2026年10月21日に公開されたClaude APIの新しい版「2026-10-21」です。この版では Messages API から temperature・top_p・top_k の3つが削除され、送ると既定値(temperature 1.0)であっても400エラーになります。新しい大きな版のSDK(Python 2.0.0・TypeScript 1.0.0 など)は、この版を既定で送ります。急がないなら、古いSDKのまま旧版 2023-06-01 で動かし続けることもできます。
株式会社Fyveは、Claude Code と Claude API を自社の業務の自動化に日常的に使っています。この記事では、Anthropic公式の版履歴と移行ガイドだけを根拠に、自分に関係するかの見分け方、直す箇所、temperature を下げて出力を揃えていた場合の考え方、移行の手順を順に説明します。私たちが自社の仕組みで実際に確かめた手順も合わせて紹介します。
Claude API 2026-10-21で何が変わったか
Claude APIでは、リクエストごとに anthropic-version というヘッダーで「どの版の決まりで処理するか」を指定します。これまで使われてきたのは2023年6月に出た 2023-06-01 で、今回の 2026-10-21 はそれ以来、約3年ぶりの新しい版です。公式の版履歴(Versions)では、Anthropicは「できるだけ最新の版を使うこと」を勧めています。
変わった点は、大きく3つの系統に分かれます。
系統 | 何が変わったか | 影響を受ける人 |
|---|---|---|
Messages API |
| Claude APIを直接呼んで文章を作っている、ほぼすべての人 |
Admin API・Claude Enterprise Analytics API | 改名された項目の古い名前が、応答から消える | 組織の管理・利用状況の集計を自動化している人 |
SDK・CLI(新しい大きな版) | 既定の版が | SDKを使っている人(版を固定していない人は特に) |
大事なのは、旧版の 2023-06-01 を送り続けている限り、今回の変更の影響は受けないことです。公式の版の決まりでは、ある版の入力・出力の項目は保たれます。壊れるのは「新しい版に切り替わったとき」だけです。そして、その切り替えは多くの場合、自分でヘッダーを書き換えたときではなく、SDKの大きな版が上がったときに起きます。
自分に関係するかの見分け方(3つの確認)
まず、自分の処理がどの版で動いているのかを確かめます。確認するのは次の3つです。
確認1:SDKの版
公式の移行ガイドによると、SDKは「その大きな版が出た時点の最新のAPIの版」を送ります。今回、各言語のSDKで 2026-10-21 を送るようになった最初の版は次のとおりです。
言語・道具 | パッケージ | 2026-10-21を送る最初の版 |
|---|---|---|
Python |
| 2.0.0 |
TypeScript |
| 1.0.0 |
Java |
| 3.0.0 |
Go |
| 2.0.0 |
C# |
| 13.0.0 |
Ruby |
| 2.0.0 |
PHP |
| 1.0.0 |
CLI |
| 2.0.0 |
これより前の版を使っていれば、送られているのは 2023-06-01 です。Pythonなら pip show anthropic、Node.jsなら npm ls @anthropic-ai/sdk で、いま入っている版を確かめられます。
注意したいのは、版を固定していないと、気づかないうちに上がることです。PyPI と npm の公開記録では、Python の 2.0.0 は 2026年10月21日 15:51(協定世界時)、npm の TypeScript 1.0.0 は同日 16:00(同)に公開されています。私たちが10月24日朝に確認した時点で、最新はそれぞれ 2.2.0 と 1.2.0 でした。requirements.txt に anthropic とだけ書いている処理や、package.json を "*" や "latest" にしている処理は、次に入れ直したときに新しい版に変わります。
確認2:自分で anthropic-version を書いているか
SDKを使わずに curl や fetch で直接呼んでいる場合は、送っている anthropic-version ヘッダーの値がそのまま版になります。2023-06-01 と書いてあれば、今回の変更の影響は受けません。コードの中を anthropic-version で検索すれば、書いている場所が見つかります。
確認3:どこのClaudeを呼んでいるか
公式の版履歴によると、2026-10-21 は Claude API、Claude Platform on AWS、Google Cloud 上のClaude(Anthropic管理・Google管理の両方)、Microsoft Foundry で使えます。Amazon Bedrock だけは扱いが違い、この版が使えるのは Claude 4.7 以降のモデルです。Bedrock で Opus 4.6 以前のモデルを呼んでいる場合、移行ガイドは「今のSDKの版のまま(または今送っている版のまま)にする」よう案内しています。そのモデルを新しい版に移すには、先にモデルを 4.7 以降へ切り替える必要があります。


直す箇所1:temperature・top_p・top_k の削除
いちばん多くの人が影響を受けるのがこの変更です。移行ガイドの説明は次のとおりです。
2026-10-21では、temperature・top_p・top_kのいずれかを送ると400エラーになる- パラメータの既定値と同じ値を送ってもエラーになる(
temperature: 1.0と明示しているだけのコードも止まる) - 新しい大きな版のSDKとCLIからは、この3つのパラメータそのものが消えている(型にも、CLIのフラグにも無い)
- Messages API(
POST /v1/messages)だけでなく、トークン数の計算と、この版で作ったMessage Batches の各リクエストにも同じ決まりが当たる
直し方は「3つのパラメータをリクエストから外す」だけです。Pythonで書くと、次のようになります。
# 前(anthropic 1.x・2023-06-01 で動いていたコード)
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
temperature=1.0, # ← 既定値でも 2026-10-21 では 400
messages=[{"role": "user", "content": "見積書の文面を整えてください"}],
)
# 後(anthropic 2.x・2026-10-21)
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "見積書の文面を整えてください"}],
)見落としやすいのは、パラメータを設定ファイルや共通の関数から渡している場合です。たとえば「AIの呼び出しは全部この関数を通す」という共通の関数があり、その既定の引数に temperature=0.7 が入っていると、呼び出し側のコードを読んでもパラメータは見えません。コード全体を temperature・top_p・top_k で検索し、Claudeに渡っているものを1つずつ確かめるのが確実です。
このとき、検索で引っかかったものがすべてClaude向けとは限りません。私たちが自社のスクリプトを検索したときも、temperature が見つかったのは別の会社の画像生成APIを呼ぶスクリプトだけで、Claudeへの呼び出しではありませんでした。画像生成や他社の言語モデルのAPIには、今回の変更は関係ありません。引っかかった行が「どのAPIに渡る値か」まで見てから直します。
temperature を下げて出力を揃えていた人へ
「temperature を0に近づけて、毎回同じような答えが返るようにしていた」という使い方をしていた人には、この変更は単なる書き換え以上の意味があります。移行ガイドの説明を整理すると、次のようになります。
使っているモデル | パラメータを外したときの変化 |
|---|---|
Claude 4.7 以降(Opus 5.5 など) | 変化なし。これらのモデルはもともと既定値しか受け付けないため、以前と同じ条件で答えを作る |
Sonnet 4.6 など、既定値以外も受け付けていたモデル | temperature を下げて出力を揃えていた効果がなくなる。公式は「代わりになる設定は無い」と明記している |
つまり、すでに Claude 4.7 以降のモデルを使っているなら、temperature を外しても答えの作られ方は変わりません。影響が出るのは、古いモデルで temperature を下げていた処理だけです。公式はこの場合の選択肢として、「パラメータを送るのをやめる」か「そのリクエストだけ 2023-06-01 に残す」の2つを挙げています。
私たちの判断はこうです。出力のぶれを、temperature という1つのつまみで抑えようとしない。私たちが毎日動かしている記事の自動作成の仕組みでも、出力の質は温度ではなく、後ろに置いた検査で受け止めています。具体的には、決まった規則で機械的に確かめる検査をまず通し、次に書き手とは別の処理で動かすAIの監査に通し、どちらかで落ちたものは公開しない、という順番です。答えが毎回少しずつ違っても、検査の基準が同じなら、外に出るものの品質は揃います。
もう1つ、出力の「形」を揃えたいだけなら、temperature より効く方法があります。答えの書式をプロンプトで細かく決める、決まった形のJSONで返させる、選択肢から選ばせる、といった方法です。temperature を下げても、書式までは揃いません。「毎回同じ形で返ってきてほしい」のか「毎回同じ中身で返ってきてほしい」のかを分けて考えると、外したあとに何をすればよいかが見えます。
どうしても今の出力の傾向を変えたくない処理が古いモデルに残っているなら、その処理だけ旧版に残し、モデルの入れ替えと一緒に移すのが現実的です。全部を一度に移す必要はありません。
直す箇所2:document と citations の置き場所
Messages API では、もう2つの書き方がエラーになります。どちらも、資料を読ませて出典つきで答えさせる使い方(PDFの読み込み・検索結果の引用など)をしている人に関係します。
2026-10-21でエラーになる書き方 | 直し方 | 引き続き使えるもの |
|---|---|---|
| 資料は | Claudeが返したツールの結果(Web取得など)の中に入っている document |
| その | Claudeの過去の返答(assistant)に付いた citations をそのまま送り返すこと/document や検索結果に付ける |
会話の履歴を自分で組み立て直して送っている処理は、ここで引っかかりやすい部分です。たとえば「前回の答えを、引用の情報ごと user の発言として貼り直す」ような作りになっていると、citations が user 側に入ってしまいます。履歴を組み立てる関数で、役割(user・assistant)ごとに何を入れているかを確かめてください。
直す箇所3:Admin API・Enterprise Analytics API の項目名
組織のメンバー・権限・APIキー・利用量を自動で集計している人は、応答の項目名が変わります。2026-10-21 では、改名された項目の古い名前が応答から消えます。
API | 対象 | 古い名前 | 新しい名前 |
|---|---|---|---|
Admin API | RBACグループ |
|
|
Admin API | RBACグループのメンバー |
|
|
Admin API | RBACロール |
|
|
Admin API | 組織・ワークスペースのレート制限 |
|
|
Admin API | APIキー |
|
|
Enterprise Analytics API | ユーザーごとの利用量・費用 |
|
|
Enterprise Analytics API | 利用状況のまとめ |
|
|
特に注意が要るのはAPIキーの workspace_id です。旧版では、既定のワークスペース(Default Workspace)に属するキーも、すべてのワークスペースに使えるキーも、どちらも workspace_id が null でした。新しい版の scope.workspace_id は、既定のワークスペースでも本当のIDを返し、すべてのワークスペースに使えるキーは scope が {"type": "organization"} になります。「null なら既定のワークスペース」と判定していたコードは、既定のワークスペースのIDと比べる形に直します。なお、レート制限の一覧の group_type による絞り込みと、APIキーの一覧の workspace_id による絞り込みは変わりません。
SDKを上げると一緒に変わること
新しい大きな版のSDKには、APIの版の切り替えとは別に、SDKそのものの変更もあります。ここを知らずに上げると、APIは正しく呼べているのに別の場所で止まります。
APIキーの送り方が Authorization: Bearer に変わる
新しいSDKとCLIは、APIキーを X-Api-Key ヘッダーではなく Authorization: Bearer <キー> で送ります。Claude API自体はどちらのヘッダーでもキーを受け付けるので、直接つないでいる処理はそのまま動きます。困るのは、間に社内のプロキシやゲートウェイを挟んでいて、それが X-Api-Key を読んでいる場合です。ゲートウェイ側を Authorization を読むように直すか、SDK側でキーを X-Api-Key に戻して送る設定を入れます。ログからキーを伏せる仕組みや、テスト用の偽のサーバーが X-Api-Key を見ている場合も同じです。なお、Microsoft Foundry 用のクライアントは引き続き x-api-key で送ります。
1つのクライアントが持てる認証情報は1つになる
APIキーと認証トークンが同じヘッダーを使うようになったため、SDKのクライアントは認証情報を1つしか持てなくなりました。Pythonでは、api_key と auth_token を同時に渡すと ValueError になります。コードで何も渡さない場合は、環境変数 ANTHROPIC_API_KEY、次に ANTHROPIC_AUTH_TOKEN の順に、最初に見つかったものだけを使います。両方が設定されていると警告が1回出ます。
型の作りと、消えた機能
- メッセージの型が役割ごとに分かれる:
MessageParamが、user・assistant・system の3つの型をまとめたものになります。Pythonで{"role": "user", "content": "..."}のように辞書で書いているなら変更は要りませんが、MessageParam(role="user", ...)のように呼び出して作っているとTypeErrorになります - Text Completions が消える:旧来の Text Completions API は、TypeScript・Go・Java・Ruby のSDKとCLIから削除されました。まだ使っている処理は Messages API へ移します
- ツール実行の補助機能の圧縮処理:TypeScript と Ruby では、ツール実行の補助機能(tool runner)の中で会話を縮める処理が手元側から消え、API側で縮める方式に一本化されました
- CLIのキー指定のフラグが消える:
antの--api-keyと--auth-tokenは削除されました。コマンドの履歴にキーが残るのを防ぐためで、環境変数で渡します - Go は読み込み先が変わる:Go のSDKとCLIは、モジュールの名前の末尾に
/v2が付きます。importの書き換えが要ります - TypeScript は周辺パッケージも一緒に上げる:Bedrock・Vertex・Foundry・AWS・Google Cloud 用のパッケージは、v1 が
@anthropic-ai/sdkの v1 を必要とします。片方だけ上げると、古い本体がもう1つ入ってしまいます

移行の手順(4つの段階)
公式の移行ガイドは「版を切り替える → 壊れる箇所を直す → 試す」の順を示し、版の切り替えは直しと一緒に出すよう案内しています。これに、私たちが自社で実際にやった棚卸しの段階を前に足すと、次の4段階になります。
段階1:呼び出している場所を洗い出す
最初に、Claude APIを呼んでいる場所を全部見つけます。私たちは、管理しているリポジトリ全体を次の3つの言葉で検索しました。
grep -rnE "anthropic-version|from anthropic import|@anthropic-ai/sdk|api.anthropic.com" .
grep -rnE "temperature|top_p|top_k" .私たちの場合、Claudeを使う処理のほとんどは Claude Code をコマンドから動かす形(claude -p にモデル名を指定して呼ぶ形)で、自分たちのコードがAPIのリクエストを直接組み立てる箇所はありませんでした。temperature の検索で見つかったのは、先ほど触れた別の会社の画像生成APIのスクリプトだけです。このため、今回は自分たちのコードの直しは要らない、と判断しました。Claude Code 自体がどの版で通信するかは Claude Code 側の更新の話なので、私たちの側で書き換えるものはありません。
こうして洗い出してみると、「直す必要があるのはどこか」がはっきりします。AIの呼び出しが社内のあちこちに散らばっている会社ほど、この段階に時間がかかります。
段階2:版を固定する
直す準備ができるまでは、勝手に新しい版に変わらないよう、SDKの版を今のまま固定します。
# Python:2.0.0 未満に固定する
pip install "anthropic<2"
# Node.js:1.0.0 未満に固定する(package.json)
"@anthropic-ai/sdk": "<1.0.0"ここで固定しておけば、移行を急ぐ必要はありません。公式の版履歴には、2023-06-01 の提供終了日は書かれていません(2026年10月24日時点)。一部の解説記事は「旧版は引き続き使え、廃止予定でもない」と伝えていますが、終了の予定は公式の版履歴と移行ガイドで確かめてから判断してください。
段階3:壊れる箇所を直す
洗い出した場所ごとに、ここまでの「直す箇所1〜3」と「SDKを上げると一緒に変わること」を当てはめて直します。見る順番は、影響を受ける人が多いものからです。
temperature・top_p・top_kを外す(共通の関数・設定ファイルも含めて)- 会話の履歴の組み立てで、
documentが assistant に、citationsが user に入っていないか確かめる - Admin API・Enterprise Analytics API の応答を読んでいるコードの項目名を直す
- プロキシ・ゲートウェイ・ログの処理が
X-Api-Keyを読んでいないか確かめる - SDKの型の変更(メッセージの型・Text Completions・Goの読み込み先)を直す
段階4:新しい版で試してから出す
SDKを新しい大きな版に上げ、試しの環境で一通り動かします。400エラーが出たら、その応答のメッセージにどのパラメータ・どのブロックが原因かが書かれているので、段階3の一覧に戻って直します。直しと版の切り替えは、同じタイミングで本番に出します。版だけ先に上げると、直していない箇所がその瞬間から止まるからです。
よくある質問
何もしないと、今の処理は止まりますか
SDKの版を上げず、自分で anthropic-version を書き換えない限り、送られるのは 2023-06-01 のままなので止まりません。止まるのは、SDKを新しい大きな版に上げたとき、または版を固定していない処理が入れ直されたときです。
temperature を外すと、答えの質は下がりますか
Claude 4.7 以降のモデルでは、もともと既定値しか受け付けないため、答えの作られ方は変わりません。Sonnet 4.6 など古いモデルで temperature を下げていた場合は、出力のばらつきを抑えていた効果がなくなります。公式は代わりの設定は無いとしているので、プロンプトで書式を決める、決まった形で返させる、後ろに検査を置く、といった方法で受け止めます。
Amazon Bedrock で使っている場合はどうなりますか
Bedrock では、2026-10-21 が使えるのは Claude 4.7 以降のモデルだけです。Opus 4.6 以前のモデルを呼んでいる処理は、今のSDKの版のまま(または今送っている版のまま)にしておき、モデルを 4.7 以降に切り替えるときに一緒に移します。
Claude Code を使っているだけでも、何か直す必要がありますか
Claude Code を画面やコマンドから使っているだけなら、自分でAPIのパラメータを書いていないので、今回のコードの直しは基本的に要りません。Claude Code と一緒に、自分で書いたスクリプトから Claude API を呼んでいる場合は、そのスクリプトが確認の対象です。
関連記事
Claude APIを業務の仕組みに組み込むときの全体の順番は、こちらの記事で整理しています。
Claude APIとClaude Code(CLI)の違いや、APIの基本的な使い方から確かめたい場合はこちらです。
移行のついでに、APIの費用の見直しもしておきたい場合はこちらを参考にしてください。
まとめ
Claude APIの新しい版 2026-10-21(2026年10月21日公開)では、Messages API から temperature・top_p・top_k が削除され、送ると既定値でも400エラーになります。あわせて、assistant に置いた document と user に付けた citations もエラーになり、Admin API・Enterprise Analytics API では古い項目名が応答から消えます。
切り替わるきっかけは、多くの場合SDKの大きな版の更新です(Python 2.0.0・TypeScript 1.0.0 など)。まず呼び出している場所を洗い出し、版を固定してから、壊れる箇所を直し、新しい版で試してから出す。この順番で進めれば、急に処理が止まることは避けられます。temperature で出力を揃えていた処理は、温度の代わりに書式の指定や後ろの検査で品質を受け止める形に変えるのが、私たちの考え方です。
株式会社Fyveでは、こうしたAPIの変更で社内のAIの仕組みが止まらないよう、呼び出し箇所の棚卸しと移行の段取りも含めて、AIの業務への組み込みを支援しています。
※ 本記事の内容は2026年10月24日時点の Anthropic 公式の版履歴(Versions)と移行ガイド(Migrating to API version 2026-10-21)に基づきます。移行の前に、最新の公式ドキュメント(platform.claude.com/docs/en/api/migration-2026-10-21)をご確認ください。
Claude Codeを「素のまま」使うな

設定で差がつく——CLAUDE.md・権限・スキルの実物を公開(全24ページ)
素のClaude Codeは"優秀な新入社員"。仕事を教えるほど、自分専用になります。覚えさせる4点セット——会社の説明書(CLAUDE.md)・権限の柵・手順書(スキル)・フォルダの地図——を、1人会社の実運用からコピペで使える型つきで公開します。
- そのまま書き換えて使えるCLAUDE.mdの型
- お金と送信をAIに触らせない「3段階の柵」
- 1回教えたら何度でも動く、手順書のコピペ雛形
- AIが迷子にならないフォルダ構造の3原則
メールアドレス登録で他にも様々な資料を閲覧できます








+9PDF 18点・合計468ページ + すぐ使えるzip素材 3点
どれも登録後の受け取りページから、まとめてダウンロードできます。
毎週配信の無料ニュースレター「AIネイティブ超研究」の購読特典です。メール登録後すぐ、受け取りページのご案内が届きます。そこにはこの資料に加えて、過去の特典もすべてまとめて置いてあります。あわせて、AI活用に関するお知らせやお役に立てそうなご案内をお送りすることがあります。解除はいつでも1クリック。
「Claude を自分で使いこなしたい」「自社の業務に組み込みたい」
── そんな方は、まず初回無料相談でお話ししてみませんか。
御社の業務に合わせたClaude導入支援
「AIツールを導入したが、現場で使われない」を終わらせる。
業務課題のヒアリングから設計、ハンズオン実践、運用定着まで一貫して支援します。