Il est 10 h 15. Tu lances ta première vraie tâche de la journée dans Claude Code et la barre d'usage affiche déjà un pourcentage qui te surprend. Tu n'as pourtant écrit que trois messages depuis ce matin. Ce que tu as oublié : dans le train, à 7 h 40, tu as demandé à claude.ai de reformuler un mail, puis tu as laissé une longue conversation ouverte sur ton téléphone. Pour le compteur, il n'y a qu'un seul utilisateur : toi.
Sur un abonnement, tu ne consommes pas des « messages », tu consommes une enveloppe de capacité commune à tous les outils Claude, découpée en deux horloges qui ne tournent pas de la même façon : une fenêtre de 5 heures et un plafond hebdomadaire. Anthropic ne publie aucun nombre de messages ou de tokens par fenêtre : tout chiffre absolu croisé sur un forum est une estimation. Cet article pose donc le modèle mental et les instruments de mesure. C'est le premier d'une série de cinq sur l'optimisation des sessions Claude Code.
Comment fonctionne la limite de 5 heures de Claude Code ?
La fenêtre de session de Claude Code démarre au premier message envoyé et se réinitialise entièrement 5 heures après ce début. Ouvrir le terminal ne démarre rien : c'est ton premier message qui arme le compteur. Le temps restant est visible sur claude.ai, dans Settings > Usage, rubrique « Current session ».
Conséquence directe : la fenêtre se pilote. Un premier message « pour voir » à 8 h 05 fixe le reset à 13 h 05, que tu travailles intensément entre-temps ou non. On en tirera toutes les conséquences pratiques dans l'article sur l'organisation de ta journée autour de la fenêtre de 5 h.
Quand la limite tombe en pleine réponse, Claude Code peut afficher Usage limit reached · wrapping up : il termine l'étape en cours grâce à une petite marge (la wrap-up allowance). Elle est plafonnée, décomptée de l'hebdomadaire et ne couvre pas un nouveau message. Sur Pro, elle joue au plus une fois par période hebdomadaire ; sur Max, à chaque limite de 5 h, dans la limite hebdomadaire. Anthropic la déploie progressivement : ne bâtis pas ton organisation dessus.
Quel est le plafond hebdomadaire et quand se réinitialise-t-il ?
Le plafond hebdomadaire se réinitialise à une heure fixe chaque semaine, assignée à ton compte. Il ne dépend ni du moment où tu commences à travailler ni de ta date d'abonnement, et il s'applique à tous les modèles. Sur Max et Ultra, un plafond hebdomadaire séparé existe en plus pour Fable.
La différence avec la fenêtre de 5 h est fondamentale : la fenêtre se pilote, le plafond hebdomadaire se subit. Tu peux décaler la première en choisissant l'heure de ton premier message, pas le second. La seule stratégie possible sur l'hebdomadaire est la répartition de l'effort sur la semaine, d'où l'intérêt de le voir en permanence (on y vient plus bas).
Pourquoi les limites sont-elles partagées avec claude.ai et l'IDE ?
Parce qu'il s'agit d'une seule enveloppe par compte. La documentation d'Anthropic est explicite : les limites sont partagées entre Claude (web, desktop, mobile) et Claude Code, et l'usage depuis un IDE (VS Code, Cursor, JetBrains) compte aussi. Une longue session de recherche avec fichiers joints sur claude.ai à 14 h réduit ce qu'il te reste pour Claude Code à 15 h, dans la même fenêtre.
Le piège corollaire concerne la mesure : les chiffres affichés par /usage dans le terminal sont calculés localement, à partir de l'historique de la machine. Ils n'incluent ni claude.ai ni tes autres postes. Pour la vue complète, c'est Settings > Usage sur claude.ai qui fait foi.
Pro, Max, Ultra, Team : qu'est-ce qui change vraiment ?
La structure diffère plus que ne le laisse penser la grille tarifaire (prix lus sur claude.com/pricing au 2 novembre 2026) :
- Pro (20 $/mois, 17 $ en annuel) : fenêtre de 5 h et plafond hebdomadaire.
- Max (100 $/mois) : les mêmes deux limites, à 5× l'usage Pro par fenêtre et par semaine, plus un plafond hebdomadaire Fable séparé.
- Ultra (200 $/mois) : plafond hebdomadaire seul, à 10× Pro. Les comptes Ultra vérifiés n'ont pas de limite de 5 h, mais ils ont bien une limite.
- Team : siège Standard (25 $/mois, 20 $ en annuel) ou Premium (125 $/mois, 100 $ en annuel, 5× le Standard). L'allowance est par siège, sur une fenêtre de 5 h et une fenêtre hebdomadaire, partagée avec Claude chat et Cowork. L'administration se fait dans claude.ai, pas dans la Console API.
Deux précisions évitent des erreurs d'achat. Le « 5× » ou le « 10× » est un rapport entre plans, pas un volume : il ne te dit pas combien de travail tient dans une fenêtre. Et les crédits API mensuels inclus avec Max et Ultra ne sont pas utilisables dans Claude Code. La comparaison complète des modes de facturation fait l'objet du troisième article de la série.
Qu'est-ce qui consomme le plus de quota ?
La documentation officielle consacre une section entière à la question « pourquoi l'usage grimpe dans une longue session ». Voici les mécanismes, classés par poids réel en pratique :
- Le contexte est renvoyé à chaque requête. Tout l'historique repart à chaque appel, lu au tarif du cache. Et chaque appel d'outil est une requête de plus : un tour qui enchaîne dix lectures de fichiers, ce sont dix requêtes qui portent tout le contexte. Une question d'une ligne dans une session ouverte depuis le matin coûte donc toute la conversation.
- Les outils et connecteurs, qu'Anthropic décrit comme gourmands en tokens. Les définitions MCP sont différées par défaut, mais leurs résultats entrent dans le contexte.
- Le modèle et l'effort. L'extended thinking est facturé comme de la sortie et n'est pas désactivable sur Opus, Sonnet et Haiku 5.5 : le levier est
/effort. Un passage à Opus s'applique aussi aux sous-agents qui héritent du modèle de la session. - Le cache froid après une pause. Sur abonnement, la conversation principale profite d'un cache de 1 h. Le premier message après une pause plus longue retraite tout le contexte. Changer de modèle, compacter ou mettre à jour Claude Code invalide aussi le cache.
- Les tâches de fond : un
/loopqui tourne pendant que tu es en réunion, les check-ins de/goal, l'idle compaction, le résumé de session. Chacune renvoie le contexte complet. - La compaction :
/compactlit toute la conversation pour la résumer, c'est une grosse requête./clear, lui, ne coûte rien.
Les leviers pour réduire chacun de ces postes sont détaillés dans les leviers natifs pour économiser des tokens, et la gestion fine du contexte dans l'article sur le context rot, /clear et /rewind. Le coût spécifique des sous-agents et des agent teams sera traité dans le quatrième article de la série.
Votre équipe utilise Claude Code ?
Formation intra sur vos projets réels : de la demi-journée à 2 jours, 6 devs max.
Comment lire /usage ?
/usage est l'instrument central. Sur un plan Pro, Max, Ultra, Team ou Enterprise, il affiche :
- Les barres de limites du plan (session et semaine), avec l'heure de reset.
- L'attribution : la part de l'usage récent prise par les skills, les sous-agents, les plugins et chaque serveur MCP. C'est là que tu découvres qu'un serveur MCP bavard pèse une part démesurée de ta consommation.
- Les recommandations : une ligne par comportement qui pèse au moins 10 % de l'usage récent, par exemple
25% Trim ~/code/api/CLAUDE.md · 49k tokens per request. Un CLAUDE.md surdimensionné se paie à chaque requête. - Les lignes Loops : tes
/looples plus lourds, avec leur fréquence et leurs tokens par exécution. - La ligne Prompt cache (main) : part de l'input servie du cache, nombre de misses, cause probable et état chaud ou froid.
Les touches d et w basculent entre les dernières 24 heures et les 7 derniers jours ; f applique les recommandations que Claude Code sait appliquer (version 2.1.305 et suivantes). Le bloc « Session » affiche un coût en dollars calculé au tarif API : sur abonnement, ce n'est pas une dépense, seulement un équivalent.
Dernier piège de lecture : le compteur à côté du spinner, du type (10m 27s · ↓ 5.5k tokens), ne mesure que la sortie du tour en cours. Ce n'est pas lui qui vide ta barre : l'historique renvoyé à chaque requête pèse bien davantage.
Comment afficher ses limites en permanence dans la statusline ?
Plutôt que d'ouvrir /usage par réflexe, affiche tes limites dans la statusline. Le JSON qu'elle reçoit expose rate_limits.five_hour.used_percentage et rate_limits.seven_day.used_percentage (de 0 à 100), ainsi que resets_at pour chaque fenêtre. Ces champs n'existent que pour les abonnés Pro, Max et Ultra, et seulement après la première réponse de la session : d'où le // empty du script, qui évite d'afficher « null ». Voici le script de la documentation officielle, à enregistrer dans ~/.claude/statusline.sh puis à rendre exécutable avec chmod +x :
#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
# Champs absents hors abonnement ou avant la première réponse : "// empty"
FIVE_H=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
LIMITS=""
[ -n "$FIVE_H" ] && LIMITS="5h: $(printf '%.0f' "$FIVE_H")%"
[ -n "$WEEK" ] && LIMITS="${LIMITS:+$LIMITS }7d: $(printf '%.0f' "$WEEK")%"
[ -n "$LIMITS" ] && echo "[$MODEL] | $LIMITS" || echo "[$MODEL]"Déclare-le ensuite dans ~/.claude/settings.json :
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"padding": 2
}
}Tu obtiens en permanence une ligne du type [Sonnet 5.5] | 5h: 38% 7d: 12%. Le deuxième article de la série enrichit ce script avec l'heure exacte de chaque reset.
Pourquoi vérifier la variable ANTHROPIC_API_KEY ?
Parce que si la variable d'environnement ANTHROPIC_API_KEY est définie, Claude Code facture l'API au lieu de ton abonnement. C'est le piège classique : une clé exportée un jour pour un script ou un SDK, oubliée dans ton .zshrc ou dans un .env chargé par direnv, et tes sessions sont facturées au token, au tarif API standard. Symptôme : plus aucune barre de limite de plan, et une facture qui monte côté Console.
# La clé API est-elle définie dans ce shell ?
test -n "$ANTHROPIC_API_KEY" && echo "clé API présente : facturation API" || echo "absente : abonnement"Même logique si Claude Code te propose de basculer vers un compte Console avec crédits API : refuse l'option, ou fais claude logout puis claude login avec ton compte abonnement.
Ce qu'il faut retenir
- Deux horloges : 5 heures à partir du premier message, et un plafond hebdomadaire à heure fixe propre à ton compte. Ultra vérifié n'a que l'hebdomadaire.
- Une seule enveloppe pour claude.ai, Desktop, mobile, IDE et Claude Code ;
/usagene voit que ta machine. - Aucun quota chiffré n'est publié : mesure, ne devine pas.
- Les premiers suspects sont le contexte renvoyé, le cache froid, le modèle et l'effort, et les tâches de fond, pas « le nombre de questions ».
- Installe la statusline
rate_limitset vérifieANTHROPIC_API_KEYdès aujourd'hui.
Ouvre /usage ce soir, regarde l'attribution sur 7 jours et note ton heure de reset hebdomadaire. Reste à en tirer parti au quotidien : l'article suivant montre comment organiser concrètement une journée de travail autour de la fenêtre de 5 h. Les deux derniers volets traiteront du coût des sous-agents en quota et de la reprise d'une tâche quand la limite tombe.
Savoir lire sa fenêtre et son plafond change déjà beaucoup de choses, mais ces réflexes restent individuels tant qu'ils ne sont pas partagés. Si ton équipe découvre ces limites une par une, au pire moment, un état des lieux commun des usages règle souvent la question plus vite que dix explications séparées.

Écrit par
Flavien Métivier
Expert PHP/Symfony indépendant depuis 2014, ancien CTO de Kartable et d'Extrabat. Plus de 80 projets menés, de l'audit à la migration.
Mon parcours