D’emblée : Opus 5.5 n’est pas un simple changement de chaîne modèle. Le 22 septembre 2026, Anthropic a publié Claude Opus 5.5 (claude-opus-5-5). La grille tarifaire a l’air aimable : $4 / $20 en entrée / sortie, 20 % sous Opus 5 ; lectures cache $0.20, en baisse de 60 %. Anthropic dit que les charges typiques coûtent environ 40 % moins. Le même jour, OpenAI a coupé GPT-6 Sol et Luna à peu près de moitié. Ce qui casse la production, ce sont quatre échecs durs : thinking ne se coupe pas ; les valeurs any et tool de tool_choice renvoient 400 ; les blocs thinking sont liés au modèle et à la conversation ; l’API Claude et Google Cloud refusent computer_20251124. Les pipelines qui garantissaient un objet JSON en forçant un appel d’outil doivent maintenant passer par auto plus strict: true et un JSON Schema — ou Structured Output.
Rédigé au 24 septembre 2026, d’après la page modèle Anthropic et le « What’s new » encore en vigueur ce jour-là. Ce site a déjà pourquoi le Tool Calling dépend de JSON Schema, ce qu’est le Structured Output, et pourquoi les agents ont besoin de JSON après l’Agents API. Cet article ne répond qu’à quelle couche du contrat JSON doit changer quand vous passez à 5.5.
Ce qui a été publié le 22 septembre
Claude Opus 5.5 est le premier modèle de la famille Claude 5.5. Positionnement officiel : coding agentique de longue haleine et travail de connaissance. L’ID est claude-opus-5-5 sur l’API Claude, Google Cloud et Microsoft Foundry ; Bedrock utilise anthropic.claude-opus-5-5. Le retrait n’est pas avant le 22 septembre 2027. Sonnet 5.5 et Haiku 5.5 suivent « in the coming weeks ».
Prix par million de tokens : $4 en entrée, $20 en sortie, $5 pour une écriture cache 5 minutes, $8 pour une écriture cache 1 heure, $0.20 pour une lecture cache. Le batch est à moitié prix. Fast mode est réservé à l’API Claude : speed: "fast" plus fast-mode-2026-02-01, $8 / $40, jusqu’à environ 2,5× la vitesse. L’effort par défaut est medium — Opus 5 était à high. Omettre effort change le comportement. Ce n’est pas une compatibilité silencieuse.
La table de lancement place Terminal-Bench 4.0 à 66,4 % contre 57,9 % pour GPT-6 Astra. Anthropic dit aussi qu’à ce palier de capacité, les écarts de score guident moins bien que les tâches réelles, et l’écart ressenti avec Fable 5.1 est plus étroit que la table. Cet article ne choisit pas un modèle sur un classement.
Quatre échecs durs, une table
La doc liste les requêtes qui deviennent 400 sur 5.5. Les trois premières s’appliquent aussi à Fable 5.1 :
| Ancienne requête | Sur 5.5 | Quoi envoyer à la place |
|---|---|---|
thinking: {"type": "disabled"} ou enabled plus budget_tokens | 400 invalid_request_error | Omettre thinking, ou envoyer {"type": "adaptive"} ; pilotez la profondeur avec effort |
tool_choice: {"type": "any"} ou {"type": "tool", "name": "..."} | 400 ; l’endpoint de comptage de tokens applique le même contrôle | auto (ou none) plus strict: true, ou Structured Output |
| Rejouer un bloc thinking après avoir modifié system / tools / un message plus ancien | 400 par défaut sur les comptes créés après le 31 août 2026 | Gardez la conversation en append-only ; changez les instructions avec un message system en milieu de conversation |
computer_20251124 sur l’API Claude ou Google Cloud | 400 | computer_toolset_20260801 ; Bedrock accepte encore l’ancien outil |
Un autre changement ne fait pas échouer la requête mais se tait : les courtes notes entre appels d’outils arrivent désormais en blocs thinking. Avec le display: "omitted" par défaut, le texte est vide. Une UI qui streamait ces phrases comme barre de progression devient silencieuse. Réglez thinking.display si vous avez besoin de la progression.
Pourquoi vous ne pouvez plus forcer du JSON avec tool_choice
Le patch 2024–2025 était : définir un outil « extract », mettre tool_choice sur any ou nommer cet outil, et le modèle devait soumettre un objet conforme à input_schema. Le programme lisait les arguments d’outil et n’appelait jamais JSON.parse sur la prose du chat. Sur 5.5, ce chemin est un 400 :
tool_choice: type "tool" and "any" are not supported for this model.
Le remplacement officiel n’est pas « veuillez sortir du JSON » à nouveau. Gardez tool_choice sur auto, mettez strict: true sur l’outil, et épinglez les paramètres avec JSON Schema. Si la réponse finale doit avoir une forme fixe, posez le schema sur Structured Output. Si vous voulez que le modèle appelle un outil plutôt que de répondre en prose, dites dans le prompt quand l’outil s’applique. Le prompt influence quel outil auto choisit. Il ne remplace pas le schema.
Donc 5.5 ne rend pas JSON moins important. Il retire la béquille de l’appel forcé. Une fois la béquille partie, le contrat doit tenir tout seul. Voir pourquoi le Tool Calling dépend de JSON Schema.
auto + strict + JSON Schema
La forme minimale après migration est :
{
"model": "claude-opus-5-5",
"tool_choice": { "type": "auto" },
"tools": [
{
"name": "extract_order",
"description": "Extract a confirmed order. Call when the user has named a sku and a quantity.",
"strict": true,
"input_schema": {
"type": "object",
"properties": {
"sku": { "type": "string" },
"qty": { "type": "integer", "minimum": 1 }
},
"required": ["sku", "qty"],
"additionalProperties": false
}
}
]
}
strict: true fait accepter au décodeur les paramètres contre le schema. Champs manquants, types faux et clés en trop doivent mourir ici — pas sur le pari qu’un appel forcé produira un objet. Si la réponse finale entre aussi dans un programme, utilisez Structured Output. N’analysez pas les phrases de l’assistant. Voir ce qu’est le Structured Output et pourquoi JSON.parse échoue.
Pour changer un schema d’outil en milieu de conversation, 5.5 peut porter une définition complète dans un message system intermédiaire sous inline-tools-2026-09-15, sans modifier le tableau tools de premier niveau. C’est la même règle que le thinking lié au préfixe : ajoutez à l’historique ; ne réécrivez pas un instantané de contrat déjà expédié.
Thinking reste allumé, et vous ne pouvez pas modifier le replay
L’adaptive thinking est toujours allumé sur 5.5. disabled ou un budget_tokens manuel est un 400. Profondeur, latence et coût passent par effort : low / medium / high / xhigh / max. Là où vous coupiez thinking pour économiser des tokens, baissez effort. À la même valeur d’effort, 5.5 tend à penser plus par tour qu’Opus 5, surtout à xhigh et max. Laissez de la place dans max_tokens pour ce thinking.
Chaque bloc thinking enregistre quel modèle l’a écrit. 5.5 peut lire les blocs d’Opus 5 et des Opus / Sonnet / Haiku plus anciens. Il ne lit pas Fable ni Mythos. Dans l’autre sens : Fable 5.1 et Mythos 5.1 sur l’API Claude peuvent lire les blocs 5.5 ; aucun autre modèle ne le peut. Les blocs illisibles sont jetés avant que le modèle les voie. La requête renvoie encore 200 ; les blocs jetés ne sont pas facturés. Pour voir ce qui a été jeté, envoyez thinking-binding-controls-2026-08-01 et lisez le tableau input_transformations de premier niveau.
Le binding de préfixe est plus strict. Les comptes créés à partir du 31 août 2026, 00:00 UTC, vérifient par défaut si le system prompt, les tools, ou un message plus ancien ont changé depuis que le bloc a été produit. Rejouer après un tel changement est un 400. C’est le preserved thinking venu de Fable 5.1. Ne revenez pas modifier un schema d’outil dans l’historique pour « réparer le contrat » — cela annule le thinking. Ajoutez de nouveaux outils avec un message system en milieu de conversation. Renvoyez les blocs thinking sans modification quand vous retournez les résultats d’outils.
computer_20251124 et une barre de progression silencieuse
Sur l’API Claude et Google Cloud, 5.5 n’accepte que computer_toolset_20260801. Gardez l’en-tête beta computer-use-2025-11-24 et l’ancien type d’outil, et vous avez 400. Bedrock accepte encore computer_20251124. Browser use, et les intégrations déjà sur le toolset, n’ont rien à changer. La boucle doit gérer les blocs tool_use membres, les actions en lot, et toolset_name sur les résultats.
La courte phrase entre appels d’outils n’est plus un bloc text. Avec display omis, le flux de progression meurt et il n’y a pas d’erreur. Ce n’est pas un échec de schema. C’est lire les blocs par position au lieu de par type. Branchez d’abord sur le type, puis décidez s’il faut régler thinking.display.
Sol et Luna se tiennent à côté de la grille tarifaire
Le même jour, OpenAI a publié GPT-6 Sol (gpt-6-sol, $2 / $10) et GPT-6 Luna (gpt-6-luna, $0.10 / $0.50), environ la moitié des pairs GPT-5.6. Astra reste à $10 / $50. Le job officiel de Luna est l’extraction et le résumé à fort volume, objectif clair — la voie que les pipelines JSON aiment. Un prix affiché plus bas n’autorise pas un schema plus lâche.
Ne choisissez pas une route sur le seul prix affiché. L’économie typique de 40 % d’Opus 5.5 vient pour moitié du cache et de moins de tokens par tâche, pas des 20 % sur la grille. L’effort par défaut qui passe de high à medium bouge la facture et la latence. Faites passer le même schema dans une passe d’extraction avant de changer le routage. GPT-5.5 quitte encore ChatGPT / Work / Codex le 14 octobre (l’API est hors de ce retrait). C’est une autre ligne produit. Ne fusionnez pas ça avec ces breaking changes en un seul ticket « tout mettre à jour ».
Quatre contrôles avant de changer la chaîne modèle
- Cherchez
tool_choice. Remplacez chaqueany/toolnommé parauto. Pour un JSON stable, activezstrictet serrezinput_schema. - Cherchez
thinking. Enlevezdisabledetbudget_tokens. Posezeffortexplicitement. Lisez les blocs partype. Renvoyez thinking sans modification. - Cherchez
computer_20251124. Sur l’API Claude et Google Cloud, passez au toolset. Bedrock peut attendre. - Replay et cache. Sur les comptes après le 31 août, ne modifiez pas tools ni system dans l’historique. Changez un schema avec un message ajouté. La compaction (
compact-2026-09-04) peut substituer un résumé signé tout en gardant thinking valide, aux conditions de la page Compaction d’Anthropic.
Inspecter le schema avec les outils JSON locaux
Avant de poser le modèle sur claude-opus-5-5, étalez trois textes dans le navigateur : l’ancien input_schema, un objet arguments que vous forciez avec tool_choice, et le schema que vous comptez marquer strict.
- Validateur JSON — la grammaire est-elle légale ; si vous avez un schema, vérifiez ensemble champs required et clés en trop.
- Formateur JSON — déroulez une définition d’outil sur une ligne et voyez si
additionalPropertiesest posé. - JSON Diff — comparez un échantillon d’appel forcé avec le plus petit objet que le schema strict autorise.
Rien ne quitte le navigateur. Stabilisez le contrat, puis changez la chaîne modèle. 5.5 changera effort, pensera plus, et rejettera l’ancien tool_choice. Vos noms de champs et la liste required ne devraient pas se relâcher avec lui.
FAQ
Puis-je livrer en ne changeant que le modèle en claude-opus-5-5 ?
Pas comme défaut. Si la requête a encore thinking.disabled, budget_tokens, tool_choice any/tool, ou computer_20251124 sur l’API Claude, vous avez 400.
Sans outil forcé, comment avoir encore du JSON ?
Gardez tool_choice sur auto, mettez strict sur l’outil, remplissez required, et posez additionalProperties à false. Mettez la réponse finale sur Structured Output. Ne faites pas JSON.parse sur la prose du chat.
Si thinking ne se coupe pas, la facture est-elle toujours plus haute ?
Pas forcément. Les prix affichés sont plus bas, les lectures cache moins chères, et Anthropic cite environ 40 % de moins sur les charges typiques. L’effort par défaut est medium. Échangez la profondeur avec effort. N’échangez pas la facture avec disabled.
Fable 5.1 a-t-il besoin des mêmes modifications ?
Thinking toujours allumé, pas d’outils forcés, et blocs thinking liés s’appliquent déjà à Fable 5.1. La rupture computer_20251124 est surtout sur l’API Claude et Google Cloud pour 5.5. Bedrock accepte encore l’ancien outil computer.
Pourquoi la barre de progression s’est-elle tue ?
Les courtes notes entre appels d’outils sont passées dans les blocs thinking. Le display par défaut omet le texte. Lisez les blocs par type, et réglez thinking.display si vous avez besoin de la progression. Ce n’est pas un échec de validation de schema.
Est-ce la même chose que le retrait GPT-5.5 du 14 octobre ?
Non. GPT-5.5 quitte ChatGPT / Work / Codex ; cet avis ne touche pas l’API. Opus 5.5 est le nouveau modèle d’un autre fournisseur plus des breaking changes. Migrez les deux lignes séparément.
Résumé
Opus 5.5 transforme « forcer un appel d’outil » d’une béquille légale en un 400. La grille tarifaire et l’économie typique de 40 % ne couvrent pas les quatre échecs durs. Pour un JSON stable, utilisez auto plus strict plus JSON Schema, ou Structured Output. Thinking reste allumé, les blocs se lient à la conversation, et l’ancien outil computer meurt sur certaines plateformes — c’est une checklist avant de changer la chaîne, pas une observation après le lancement.
Aplatissez d’abord le schema, un objet arguments d’échantillon, et le contrat strict dans un validateur local, puis passez à claude-opus-5-5. Les modèles changeront. Effort bougera. Votre contrat de champs ne devrait pas se relâcher avec eux.