Claude Code 2.1.243 à 2.1.245 : le cache d'une heure devient un réglage que tu contrôles
Après deux versions muettes, la 2.1.243 arrive avec une soixantaine d'entrées, dont le réglage qui manquait à tous ceux qui paient à la clé API : choisir soi-même la durée de vie du cache de prompt. Plus un correctif de démarrage sous Linux sorti le même jour.
Deux versions le 25 août : la 2.1.243, une soixantaine d'entrées, et la 2.1.245, une seule ligne. Ça tranche avec les deux sorties précédentes qui n'annonçaient rien du tout.
Le reprendre entrée par entrée serait illisible. Voici ce qui change vraiment quelque chose, et dans quel ordre t'en occuper.
Le TTL du cache de prompt devient un réglage
C'est la nouveauté qui a le plus d'effet sur ta facture, et c'est aussi celle dont le changelog dit le moins.
Rappel du mécanisme : le cache de prompt évite de reprocesser toute ta conversation à chaque tour. Il expire après une période d'inactivité, et la doc sur le prompt caching explique que l'API propose deux durées de vie, cinq minutes ou une heure. Jusqu'ici tu ne choisissais pas. Voilà ce que tu recevais par défaut :
| Type de requête | Abonnement Claude, dans le quota | Crédits d'usage, clé API, cloud |
|---|---|---|
| Conversation principale | Une heure | Cinq minutes |
| Tout le reste (sous-agents, workflows, compaction) | Cinq minutes | Cinq minutes |
Deux choses sautent aux yeux. Si tu passes par une clé API, Bedrock, Vertex ou Foundry, tu étais à cinq minutes partout : chaque pause café de plus de cinq minutes te faisait repayer le retraitement complet de la conversation. Et même sur abonnement, tes sous-agents ont toujours été à cinq minutes, ce que personne ne sait.
La 2.1.243 ajoute deux réglages qui prennent la main sur ces défauts, un par catégorie :
{
"promptCacheTtl": "1h",
"subagentPromptCacheTtl": "1h"
}
promptCacheTtl couvre la conversation principale, subagentPromptCacheTtl couvre tout le reste. Les équivalents en variables d'environnement sont CLAUDE_CODE_PROMPT_CACHE_TTL et CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL.
Trois limites que le changelog ne mentionne pas et que la doc, elle, précise :
- Les seules valeurs acceptées sont
5met1h. Toute autre valeur est ignorée en silence. Pas de30m. - L'heure de cache n'est pas gratuite. Les écritures en cache sont facturées à un tarif plus élevé. La doc est explicite : ça coûte plus cher sur des rafales de travail courtes qui n'atteignent jamais cinq minutes d'inactivité, puisque tu paies la surcharge d'écriture sans jamais profiter de la durée. Le bon usage, c'est la session que tu laisses dormir et sur laquelle tu reviens.
- Ça ne marche pas partout. Le TTL d'une heure n'est pas disponible via le Claude apps gateway, et sur Amazon Bedrock la disponibilité varie selon le modèle.
Enfin, la précédence si plusieurs contrôles s'appliquent, dans l'ordre : FORCE_PROMPT_CACHING_5M=1 gagne sur tout, puis la variable d'environnement de la catégorie, puis le réglage, puis ENABLE_PROMPT_CACHING_1H=1, puis le défaut. Utile à connaître si ton organisation pousse une valeur en réglages managés et que tu veux la neutraliser le temps d'un débogage.
Détail à vérifier avant de te lancer : la doc donne 2.1.242 ou plus comme version minimale pour ces deux réglages, alors même que la page publique de changelog ne liste pas de 2.1.242. Fais un claude --version plutôt que de supposer.
Le sandbox arrête de supposer que c'est bloqué
Changement de comportement discret mais que tu vas sentir. Le prompt de l'outil Bash sandboxé ne liste plus les hôtes réseau autorisés. Conséquence : Claude tente la requête au lieu de partir du principe qu'un hôte absent de la liste est bloqué, et tu peux approuver un nouvel hôte au moment où ça arrive.
Ça va avec un correctif de la même version, plus grave qu'il n'en a l'air : les détails d'une violation réseau étaient perdus quand la commande bloquée sortait quand même en code 0. Le cas typique, curl qui affiche sagement la page 403 du proxy et se termine sans erreur. Claude voyait une commande réussie contenant du HTML incompréhensible, sans jamais savoir que le sandbox avait coupé la connexion. Le mécanisme d'échappement documenté dans la doc du sandbox repose justement sur ces détails de violation ajoutés à la sortie de la commande : sans eux, pas de nouvelle tentative intelligente, juste une boucle d'incompréhension.
Si tu configures tes domaines autorisés dans sandbox.network.allowedDomains, ces deux changements rendent enfin lisible ce qui se passe quand un hôte manque.
Le silence de l'API a maintenant une durée maximale
Quand l'API n'entamait jamais de réponse, la session restait muette dix minutes ou plus. Désormais la requête expire au bout d'environ trois minutes, réessaie une fois, puis affiche API Error: No response from API.
Trois minutes d'attente restent longues, mais tu sais au moins que le problème n'est pas chez toi. Dans la même veine, les erreurs d'authentification et de disponibilité de modèle ne s'affichent plus comme si c'était le modèle qui parlait, mais bien comme des lignes d'erreur.
Sous Linux, va directement en 2.1.245
La 2.1.245 tient en une ligne : correction d'un plantage au démarrage sur les distributions livrant la glibc 2.44, nommément Arch Linux, CachyOS et Fedora Rawhide.
Le changelog n'attribue aucune cause, mais le calendrier est parlant : la 2.1.243 du même jour embarque une refonte du binaire natif, compression zstd et chargement du code à la demande. Si tu es sur une de ces distributions et que Claude Code refuse de démarrer, ne cherche pas plus loin, mets à jour.
Cette refonte a par ailleurs des chiffres agréables. Le téléchargement d'installation et de mise à jour automatique passe d'environ 340 Mo à 75 Mo sur Linux x64 (c'est bien la taille de téléchargement, pas celle du binaire installé), et le chargement du code à la demande économise 40 à 70 Mo de mémoire par session. Le démarrage est aussi plus rapide : la mise en route du sandbox et des serveurs MCP ne bloque plus le premier affichage.
Le reste, en vrac
/usagegagne une section Loops : nombre de lancements, tokens totaux, tokens par lancement et dernier passage pour chaque tâche planifiée. La doc sur les coûts précise que la ligne est indexée sur le prompt de la tâche, donc un/looparrêté puis recréé reste une seule ligne. Le moyen le plus direct de repérer une boucle devenue bavarde.modelPicker: tu composes la liste du sélecteur/model, dans ton ordre et avec tes libellés. Attention à la portée, la doc indique que la valeur est prise en entier depuis la source la plus haute parmi les réglages managés,--settingset les réglages utilisateur, et que la clé est ignorée dans les réglages projet et locaux.modelPricing, réglage managé : les tarifs négociés de ton organisation remplacent le tarif public dans/cost, la barre de statut et la télémétrie. Ça répond à une limite connue,/usagecalculait jusqu'ici au tarif catalogue et pouvait donc s'écarter de ta facture réelle.- Connexion sans clé API :
/loginpuis Anthropic Console propose maintenant de se connecter avec son compte Console, pour les organisations qui n'autorisent pas les clés API. - Sonnet 5 à 2 $ / 10 $ le Mtok est désormais présenté comme son tarif catalogue standard et non plus comme une promotion temporaire. Le prix ne change pas, c'est l'étiquette qui devient définitive.
- Correctif de hook à ne pas rater : une condition
ifdu typeBash(cat *)se déclenchait sur des commandes Bash sans rapport dès que la commande contenait une substitution$()ou des accents graves suivie d'autres arguments. Si tu as des hooks conditionnels, ils filtraient moins bien que tu ne le croyais. /resumene se limite plus aux 50 sessions les plus récentes, le sélecteur charge la suite au défilement./model,/fastet/efforts'exécutent immédiatement au lieu d'attendre la fin du tour sur Bedrock, Vertex et Foundry, ainsi que quand la télémétrie est désactivée.- La messagerie entre sessions refonctionne dans les espaces de noms utilisateur et les conteneurs rootless, cassée depuis le durcissement des sockets de la 2.1.232.
- Sur macOS, l'usage de l'ordinateur exige désormais une autorisation explicite pour le Finder avant de cliquer sur le bureau, le Dock ou une fenêtre du Finder.
- Les réveils consécutifs d'un
/loopsans rien à faire se replient en une seule ligne dans le terminal.
Ce qu'il faut en retenir
Un geste par profil. Sous Arch, CachyOS ou Fedora Rawhide : mets à jour en 2.1.245, c'est bloquant. Si tu paies à la clé API ou via un cloud : ouvre la question du promptCacheTtl, en gardant en tête que l'heure de cache ne se rentabilise que si tes sessions dorment vraiment entre deux salves. Si tu as des hooks avec des conditions if, relis-les.
Pour tous les autres, la 2.1.243 est surtout une version d'assainissement : un client plus léger, des erreurs qui se présentent enfin comme des erreurs, et un sandbox qui explique ce qu'il bloque au lieu de laisser Claude deviner.
Pierre Rondeau
Développeur et indie builder. Je construis des produits et automatisations avec l'IA. Créateur de Claude Hub.
LinkedIn