La nouvelle version de l'API Claude supprime temperature

Anthropic a publié une nouvelle version de l'API Claude, numérotée 2026-10-21. Depuis 2023, les développeurs écrivent anthropic-version: 2023-06-01 dans l'en-tête de leurs requêtes ; c'est la première nouvelle version officielle depuis.

Le changement le plus visible : les trois paramètres d'échantillonnage temperature, top_p et top_k sont retirés de la Messages API. D'après la documentation de migration, dès qu'une requête envoyée avec la nouvelle version contient l'un de ces champs, même avec la valeur par défaut, l'API renvoie directement une erreur 400. Sans ces champs, la requête est échantillonnée selon les valeurs par défaut, avec temperature à 1.0, comme dans l'ancienne version lorsqu'aucun paramètre n'était transmis.

L'ancienne version n'est pas dépréciée. Le conseil de la documentation est direct : toute requête qui dépend de valeurs d'échantillonnage non standard doit soit retirer les paramètres, soit rester sur 2023-06-01.

Qui est concerné

Pour les modèles à partir de Claude 4.7, la suppression ne change presque rien en pratique, car, selon la documentation, ces modèles n'acceptaient déjà que les valeurs par défaut. Les applications touchées sont celles qui utilisent encore des modèles plus anciens comme Claude Sonnet 4.6 et abaissent volontairement la température pour obtenir des sorties plus stables. La documentation est claire : ces requêtes perdent leur effet d'origine après la mise à niveau, et aucun autre réglage ne peut le remplacer.

Outre les paramètres d'échantillonnage, la Messages API connaît deux autres changements qui provoquent une erreur 400 :

  • Placer un bloc document directement dans un message assistant provoque désormais une erreur ; le document doit figurer dans le message user ;
  • Inclure des citations non vides dans un bloc texte d'un message user provoque aussi une erreur.

Côté administration, des champs sont également renommés. Dans l'Admin API, roles des groupes RBAC devient role_ids, workspace_id disparaît des clés d'API au profit de la lecture de scope, et dans l'interface d'analyse pour entreprises, actor.email devient actor.email_address. Avec la nouvelle version, les anciens noms de champs ne sont plus renvoyés.

Les SDK changent ensemble de version majeure

Les SDK officiels de tous les langages ont relevé leur version majeure, et les nouvelles versions envoient par défaut 2026-10-21 : le paquet Python anthropic passe à 2.0.0, @anthropic-ai/sdk pour TypeScript à 1.0.0, Go à v2 (le chemin d'import doit comporter /v2), Java à 3.0.0, C# à 13.0.0, PHP à 1.0.0 et Ruby à 2.0.0. L'outil en ligne de commande ant passe à 2.0.0.

Les utilisateurs de Go doivent redoubler de prudence. Le chemin de module de la CLI devient github.com/anthropics/anthropic-cli/v2 ; la documentation prévient qu'avec l'ancien chemin, go install continue d'installer la dernière v1, sans erreur ni avertissement.

Sur Amazon Bedrock, la nouvelle version n'est ouverte qu'aux modèles à partir de Claude 4.7. Ceux qui appellent encore Opus 4.6 ou d'autres modèles plus anciens sur Bedrock doivent soit rester sur la version actuelle du SDK, soit changer de modèle avant de mettre à niveau.

La clé change d'en-tête

Le changement au plus large impact pour les développeurs en Chine se cache peut-être dans les modifications des SDK. Le nouveau SDK et la CLI ne placent plus la clé d'API dans l'en-tête X-Api-Key, mais utilisent désormais Authorization: Bearer <key> de façon uniforme.

L'API Claude elle-même accepte les deux en-têtes, les programmes qui se connectent directement à l'interface officielle ne sont donc pas touchés. Le problème vient des couches intermédiaires : proxys inverses maison, passerelles d'API et middlewares de comptage de quota qui lisent la clé dans X-Api-Key pour l'authentification ou la facturation ne la trouveront plus dès la mise à niveau du SDK. La documentation propose deux voies : modifier la passerelle pour qu'elle lise Authorization, ou remettre manuellement la clé dans X-Api-Key côté client.

Autre conséquence : un client ne peut détenir qu'un seul type d'identifiant. Auparavant, transmettre à la fois api_key et auth_token en Python envoyait les deux en-têtes ; désormais, une ValueError est levée directement.

À propos d'un numéro de version vieux de plus de deux ans

Le numéro 2023-06-01 a couvert toute l'évolution de Claude, de l'époque de Claude 2 à la série Claude 5. Les capacités ajoutées entre-temps, comme l'appel d'outils, la mise en cache des prompts et la réflexion étendue, l'ont surtout été par couches successives via des en-têtes bêta et de nouveaux champs, sans que le numéro de version bouge.

Le retrait des paramètres d'échantillonnage était en fait annoncé. Depuis Claude 4.7, les modèles n'acceptent que les valeurs par défaut, et régler la température sur les nouveaux modèles n'avait déjà plus d'effet. Cette fois, la règle est inscrite dans le contrat de l'interface, de sorte que la requête échoue dès l'entrée et que l'appelant ne croie pas que le paramètre est encore pris en compte.

Quant à la durée de maintien de l'ancienne version, la documentation de migration ne donne aucun calendrier, et Anthropic n'a pour l'instant pas annoncé de date de fin pour 2023-06-01.

Sources : documentation de migration de la plateforme Claude, compte officiel des développeurs de Claude, CocoLoop ; les numéros de version des SDK par langage, les conditions d'erreur et l'étendue des modèles sur Bedrock s'en tiennent à la documentation officielle de migration.