Claude Model Version Not Found : corriger les mauvais ID de modèle, alias et routes API
Si vous voyez une erreur Claude model version not found, ne commencez pas par modifier le prompt. Commencez par prouver trois choses : l’ID du modèle existe bien aujourd’hui, votre endpoint attend exactement ce format d’ID, et le workspace ou le routeur que vous utilisez est autorisé à l’appeler.
La correction rapide est généralement l’une des suivantes :
| Vérification | Ce qui a généralement cassé | Correctif |
|---|---|---|
| ID du modèle | Un snapshot Claude codé en dur et obsolète, une faute de frappe, ou un nom de modèle copié depuis un autre fournisseur | Remplacez-le par un alias Claude API actuel tel que claude-sonnet-5-5, claude-opus-5-5, claude-haiku-5-5, ou claude-fable-5-1 après avoir vérifié la liste actuelle des modèles Anthropic. |
| Contrat de l’endpoint | Un ID Bedrock, Vertex, Azure, compatible OpenAI, ou spécifique à une passerelle a été envoyé à la mauvaise API | Faites correspondre la chaîne du modèle à l’endpoint que vous appelez. |
| URL de base | Le SDK pointe vers le mauvais base_url, chemin ou route |
Vérifiez si le client utilise la route native Anthropic /v1/messages ou une route compatible OpenAI. |
| Accès | Le modèle existe, mais votre workspace, votre compte fournisseur ou votre sous-clé n’est pas autorisé à l’utiliser | Vérifiez les autorisations du workspace, les listes d’autorisation et l’accès au modèle avant de réessayer. |
| État du déploiement | Un modèle récemment annoncé est visible dans la documentation mais n’est pas encore présent dans votre routeur ou votre déploiement | Faites un canary de la route et conservez le modèle fonctionnel précédent jusqu’à ce que la nouvelle route passe. |
Ce guide vous donne un runbook pratique pour les échecs claude model version not found, claude model version et claude model versions dans les applications de production, les configurations Claude Code, les passerelles et les infrastructures d’agents.
Ce que signifie « Claude model version not found »
Claude model version not found est généralement une description au niveau de l’intégration d’un échec de résolution de modèle. Les erreurs directes de l’API Anthropic sont structurées en JSON. Anthropic documente 404 - not_found_error pour une ressource demandée qui ne peut pas être trouvée, et ses corps d’erreur incluent un error.type, un error.message et un ID de requête. L’API Messages d’Anthropic exige également un champ model qui nomme le modèle qui complète le prompt.
Cette distinction compte. Une réponse d’API directe, une exception du SDK, un wrapper de passerelle et une CLI d’agent peuvent tous formuler différemment le même échec sous-jacent. Votre travail consiste à préserver le code d’état brut, error.type, message, l’ID de requête, la chaîne du modèle, le chemin de l’endpoint et l’URL de base avant de réessayer.
Utilisez cette règle de triage :
- 404 /
not_found_error: vérifiez d’abord le chemin de l’endpoint, l’identifiant du modèle et les ID de ressource. - 400 /
invalid_request_error: vérifiez si le modèle existe, mais rejette un paramètre, un type d’outil, un mode de réflexion, un préremplissage ou la forme de la requête. - 401 / 403 : vérifiez l’authentification, l’accès au workspace et les autorisations du modèle.
- « model version not found » spécifique à la passerelle : vérifiez à la fois le catalogue de modèles de la passerelle et l’ID du fournisseur en amont auquel il est mappé.
Vérification de l’ID actuel du modèle Claude
Avant de modifier le code, comparez la chaîne du modèle en échec avec la liste officielle actuelle. À la date de la documentation Anthropic actuelle consultée pour cet article, les alias Claude API visibles incluent :
| Famille | Alias Claude API à vérifier |
|---|---|
| Fable | claude-fable-5-1 |
| Opus | claude-opus-5-5 |
| Sonnet | claude-sonnet-5-5 |
| Haiku | claude-haiku-5-5 |
Ne supposez pas qu’un nom de modèle provenant d’un billet de blog, d’un libellé d’interface, d’une place de marché fournisseur ou d’un ancien exemple de code soit valide pour toutes les surfaces API. La documentation Anthropic montre des IDs distincts pour l’API Claude, Amazon Bedrock, Google Cloud, Microsoft Foundry et Claude Platform on AWS. Ces IDs peuvent sembler similaires, mais ils ne sont pas interchangeables.
Six causes courantes
1. Une version du modèle Claude codée en dur et obsolète
Les IDs de modèle codés en dur vieillissent mal. Un service peut encore contenir un snapshot plus ancien tel que :
const model = "claude-3-7-sonnet-20250219";
Si l’endpoint n’accepte plus ce snapshot, ou si votre routeur ne l’a jamais mappé, la requête peut échouer avant même que le prompt ne soit évalué. Remplacez la valeur codée en dur par un alias actuel pris en charge par votre endpoint, puis stockez cet alias dans une seule source de configuration au lieu de fichiers dispersés.
const model = process.env.CLAUDE_MODEL ?? "claude-sonnet-5-5";
Pour les systèmes de production, journalisez à la fois l’alias configuré et la route résolue. Ainsi, le prochain incident Claude model version not found devient un diff de configuration plutôt qu’une recherche dans le code.
2. Un ID spécifique au fournisseur a été envoyé à l’API Claude
Les plateformes fournisseurs utilisent leurs propres identifiants de modèle. Un ID de type Bedrock ou Vertex peut être valide sur ce fournisseur et invalide face à l’API Claude native. L’inverse est également vrai : un alias Claude API natif peut ne pas être l’identifiant complet attendu par un runtime de fournisseur cloud.
Utilisez ce tableau de contrat d’endpoint :
| Vous appelez | L’ID de modèle doit ressembler à | À éviter |
|---|---|---|
Anthropic Claude API /v1/messages |
Alias de l’API Claude tiré de la documentation Anthropic, par exemple claude-sonnet-5-5 |
IDs préfixés par Bedrock, Vertex ou Foundry |
| Amazon Bedrock | ID de modèle Bedrock affiché dans la documentation du fournisseur ou dans la console | Alias natifs réservés à Claude lorsque le SDK attend des IDs Bedrock |
| Google Cloud / Vertex | ID de modèle Google Cloud affiché pour ce déploiement | IDs natifs ou Bedrock collés depuis un autre environnement |
| Routeur compatible OpenAI | L’ID du catalogue de modèles du routeur | Formats de requête natifs Anthropic, sauf si le routeur les prend explicitement en charge |
| Routeur Flatkey | Une route prise en charge par Flatkey, issue du catalogue de modèles Flatkey ou des instructions de configuration | Clés de fournisseurs dispersées et remplacements non relus par agent |
Si votre déploiement couvre Anthropic en direct, des points de terminaison de fournisseurs cloud et un routeur, gardez une petite table de traduction dans la configuration :
routes:
claude_primary:
api_surface: anthropic_messages
model: claude-sonnet-5-5
claude_gateway:
api_surface: openai_compatible_router
model: claude-sonnet-5-5
claude_bedrock:
api_surface: bedrock
model: anthropic.claude-sonnet-5-5
Les chaînes exactes doivent provenir du fournisseur ou du routeur que vous utilisez. L’objectif est de rendre explicite la surface API.
3. L’URL de base et le SDK ne correspondent pas
Le SDK Anthropic attend le contrat de l’API Messages d’Anthropic. Un routeur compatible OpenAI attend un client et un payload compatibles OpenAI, sauf s’il documente une route compatible Anthropic. Si le client, le chemin et le champ model sont mélangés, l’erreur peut ressembler à une version de modèle Claude manquante alors que le vrai problème est la mauvaise route.
Vérifiez ces champs ensemble :
SDK/client: SDK Anthropic, SDK OpenAI, Claude Code, Cursor, Cline, HTTP personnalisé
URL de base: fournisseur direct, routeur, proxy de staging, mock local
Chemin: /v1/messages, /v1/chat/completions, chemin d'exécution spécifique au fournisseur
Format de l'ID de modèle: alias Claude natif, ID du fournisseur cloud, ID du catalogue du routeur
En-tête d'auth: x-api-key, Authorization: Bearer, signature spécifique au fournisseur
Si une ligne appartient à une autre surface API, corrigez cela avant de réessayer.
4. Un nouvel alias Claude n’a pas encore atteint votre routeur
Les lancements de modèles ne sont pas atomiques à travers tous les SDK, proxys, fournisseurs cloud et passerelles. Un modèle peut apparaître dans un catalogue avant que votre route, votre allowlist ou votre déploiement ne le prennent en charge.
Utilisez un canari au lieu de basculer immédiatement le trafic de production :
model_canary:
candidate_model: claude-sonnet-5-5
previous_model: claude-sonnet-5
checks:
- requête minimale sans streaming
- requête en streaming si votre application diffuse
- requête d'appel d'outil si votre application utilise des outils
- parcours de comptage de tokens ou dry-run si disponible
- ligne du registre de facturation et d'utilisation
rollout:
start: 1%
promote_when: 100 requêtes réussies et aucune erreur de résolution de modèle
rollback_on: toute erreur not_found_error répétée ou inadéquation de route
C’est là que le routage et la vue du registre de Flatkey sont utiles. Si Claude n’est qu’une route parmi de nombreux modèles, utilisez un seul catalogue de modèles, une seule revue de route de base et un seul registre d’utilisation au lieu de déboguer des consoles de fournisseurs séparées et des configurations d’agents séparées.
5. Les permissions de workspace ou les allowlists de modèles bloquent l’accès
Parfois, la chaîne de modèle est valide, mais votre clé ne peut pas l’appeler. Cela peut se produire au niveau du workspace du fournisseur, du compte cloud, du routeur ou d’une sous-clé.
Vérifiez :
- Que la clé API appartient bien au workspace attendu.
- Que le modèle est activé pour ce workspace.
- Qu’une sous-clé de passerelle, une clé d’environnement ou une clé d’agent dispose d’une allowlist de modèles.
- Que les clés de staging et de production ont des accès différents aux modèles.
- Que les limites de dépenses ou les contrôles de politique ne renvoient pas une erreur ayant la forme d’un problème de permissions.
Ne résolvez pas les échecs d’accès en élargissant toutes les clés. Créez une politique restrictive qui indique quels agents et quels environnements peuvent appeler chaque version du modèle Claude.
6. Le modèle existe, mais votre requête utilise des fonctionnalités de modèle non prises en charge
La documentation des erreurs d’Anthropic répertorie plusieurs échecs de validation où le modèle est réel mais où la forme de la requête est invalide. Les exemples incluent les différences de mode de réflexion, les paramètres d’utilisation forcée d’outils, la prise en charge des types d’outils et les messages assistant préremplis sur les modèles plus récents.
Si le statut est 400 invalid_request_error, arrêtez de chercher une version de modèle manquante. Comparez plutôt le corps de la requête aux règles de capacité actuelles du modèle. La correction peut consister à modifier thinking, tool_choice, les déclarations d’outils ou la gestion de l’historique des messages plutôt qu’à changer model.
Un runbook de débogage en production
Étape 1 : capturez l’enregistrement complet de la requête en échec
Enregistrez un enregistrement de débogage minimal avant de modifier quoi que ce soit :
{
"provider": "anthropic_or_router_name",
"base_url": "https://api.example.com",
"path": "/v1/messages",
"model": "claude-sonnet-5-5",
"sdk": "anthropic-typescript",
"status": 404,
"error_type": "not_found_error",
"request_id": "req_...",
"environment": "production",
"api_key_scope": "prod-agent-key"
}
Si vous utilisez Flatkey, capturez également la route, la sous-clé, la ligne du registre d’utilisation et toute décision de repli. Si vous utilisez Anthropic directement, conservez la valeur request-id de la réponse, car Anthropic demande cet identifiant dans les cas de support.
Étape 2 : reproduire avec la plus petite requête
Supprimez les outils, l’historique long, les images, les blocs de réflexion mis en cache et les wrappers du framework. Testez un seul message court avec exactement le même modèle et la même clé.
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 64,
"messages": [
{"role": "user", "content": "Reply with ok."}
]
}'
Si la requête minimale fonctionne, la version du modèle existe pour cette clé et cet endpoint. Passez au débogage de la forme de la requête. Si elle échoue avec le même résultat introuvable, concentrez-vous sur la chaîne du modèle, l’endpoint ou la couche d’accès.
Étape 3 : normaliser les ID de modèle en un seul endroit
Créez une source de configuration unique pour les versions de modèle Claude :
models:
claude_default:
owner: platform
api_surface: anthropic_messages
model: claude-sonnet-5-5
fallback: claude-haiku-5-5
last_verified: "2026-10-10"
claude_reasoning:
owner: agents
api_surface: anthropic_messages
model: claude-opus-5-5
fallback: claude-sonnet-5-5
last_verified: "2026-10-10"
Bloquez ensuite les ID de modèle bruts dans le code applicatif. L’application doit demander claude_default, et non coller une nouvelle version de modèle Claude dans cinq services.
Étape 4 : vérifier la configuration des agents et du CI
Les erreurs « Claude model version not found » proviennent souvent d’une variable d’environnement oubliée plutôt que d’un changement de code. Inspectez :
.env,.env.productionet les valeurs du gestionnaire de secrets.- Les variables de Claude Code, Cursor, Cline, Roo, Aider et GitHub Actions.
- Les valeurs par défaut de l’image Docker et les ConfigMaps Kubernetes.
- Les listes d’autorisation de modèles par sous-clé client ou par équipe.
- Les remplacements de développement local qui ont été copiés en production.
Si votre équipe utilise Claude Code via une passerelle, vérifiez aussi la configuration de l’authentification et de l’URL de base. Un mauvais ANTHROPIC_BASE_URL ou un mauvais périmètre de clé peut rendre le diagnostic du modèle confus ; utilisez le guide des erreurs de jeton d’authentification Claude Code lorsque l’authentification échoue également.
Étape 5 : décider s’il faut réessayer, basculer ou échouer de façon fermée
Ne réessayez pas indéfiniment une erreur déterministe de modèle manquant. Utilisez cette politique :
| Schéma d’erreur | Réessayer ? | Repli ? | Action humaine |
|---|---|---|---|
| ID de modèle erroné ou obsolète | Non | Uniquement après correction de la configuration | Mettre à jour le registre des modèles et redéployer |
| Nouvel alias pas encore dans le routeur | Pas de nouvelles tentatives répétées | Conserver le modèle précédemment vérifié | Ouvrir une tâche d’activation de route / canary |
| L’espace de travail n’a pas accès | Non | Peut-être, si un repli approuvé existe | Corriger la clé, l’espace de travail ou la liste d’autorisation |
| Mismatch de forme de requête 400 | Non | Pas avant correction de la requête | Corriger le corps de la requête ou les flags de fonctionnalité |
| 529 surchargé ou panne amont transitoire | Oui, backoff borné | Oui, si la politique de repli l’autorise | Surveiller l’état de santé de la route |
Pour la gestion des surcharges transitoires, utilisez un runbook différent : API Error 529 overloaded. Une défaillance de version de modèle est généralement déterministe jusqu’à ce que vous modifiiez la configuration.
Checklist de revue des routes Flatkey
Lorsque Claude fait partie d’un système multi-modèles, un routeur vous offre un endroit unique pour examiner les noms de modèles, les clés, les listes d’autorisation, les dépenses et les replis. La proposition de Flatkey repose sur une clé, un solde, une facture, des endpoints de modèle officiels et un registre d’utilisation partagé entre les modèles et les outils.
Utilisez cette checklist avant de promouvoir une nouvelle route Claude :
route_review:
route_name: claude_primary
current_model: claude-sonnet-5-5
endpoint_contract: openai_compatible_or_anthropic_native
owner: platform
environments:
dev: verified
staging: verified
production: canary
controls:
sub_key_allowlist: true
request_ledger: true
fallback_policy: explicit
usage_alert: true
rollback:
previous_model: claude-sonnet-5
trigger: repeated model-resolution errors
Pour une conception plus large des routes, lisez Claude API proxy vs multi-model router et le guide du catalogue de modèles IA. Pour les compromis entre coût et routage, associez cet article à Claude API pricing et LLM API fallback routing.
Checklist d’incident copiable
Utilisez ceci dans Slack, Linear, GitHub ou votre document d’incident :
## Incident Claude model version not found
- Chaîne de modèle en échec :
- Surface API : Anthropic native / routeur / Bedrock / Vertex / autre
- URL de base :
- Chemin de la requête :
- SDK ou client :
- Code de statut :
- error.type :
- request-id :
- Premier déploiement en échec :
- Alias officiel actuel du modèle vérifié :
- La requête minimale passe-t-elle ?
- Le modèle est-il activé pour cet espace de travail / cette clé / cette sous-clé ?
- S’agit-il d’une erreur de fonctionnalité non prise en charge plutôt que d’un modèle introuvable ?
- Modèle de retour arrière :
- Propriétaire :
Gardez la checklist banale. L’objectif est d’éviter qu’une version de modèle Claude manquante ne se transforme en incident majeur où chaque équipe modifie un réglage différent.
Questions fréquentes
« Claude model version not found » est-il la même chose qu’une 404 ?
Souvent, mais pas toujours. Anthropic documente 404 - not_found_error pour les ressources manquantes, tandis que les SDK et les passerelles peuvent reformuler le message. Conservez le code d’état brut et error.type avant de décider.
Quelles versions du modèle Claude dois-je utiliser ?
Utilisez les alias de modèle actuels fournis par l’API ou par la surface du fournisseur que vous appelez. Ne copiez pas une version de modèle Claude d’un autre fournisseur cloud, d’un routeur ou d’un ancien exemple de code sans vérifier le catalogue de ce point de terminaison.
Dois-je utiliser un alias ou un instantané daté ?
Pour la plupart des équipes applicatives, un alias actuel est plus simple à exploiter, car le fournisseur contrôle le mappage pris en charge. Si vous avez besoin d’une reproductibilité stricte, documentez la politique exacte des instantanés, le plan de retrait et le chemin de retour arrière.
Flatkey peut-il corriger automatiquement Claude model version not found ?
Flatkey ne peut pas rendre valide un ID de modèle amont invalide, mais il peut réduire les endroits où de mauvais ID se cachent. Utilisez Flatkey pour centraliser la revue du catalogue de modèles, le routage à une clé, les listes d’autorisation par sous-clé, les journaux d’utilisation et la politique de repli lorsque Claude n’est qu’un itinéraire de modèle parmi d’autres.
Quand dois-je basculer vers un autre modèle ?
Le repli est approprié après avoir classé l’échec. Ne basculez pas à cause d’une faute de frappe, d’une mauvaise URL de base ou d’une clé non autorisée. Basculez lorsque votre politique indique que l’itinéraire actuel est indisponible et que l’itinéraire suivant a passé les mêmes vérifications d’entrée, de qualité et de coût.
Vérification finale
Avant de clôturer un ticket claude model version not found, confirmez la correction à trois endroits : la configuration source, un test de fumée minimal de l’API et les journaux de routage en production. Ajoutez ensuite la version de modèle Claude fonctionnelle à votre registre de modèles afin que le prochain déploiement ne réintroduise pas la même chaîne obsolète.
Si vous routez déjà plusieurs modèles, testez la même modification via Flatkey afin que votre registre des requêtes, votre politique de repli et vos listes d’autorisation de modèles soient tous cohérents avant le passage du trafic de production.



