Claude APIでtemperatureが400エラーになる場合は、送信しているAPIバージョンを確認してください。2026-10-21では、temperature・top_p・top_kを送ると、既定値を指定していてもエラーになります。新しいAPIバージョンへ移すには3項目を省きますが、低いtemperatureに依存していた処理は、出力への影響を先に確かめます。
操作と利用条件は公式資料をもとに説明しています。2026年11月5日確認。
Claude APIのtemperatureが400になる条件
公式移行ガイドは、APIバージョン2026-10-21からサンプリング用の3項目を削除したと説明しています。値を0から1へ直す対応ではなく、リクエストから項目自体を外す変更です。
| 送信内容 | 2026-10-21での扱い | 対応 |
|---|---|---|
temperature=0.2など既定値以外 | 400エラー | 出力への影響を判断してから省く |
temperature=1.0 | 既定値でも400エラー | 指定自体を省く |
top_p・top_k | どちらも400エラー | 3項目をまとめて確認して省く |
SDKのメジャー版を上げた後に急に失敗した場合は、呼び出しコードが同じでも、SDKが送るAPIバージョンが変わっている可能性があります。HTTPを直接使う場合はanthropic-versionヘッダー、SDKを使う場合はインストール済みの版と明示的なヘッダー設定を確認します。
Claude APIのtemperatureを省くと出力はどう変わるか
3項目を省いたリクエストは既定値で生成され、temperatureは1.0になります。もともと既定値しか受け付けないClaude 4.7以降のモデルでは、サンプリングの条件は従来と同じです。
一方、Claude Sonnet 4.6のように別の値を受け付けるモデルで、出力をそろえるためにtemperatureを下げていた場合、その効果は失われます。公式ガイドは、代わりの設定はなく、必要ならその呼び出しを2023-06-01に残す選択肢を示しています。
編集部の判断としては、代表的な入力と期待する出力を先に保存し、旧条件と既定値でどこが変わるかを比較してから移行する方法が適しています。文章の言い回しが変わってよい処理なのか、一定の判定や書式が必要な処理なのかで、確認する項目が変わるためです。
Claude APIのtemperatureを直す順番
- 実際に送っている版を確認する。SDKの版、
anthropic-version、使うモデルを記録します。 - 3項目を送る場所を探す。直接の引数だけでなく、共通設定、生のJSON、
extra_body、仲介ライブラリの設定も確認します。 - 既定値以外に依存しているかを決める。依存する処理は出力を比較し、移行するか、その呼び出しを旧APIバージョンに残すかを判断します。
- リクエストとSDKを対応させる。3項目を省く修正とSDKの更新を、同じ変更として確認します。
- 代表的なリクエストをテストする。400が消えたことに加え、用途に必要な出力が保たれているかを確認します。
ソース内のtemperatureをすべて機械的に消すと、センサーの温度など別用途の変数まで変える恐れがあります。Claude APIへ送るリクエストに絞って修正します。認証情報をログへ出さず、送信する項目名とAPIバージョンを確認できる形にすると調べやすくなります。
Claude Codeに移行の修正を頼む場合
Claude Code v2.1.307以降には、/claude-api api-versionがあります。APIを使うプロジェクトでこのコマンドを実行すると、影響箇所を探して新しいAPIバージョン向けの変更を進めます。公式の組み込みスキルの説明と追加された版の記録を確認してください。
temperatureを削除してよいか、SDK更新で別の修正が必要かは、変更差分を見て判断します。次の節では、移行ガイドに沿った確認項目をまとめます。
temperatureの移行をAIへ頼むときに確認すること
移行スキルを使う場合も、公式移行ガイドの「APIの変更」と「SDK・CLIの変更」を分けて、変更差分を確認します。temperatureを省く処理が入っていても、SDK固有の変更まで修正されたとは限らないためです。
| 確認する箇所 | 見るもの |
|---|---|
| temperature・top_p・top_k | リクエスト生成処理から外れているか。既定値以外を使っていた理由を検討したか |
| APIバージョン | SDKの版と、明示したヘッダーが意図した版を送るか |
| SDK固有の変更 | 認証情報の指定、型の使い方、社内プロキシが読むヘッダーを確認したか |
| 結果 | コードの書き換え、テストの実行、実際のAPI応答を分けて確認したか |
例えばtemperatureを低くしていた処理なら、「削除して400を解消する」という目標に加え、「必要な出力の条件を維持する」という判断を依頼に含めます。自動修正の報告では、直したファイルだけでなく、テストした内容と残る確認を読むようにします。
Claude APIのtemperatureと、SDK更新の関係
SDKはメジャー版ごとに送信するAPIバージョンが決まります。2026-10-21を既定で送る最初の版は、Pythonが2.0.0、TypeScriptが1.0.0です。言語別の版と移行方法は公式移行ガイドにまとまっています。
SDKの更新では、APIバージョンの変更に加えて、認証ヘッダーや型の変更も入ります。temperatureを消しても、PythonのMessageParam(...)の呼び出しや、api_keyとauth_tokenの同時指定などで別のエラーが残る場合があります。APIの400と、SDK内部のTypeError・ValueErrorは切り分けて確認します。
Amazon BedrockでClaude 4.7より前のモデルを使う場合は、新しいAPIバージョンへ移す前にモデルの移行が必要です。旧モデルの呼び出しを続ける場合は、現在使っているSDKの版を維持するよう公式ガイドで案内されています。
temperatureを消してもClaude APIで400が出るとき
まず、共通のリクエスト生成処理やライブラリが、top_p・top_kを追加していないか確認します。入力コードから消したつもりでも、別の経路で項目が付くと同じ問題が残ります。
同じAPI更新には、assistantメッセージへ直接置いたdocument、userメッセージのtextブロックにある空でないcitations配列を拒否する変更もあります。資料はuserへ置き、引用情報はどの役割のメッセージに含めているかを確かめてください。Claudeが返した引用をassistantの履歴として戻す使い方や、資料の引用を有効にする設定は引き続き使えます。
Admin APIやAnalytics APIも利用している場合は、レスポンスの項目名が変わる箇所を、移行ガイドの別表で確認します。temperatureの対処と同じ作業に混ぜず、使っているAPIごとにテストを分けると、失敗の原因を追いやすくなります。
まとめ:temperatureは値を変える前に、送信する版を確認
2026-10-21では、temperatureの値を変えてもエラーは解消せず、項目を省く必要があります。既定値以外を使う処理では出力への影響を判断し、SDKの更新、リクエストの修正、代表的な入力のテストを組み合わせて進めてください。




