Sommaire
L’erreur Prompt is too long de Claude Code signifie que l’entrée envoyée dépasse la limite de la fenêtre de contexte. Dans l’interface interactive, la forme de base est une ligne qui commence par Context limit reached, tandis que la forme longue, accompagnée d’une cause, reste affichée comme Prompt is too long ·. La seconde moitié du message varie selon la situation, et c’est elle qui indique la marche à suivre. Comparez le texte affiché sur votre écran à la liste ci-dessous.
# Interface interactive (cas habituel)
Context limit reached · /compact or /clear to continue
# Interface interactive (compaction automatique désactivée)
Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on
# Interface interactive (compaction entièrement désactivée avec DISABLE_COMPACT)
Context limit reached · /clear to continue
# Sortie de -p et journal de conversation
Prompt is too long
# La compaction automatique a échoué à cause d’une autre erreur
Prompt is too long · automatic compaction failed: <the underlying error>
# Conversation d’un seul échange, sans historique à résumer
Prompt is too long · this conversation is a single exchange and cannot be compacted — …
Prompt is too long · the request is ~<N> tokens (limit <limit>) … A single-exchange conversation cannot be compacted; …
# Via Amazon Bedrock
Input is too long for requested model.
# /compact lui-même échoue (section 4)
Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.
# Corps de la réponse de l’API (chiffres donnés à titre d’exemple)
prompt is too long: 209117 tokens > 200000 maximum
Comment reprendre maintenant →
L’entrée ne comprend pas seulement le texte saisi : historique, fichiers lus, résultats d’outils et instructions peuvent tous y contribuer. Dans le corps de la réponse de l’API, 209117 tokens > 200000 maximum signifie que l’entrée de 209 117 tokens dépasse la limite de 200 000 tokens. La fenêtre de contexte englobe l’entrée et la sortie générée pour cette réponse ; cette erreur signifie que l’entrée seule dépasse la limite. La reprise diffère d’un usage limit atteint en épuisant le quota du forfait sur une période.
Utilisez /compact pour un historique long, réduisez l’entrée si le premier message est trop volumineux et résolvez d’abord toute cause signalée d’échec de compaction. Voilà les principales voies de reprise. La compaction automatique est activée par défaut et évite normalement cette erreur ; si elle apparaît malgré tout, ces trois cas déterminent la marche à suivre. Fondé sur la documentation officielle des erreurs de Claude Code et les spécifications API au 21 septembre 2026, cet article explique causes, étapes de reprise et conditions de 200K et 1M. L’utilisation directe de l’API est traitée séparément.
La même erreur de longueur peut demander des réductions différentes
Au cours d’une longue conversation
Résumez l’historique précédent. Si la fenêtre se remplit à nouveau juste après la compaction, fractionnez les lectures volumineuses.
Entrée initiale déjà trop volumineuse
Il n’y a pas de conversation antérieure à résumer. Réduisez d’abord les textes collés, pièces jointes, instructions et données des outils.
La compaction elle-même échoue
Résolvez d’abord la cause indiquée, telle qu’un échec d’authentification ou un modèle indisponible. Répéter la compaction ne suffira pas.
Utilisez /context pour la répartition de la fenêtre et /usage pour la consommation sur une période ou les quotas du forfait. Les deux concernent les tokens, mais mesurent des choses différentes.
1. Ce que signifie cette erreur
La fenêtre de contexte limite la quantité d’information qu’un modèle peut consulter et générer en une réponse. Elle se mesure en tokens, pas en caractères, et inclut l’entrée, la sortie de cette réponse et les tokens de raisonnement. L’entrée lue depuis le cache de l’API occupe toujours la fenêtre. Le cache modifie la tarification ou le traitement ; il ne réduit pas cette entrée à un espace nul. Consultez la spécification des fenêtres de contexte d’Anthropic.
Dans cette limite, Prompt is too long survient lorsque l’entrée envoyée ne tient déjà pas à elle seule dans la fenêtre. Même une question courte peut appartenir à une grosse requête si elle s’accompagne d’historique ou de fichiers. Raccourcir seulement la dernière question peut donc ne pas aider. Pour les bases, consultez Qu’est-ce qu’une fenêtre de contexte ?
À l’approche de la limite, Claude Code supprime d’anciennes sorties d’outils et résume la conversation si nécessaire. S’il se bloque malgré tout, c’est en cas de collage massif, de compaction automatique désactivée ou d’échec de la compaction elle-même. Relire le même fichier énorme juste après le résumé peut aussi remplir à nouveau la fenêtre. La seconde moitié du message cité en début d’article indique le cas en présence. Avec automatic compaction failed:, la cause de l’échec de la compaction suit ; avec single exchange, il n’y a pas d’historique à résumer ; avec auto-compact is off, la compaction automatique est désactivée.
2. Qu’est-ce qui remplit la fenêtre de contexte ?
La répartition suivante suit l’explication du fonctionnement de Claude Code. Le journal sauvegardé d’une conversation n’est pas identique à ce qui est actuellement envoyé au modèle. Supprimer d’anciens résultats d’outils ou résumer modifie le contenu de la fenêtre active.
| Composant | Ce qui entre dans la fenêtre | Ce qu’il faut revoir |
|---|---|---|
| Historique de conversation | Échanges envoyés dans la requête actuelle. La compaction remplace certaines parties par un résumé | /compact pour la même tâche ; /clear pour une autre tâche sans rapport |
| Fichiers et résultats d’outils | Contenu des fichiers lus, résultats de recherche, sorties de commandes et éléments similaires | Ciblez les recherches, ne lisez que les lignes utiles ou déléguez l’enquête détaillée à un sous-agent |
| MCP | Noms des outils et instructions des serveurs. Par défaut, Tool Search charge les définitions détaillées au besoin | Vérifiez l’occupation réelle avec /context et désactivez les serveurs inutilisés via /mcp |
| CLAUDE.md et mémoire | Instructions applicables et mémoire chargée. Tous les fichiers de mémoire automatique ne sont pas toujours présents | Gardez les règles permanentes courtes et séparez les explications propres à certaines tâches |
| Skills | Habituellement, descriptions au démarrage et corps à l’utilisation. Des réglages peuvent aussi différer les descriptions | Revoyez les candidates inutiles à l’invocation automatique et les corps de skills trop longs |
| Instructions système | Instructions de fonctionnement fournies par Claude Code ou l’environnement de connexion | Commencez par les instructions, pièces jointes et outils que vous contrôlez |
Par défaut, les définitions des outils MCP sont chargées par Tool Search au moment où elles deviennent nécessaires. Au démarrage de la session, seuls les noms des outils et les descriptions des serveurs entrent dans la fenêtre : ajouter des serveurs pèse donc peu. Les définitions sont chargées d’emblée notamment si vous définissez ENABLE_TOOL_SEARCH=false, si un serveur utilise alwaysLoad ou si vous définissez CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS. Lorsque vous passez par une passerelle via ANTHROPIC_BASE_URL, Tool Search est en revanche activé par défaut à partir de la v2.1.304 (toutes les conditions figurent dans le tableau officiel de configuration de Tool Search). Mesurez l’occupation réelle avec /context, pas au nombre de serveurs.
Les sous-agents enquêtent dans une fenêtre distincte et peuvent renvoyer des résultats sans apporter toutes les sorties intermédiaires des outils à la conversation principale. Toutefois, leurs résumés ou conclusions occupent toujours la fenêtre principale. Leur demander de reproduire toute l’enquête réduit l’intérêt. Précisez la sortie attendue, par exemple : « Renvoyez uniquement les fichiers et lignes pertinents, les conclusions et les questions non résolues. » Par ailleurs, les sous-agents héritent de toutes les définitions d’outils MCP de la conversation parente : la documentation officielle des erreurs recommande donc de désactiver les serveurs MCP inutilisés avant de lancer un sous-agent. Les principes de conception sont présentés dans l’ingénierie du contexte.
Utilisez /context pour l’occupation de la fenêtre actuelle et /usage pour la consommation de tokens et l’utilisation du forfait. Le coût affiché par ce dernier est une estimation, pas une facture définitive. Dans les environnements compatibles, /skill-doctor peut aussi examiner l’occupation des skills. Si vous ne le trouvez pas, commencez par /context. Consultez les étapes de mesure dans Qu’est-ce qui utilise votre contexte ? et les conditions de disponibilité dans la liste officielle des commandes.
3. Tailles de contexte : 200K et 1M
200K signifie 200 000 tokens ; 1M, un million. Mais la capacité du modèle, celle qu’utilise Claude Code pour votre connexion, le seuil de compaction automatique et les conditions tarifaires sont autant de chiffres distincts. Consultez le modèle et le compte actuels avec /status, et les choix disponibles avec /model.
Séparez capacité et conditions d’utilisation
Des modèles comme Sonnet 4.5. Claude Code peut aussi traiter un modèle capable de 1M comme un modèle à 200K en raison de la connexion ou d’un réglage désactivant 1M.
Sur l’API Anthropic, citons la famille Fable, Sonnet 5 ou ultérieur et Opus 4.7 ou ultérieur. Certains utilisent 1M par défaut ; ajouter [1m] n’est pas toujours nécessaire.
Source : configuration des modèles et contexte étendu d’Anthropic. Le point de déclenchement de la compaction automatique varie selon les réglages et le modèle.
Avec un abonnement, les crédits d’utilisation ne concernent qu’Opus 4.6 et Sonnet 4.6, qui passent à 1M via leur variante [1m]. Opus 4.6 en 1M est inclus dans Max, Team et Enterprise, mais nécessite des crédits d’utilisation sur Pro ; Sonnet 4.6 en 1M en nécessite avec tous les abonnements. La famille Fable, Sonnet 5 ou ultérieur (y compris l’actuel Sonnet 5.5) et Opus 4.7 ou ultérieur connectés directement à l’API Anthropic sont traités autrement : 1M est la valeur par défaut sur tous les forfaits, Pro compris, sans crédits supplémentaires ni sélection de [1m]. Les passerelles et les réglages désactivant 1M introduisent des exceptions ; ne décidez pas au seul nom du modèle.
« Tarification standard » pour 1M signifie que dépasser 200K n’ajoute pas de supplément par token lié au contexte long. Cela ne signifie pas une entrée supplémentaire illimitée au même prix total. Traiter davantage de tokens augmente la consommation. Savoir si 1M est inclus dans votre forfait ou facturé par crédits est une autre question.
Le rapport entre caractères et tokens varie aussi selon le modèle et le contenu. Au lieu de supposer que chaque nouveau modèle ajoute un pourcentage fixe, utilisez le comptage de tokens du modèle cible avec l’API. Certaines tâches nécessitent une fenêtre plus grande, mais supprimer d’abord les journaux inutiles et les instructions en double aide à évaluer la capacité nécessaire.
4. Comment reprendre maintenant
Choisissez la reprise selon ce qui s’est passé : historique qui s’allonge ou gros fichier ajouté à l’entrée. Les options suivantes sont classées par priorité.
Étapes pour libérer de la place dans la fenêtre
/compact Concentre-toi sur le bug d’authentification. Cela réduit la charge tout en préservant le contexte./context, puis désactivez les serveurs MCP inutiles et raccourcissez CLAUDE.md. Séparez les procédures détaillées pour qu’elles ne soient lues qu’au besoin./model pour choisir un modèle avec contexte 1M. Faites d’abord le nettoyage des étapes 1–4. Ne désactivez pas la compaction automatique ; conservez son activation par défaut.Utilisez 1 pour un historique long et 2 pour une nouvelle tâche sans rapport. Pour une entrée initiale trop volumineuse, utilisez 3 et 4. Si une cause d’échec de compaction est signalée, corrigez-la d’abord.
Si /compact échoue avec Error during compaction: Conversation too long, il manque de la place pour le résumé généré. Avec la zone de saisie vide, appuyez deux fois sur Esc (ou lancez /rewind) pour ouvrir le menu de retour en arrière, puis choisissez un message antérieur à la grosse entrée pour remonter la conversation. Pour ne remonter que la conversation en gardant le code actuel, choisissez Restore conversation. Réessayez ensuite la compaction ; si cela ne libère toujours pas assez de place, utilisez /clear et repartez avec une entrée plus petite. La conversation précédente est conservée et peut être rouverte avec /resume. Les options du menu sont décrites dans l’explication officielle du retour en arrière.
En revanche, si automatic compaction failed: est suivi d’un échec d’authentification ou d’un modèle indisponible, corrigez cette cause avant de tenter de libérer la fenêtre. Tant qu’elle n’est pas corrigée, /compact échoue lui aussi avec la même erreur. Si /compact renvoie Not enough messages to compact., la conversation ne compte qu’un seul échange et n’a pas d’historique à résumer. Lancez /clear, puis renvoyez votre demande en réduisant le texte collé ou la taille des pièces jointes. Si la fenêtre se remplit juste après la compaction, limitez les derniers gros journaux ou fichiers aux parties utiles.
Si vous appelez directement l’API
/compact et /clear sont des opérations de Claude Code, pas des commandes de contrôle envoyées à la Messages API. Si l’entrée seule dépasse la fenêtre, l’API renvoie une erreur 400 invalid_request_error (« prompt is too long »). Revoyez les messages, system, tools et pièces jointes envoyés, puis estimez l’entrée avec l’API de comptage de tokens du modèle cible. Réduisez la requête elle-même : résumez l’ancien historique, limitez les documents aux sections pertinentes ou retirez les définitions inutiles. Évitez les coupures qui cassent l’association entre appels d’outils et résultats. Une compaction côté API existe aussi pour les longues conversations, mais ses modèles compatibles et ses réglages sont distincts des commandes de Claude Code.
Après la reprise, vérifiez qu’une petite requête reçoit une réponse, puis ajoutez progressivement les informations nécessaires. Renvoyer la même entrée énorme et attendre n’augmente pas la capacité. Pour le nettoyage courant, consultez économiser des tokens dans Claude Code.
5. Distinguer les erreurs similaires
Une entrée trop volumineuse, une limite de sortie configurée, une fenêtre saturée pendant la génération et l’utilisation sur une période sont des problèmes distincts. Distinguez-les par le texte de l’erreur ou le stop_reason de l’API, et non par l’apparence d’une réponse coupée.
| Symptôme | Signification | Réponse principale |
|---|---|---|
| Prompt is too long / Context limit reached / N tokens > M maximum | Sujet de cet article : l’entrée dépasse la fenêtre de contexte | /compact, /clear, déléguer les grosses lectures à un sous-agent ou utiliser un modèle 1M |
| La réponse s’arrête tôt (stop_reason: max_tokens) | La sortie a atteint le réglage max_tokens de la requête | Avec l’API, revoir le réglage de sortie et la limite du modèle ; ou demander une suite |
| stop_reason: model_context_window_exceeded | Entrée et sortie ont atteint la limite de la fenêtre pendant la génération | Réduire l’entrée pour laisser de la place à la sortie |
| usage limit reached | Le quota d’utilisation du forfait est épuisé, indépendamment de la fenêtre de tokens | Attendre la réinitialisation ; voir gérer les limites d’utilisation |
| Usage credits required for 1M context | Problème d’accès : le contexte 1M choisi n’est pas inclus dans le forfait ; ce n’est ni une entrée excessive ni un quota épuisé | Activer les crédits et redémarrer, ou utiliser /model pour revenir à la fenêtre standard |
Selon la spécification API d’Anthropic, Claude 4.5 et les versions ultérieures acceptent une requête si l’entrée seule tient dans la fenêtre, même si l’entrée plus le max_tokens demandé la dépassent. Atteindre la limite pendant la génération produit model_context_window_exceeded ; une réponse courte ne prouve donc pas à elle seule un arrêt dû à max_tokens. Pour d’autres problèmes, voir les erreurs courantes de Claude Code.
À voir aussi : dans l’application Codex, un historique visible alors que seul l’envoi échoue relève non pas de la taille de l’entrée, mais de l’état de la conversation. Ce cas est traité dans Codex « thread not found » : diagnostic et exemple de rétablissement.
6. Liste de prévention
Avant de travailler : examinez ce qui est chargé avec /context. Ciblez les gros documents par recherche ou plages de lignes au lieu de les coller en entier. Quand vous répartissez l’enquête, précisez aussi l’étendue des conclusions attendues du sous-agent.
Pendant le travail : laissez la compaction automatique activée, comme par défaut. Si la ligne d’erreur affiche auto-compact is off, réactivez-la avec /config. Si vous l’avez désactivée avec la variable d’environnement DISABLE_AUTO_COMPACT, cette mention n’apparaît pas : retirez ce réglage. Vérifiez aussi si chaque compaction est suivie d’une relecture des mêmes données. Compacter manuellement plus souvent n’est pas forcément mieux : quand lancer /compact et quelles décisions conserver comptent tous deux.
Entre les tâches : avant une tâche sans rapport, sauvegardez les informations nécessaires dans des fichiers et utilisez /clear pour une nouvelle conversation. La précédente est conservée, mais reprendre le même énorme historique pour débloquer la situation peut réintroduire la cause. Ne gardez dans les instructions permanentes de CLAUDE.md que les règles nécessaires à chaque fois.
Connexions personnalisées : avec une passerelle ou un ID de modèle personnalisé, vérifiez que la fenêtre supposée par Claude Code ne s’écarte pas de la capacité réelle de la connexion. Augmenter un chiffre dans la configuration n’agrandit pas la fenêtre réelle du modèle. La façon de les faire concorder est décrite dans les réglages officiels des modèles personnalisés.
Résumé
Prompt is too long signifie que l’entrée complète, historique et pièces jointes compris, ne tient pas — pas seulement la dernière phrase saisie. Choisissez selon la situation : /compact pour un historique long, réduction d’une entrée initiale excessive ou résolution de la cause d’une erreur de compaction.
La seconde moitié du message d’erreur (automatic compaction failed:, single exchange, auto-compact is off) indique dans quel cas vous êtes. Les définitions détaillées de MCP sont chargées à la demande par défaut : mesurez donc l’occupation avec /context, pas au nombre de serveurs. Avec 1M, capacité, prix et seuil de compaction automatique dépendent séparément du modèle, de la connexion et du forfait. Avec l’API directe, revoyez la requête envoyée et le motif d’arrêt plutôt que les commandes de Claude Code.
Questions fréquentes
Q. « Prompt is too long » et « usage limit reached » sont-ils identiques ?
R. Non. Le premier indique une entrée dépassant la limite de contexte d’une requête ; le second concerne le quota du forfait. Si l’entrée est trop volumineuse, réduisez ce que vous envoyez. /clear ne rétablit pas votre quota.
Q. Pourquoi cela arrive-t-il avec la compaction automatique activée ?
R. Une entrée énorme, l’absence de conversation antérieure à résumer, un échec de compaction ou une fenêtre de nouveau remplie juste après le résumé en sont les causes. La seconde moitié du message d’erreur permet de les distinguer. Si automatic compaction failed: est suivi d’une cause comme un échec d’authentification, corrigez-la d’abord. Avec single exchange, lancez /clear et repartez avec une entrée plus petite.
Q. /compact échoue aussi avec « Conversation too long ».
R. Il manque de la place pour le résumé. Avec la zone de saisie vide, appuyez deux fois sur Esc pour ouvrir le menu de retour en arrière, remontez la conversation jusqu’à un message antérieur à la grosse entrée, puis réessayez. Pour conserver le code, choisissez Restore conversation. Si cela ne libère pas assez de place, notez l’essentiel et repartez avec une entrée plus petite après /clear.
Q. Passer à un modèle 1M résoudra-t-il le problème ?
R. Cela peut aider si l’entrée nécessaire tient dans la nouvelle fenêtre, mais les conditions varient selon le modèle, la connexion et le forfait. Le tarif standard par token de 1M ne signifie pas un coût total identique pour davantage de traitement. Réduire d’abord l’historique inutile et les grosses sorties aide à évaluer la capacité nécessaire.
Q. Comment voir ce qui occupe la fenêtre ?
R. Dans Claude Code, consultez la répartition avec /context. Cela diffère de la consommation cumulée ou des quotas du forfait dans /usage. Les définitions MCP sont chargées à la demande par défaut : le nombre de connexions ne suffit donc pas à évaluer l’occupation. Avec l’API, estimez la requête grâce à l’API de comptage de tokens du modèle cible.