仕様の整理・2026年11月8日に確認
tool_choice の any と tool が400になるモデル
「必ずツールを呼ばせる」ための tool_choice の強制が、9月の3回のリリースで順に使えなくなりました。日付とモデルを並べます。
このサイトはAnthropicの公式サイトではありません。モデルの提供状況・仕様・料金は変わる可能性があるため、実装や契約の前には公式のドキュメントとご自身のアカウント設定を確認してください。
先に結論
リリースノートによると、tool_choice の {"type": "any"} と {"type": "tool", "name": "..."} は、Fable 5.1 と Mythos 5.1(2026年9月1日)、Opus 5.5(9月22日)、Sonnet 5.5(9月28日)で400を返します。auto(既定)と none は変わりません。
日付とモデル
| 日付 | モデル | 結果 |
|---|---|---|
| 2026年9月1日 | Fable 5.1・Mythos 5.1 | any・tool は400 |
| 2026年9月22日 | Opus 5.5 | 同じ |
| 2026年9月28日 | Sonnet 5.5 | 同じ |
| 確認していない | Haiku 5.5 | リリースノートの記載を読んだ範囲では見つからなかった |
置き換えの考え方
Opus 5.5 の移行ガイドは、強制の代わりに auto と、strict なツール利用または構造化出力を組み合わせるよう案内しています。強制していた理由ごとに手を分けます。
- 必ずJSONの形で返してほしい:構造化出力に替える
- ツールの引数の型を厳密にしたい:ツール定義を strict にする
- 呼ぶべきツールを呼ばない:システムの指示に呼ぶ条件を書く。強制の代わりにはならないので、呼ばれなかった場合の扱いをコード側に書く
- ツールを使わせたくない:これは
noneでそのまま可能
切り替え前の点検
- コードベースで
tool_choiceを検索し、anyとtoolの使用箇所を一覧にする - 各箇所の目的(形の保証・呼び出しの保証)を書き出す
- 置き換えたあと、ツールが呼ばれなかった応答を意図的に作って、後続の処理が落ちないか試す
- 強制を外すと、キャッシュの前置きの扱いも変わりうる。
tool_choiceの変更は、キャッシュの tools・system 階層を無効にする(キャッシュの面の表)
具体例:「必ず検索ツールを呼ぶ」を外す
回答の前に必ず検索ツールを呼ぶために tool_choice を tool で固定していたとします。400になったら、まず auto に直し、システムの指示に「事実を述べる前に必ず検索ツールを使う」と書きます。そのうえで、コード側に保険を入れます。応答にツール呼び出しが含まれていなければ、検索なしの回答として扱わず、もう一度「検索ツールを使って答えて」と促す依頼を送る、という形です。強制が使えない以上、呼ばれたかどうかの確認を自前で持つ必要があります。呼び出し率は、移行の前後で同じ100件を通して数え、下がっていないかを見てください。
よくある取り違え
- 「どのモデルも強制できなくなった」と読む:今回の400は Fable 5.1・Mythos 5.1・Opus 5.5・Sonnet 5.5 について確認できたもの
- 「none も使えない」と読む:auto と none は変わらず使える
- 「強制を外せば同じ結果」と読む:呼ばれない場合があるので、呼び出しの有無の確認を自前で持つ
自分の環境で確かめるには
試験用の依頼を1件作り、tool_choice を {"type": "any"} にして、対象のモデルに送ります。400が返れば、この面の記載どおりです。返るエラーの本文を保存しておくと、あとで同じ症状に当たったとき、原因の切り分けが早くなります。試験は、課金の少ない短い依頼で行ってください。
この面で確かめていないこと
- Haiku 5.5 と Sonnet 5 の扱い(公式の記載をこちらでは見つけられなかった)
- 置き換えたときの呼び出し成功率の変化(測っていない)
よくある質問
auto だと呼ばれないことがありますか?
あります。強制ではないため、モデルが呼ばない判断をすることがあります。
none は使えますか?
使えます。公式は auto と none は変わらないと書いています。
古いモデルでは強制できますか?
今回の400は上記のモデルの話です。それ以外のモデルの扱いは、各モデルの資料を確認してください。
出典(2026年11月8日に確認)
- Claude Platform のリリースノート(Anthropic) https://platform.claude.com/docs/en/release-notes/overview
- Opus 5.5 の移行ガイド(Anthropic の API ドキュメント) https://platform.claude.com/docs/en/models/opus-5-5/migration-guide
- プロンプトキャッシュ(Anthropic の API ドキュメント) https://platform.claude.com/docs/en/build-with-claude/prompt-caching
編集:ちんあなご編集部。記事の文は写さず、日付・数字・名前などの事実だけを自分の文で書いています。