🎯 OBJECTIF
Comprendre comment :
optimize), mesurer la rentabilité réelle (yield) et poser des garde-fous budgétaires (guard)🧠 MODÈLE MENTAL
Chaque session d'agent IA laisse déjà une trace complète sur ton disque : Claude Code écrit chaque tour de conversation dans des fichiers JSONL (un objet JSON par ligne) avec le modèle utilisé, les compteurs de tokens et les appels d'outils. Le problème n'est donc pas de collecter la donnée — elle existe — mais de la lire et l'interpréter. C'est exactement le pari de CodeBurn : plutôt que d'installer un proxy entre toi et l'API (fragile, intrusif, risqué pour la confidentialité), il se contente de parser ces fichiers locaux a posteriori et d'en tirer une comptabilité analytique complète : combien coûte chaque projet, chaque modèle, chaque type d'activité (debug, refactoring, exploration…), et surtout où partent les tokens gaspillés. C'est l'équivalent d'un APM (Application Performance Monitoring) pour ta consommation d'IA — sauf que tout tourne en local et que rien ne quitte ta machine.
CodeBurn est un outil gratuit, open source (MIT), 100% local qui répond à la question : « où part mon argent IA ? » Il agrège la consommation de 36 outils (Claude Code, Cursor, Codex, Gemini CLI, Copilot, Zed, Warp, OpenCode…) et la ventile par modèle, par projet et par tâche.

Lancement immédiat, sans installation :
npx codeburnbashCe qu'on obtient :

🔑 Conclusion clé
CodeBurn n'est ni un proxy, ni un wrapper : il n'intercepte rien, ne modifie rien, ne demande aucune API key. Il lit des fichiers que les outils écrivent déjà — ce qui le rend inoffensif à installer et impossible à « casser » par une mise à jour de Claude Code côté API.
Chaque outil IA stocke ses sessions dans un format et un emplacement qui lui sont propres. CodeBurn connaît ces emplacements et les parse directement :
| Outil | Source de données |
|---|---|
| Claude Code | ~/.claude/projects/<chemin-sanitisé>/<session-id>.jsonl |
| Codex | ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl |
| Cursor | base SQLite state.vscdb |
| Gemini CLI | ~/.gemini/tmp/<projet>/chats/session-*.json |
| OpenCode | ~/.local/share/opencode/ (requêtes SQLite) |
Les variables d'environnement CLAUDE_CONFIG_DIR, CODEX_HOME, OPENCODE_DATA_DIR permettent d'overrider les chemins par défaut.
flowchart LR
subgraph Sources["📁 Fichiers déjà sur disque"]
CC["Claude Code<br/>*.jsonl"]
CX["Codex<br/>rollout-*.jsonl"]
CU["Cursor<br/>state.vscdb"]
GM["Gemini CLI<br/>session-*.json"]
end
P["Parser<br/>+ dédup par API ID<br/>+ filtre par dates"]
K["Classification<br/>13 catégories d'activité<br/>(patterns d'outils + mots-clés)"]
PR["Pricing LiteLLM<br/>input · output · cache r/w<br/>· web search · fast mode"]
subgraph Surfaces["🖥️ 4 surfaces"]
TUI["TUI — npx codeburn"]
WEB["Web — localhost:4747"]
DESK["App desktop"]
BAR["Menubar macOS"]
end
CC --> P
CX --> P
CU --> P
GM --> P
P --> K --> PR
PR --> TUI
PR --> WEB
PR --> DESK
PR --> BARmermaidTrois étapes clés du pipeline :
~/.cache/codeburn/), avec un multiplicateur pour le fast mode de Claude.⚠️ Les montants sont des équivalents API, pas ta facture
Si tu es sur un abonnement (Pro/Max), tu paies un forfait — les dollars affichés par CodeBurn représentent ce que ta consommation aurait coûté en pay-as-you-go à l'API. C'est un excellent indicateur de volume et de rentabilité de l'abonnement, mais ce n'est PAS ce que ta carte bancaire débite.
Même moteur d'analyse, quatre façons de le consulter :
| Surface | Commande | Usage |
|---|---|---|
| TUI interactive | npx codeburn |
analyse ponctuelle dans le terminal |
| Dashboard web | codeburn web |
graphiques riches sur localhost:4747 |
| App desktop | macOS / Windows / Linux | suivi permanent hors terminal |
| Menubar macOS | codeburn menubar |
spend du jour/semaine/mois toujours visible |


Installation durable si le npx ponctuel ne suffit plus :
npm install -g codeburn # CLI globale (Node.js >= 22.13)
brew install codeburn # macOSbash# Dashboards & rapports
npx codeburn # dashboard interactif (7 derniers jours)
codeburn today # aujourd'hui
codeburn month # mois en cours
codeburn overview # résumé mensuel copy-pasteable
codeburn report --format json # sortie structurée pour scripts
# Filtres
codeburn report -p 30days # période : today|week|30days|month|all
codeburn report --provider claude-code # un seul outil
codeburn report --project shard # un seul projet
codeburn report --from 2026-07-01 --to 2026-07-31
# Breakdown par modèle
codeburn models --by-task # quel modèle pour quel type de tâche
codeburn export -f json # export CSV/JSON
# Diagnostic
codeburn doctor # vérifie la détection de chaque provider
codeburn audit # table des sources de tokens par provider
codeburn context <id> # explorateur de context window d'une sessionbashcodeburn optimize — détection de gaspillageScanne les 30 derniers jours à la recherche de patterns de waste, chacun avec une estimation d'économie en tokens et en dollars :
codeburn optimize # scan et rapport
codeburn optimize --apply # applique les fixes de façon interactive
codeburn act list|undo # historique des changements + rollbackbashcodeburn compare — quel modèle est vraiment rentable ?Comparaison côte à côte : one-shot rate, taux de retry, auto-correction, coût par appel, coût par édition, tokens de sortie par appel, cache hit rate. Un retry est détecté quand le même fichier est ré-édité après une commande shell intercalée — c'est-à-dire un cycle « édite → teste → échoue → ré-édite ». Un modèle moins cher au token mais qui retry deux fois plus peut coûter plus cher au résultat.
codeburn yield — le spend a-t-il produit quelque chose ?Corrèle les sessions avec les commits git par timestamp et classe chaque dollar dépensé en : Productive (le code a été commité), Reverted (commité puis annulé), Abandoned (jamais commité) ou Ambiguous. C'est la seule métrique qui répond à « est-ce que ces 40$ ont servi à quelque chose ? ».
🔑 Conclusion clé
La vraie valeur de CodeBurn n'est pas le compteur de coûts (ccusage le fait aussi) mais la boucle d'amélioration : optimize identifie le gaspillage → --apply corrige → compare valide le bon modèle par type de tâche → yield mesure si le spend produit du code réellement mergé.
codeburn guard install installe des hooks dans les settings de Claude Code qui surveillent le spend de la session en temps réel, avec trois seuils configurables : checkpoint (3$ par défaut), soft cap (5$) et hard cap (15$).
sequenceDiagram
participant Dev as Développeur
participant CC as Claude Code
participant G as Hook CodeBurn (guard)
Dev->>CC: prompt
CC->>G: hook déclenché
G->>G: calcule le spend de la session
alt spend < soft cap (5$)
G-->>CC: ✓ rien à signaler
else soft cap dépassé
G-->>CC: ⚠️ avertissement affiché au dev
else hard cap dépassé (15$)
G-->>CC: ⛔ la session est bloquée
end
CC-->>Dev: réponse (ou blocage)mermaidcodeburn guard install # installe les hooks
codeburn guard status # état des capsbash💡 Bonne pratique
Le hard cap transforme une mauvaise surprise de fin de mois en une décision consciente en cours de session : « ce refactoring vaut-il plus de 15$ ? ». C'est le même principe qu'un circuit breaker : on préfère échouer vite et explicitement que de laisser filer silencieusement.
CodeBurn expose ses données via un serveur MCP (Model Context Protocol — le protocole standard pour connecter des outils aux LLM) local :
claude mcp add codeburn -- npx -y codeburn mcpbashDeux outils sont exposés : get_usage et get_savings. On peut donc demander à Claude Code lui-même « combien ai-je dépensé cette semaine et sur quoi ? » — l'agent devient capable d'introspecter son propre coût.
| Critère | CodeBurn | ccusage | ccburn | Claude-Code-Usage-Monitor |
|---|---|---|---|---|
| Périmètre | 36 outils IA | Claude Code | Claude Code | Claude Code |
| Focus | comptabilité analytique + optimisation | rapports de coûts historiques | burn-up charts vs limites d'abonnement (5h/semaine) | monitoring temps réel + prédictions |
| Classification d'activité | ✅ 13 catégories | ❌ | ❌ | ❌ |
| Détection de gaspillage | ✅ optimize --apply |
❌ | ❌ | ❌ |
| Corrélation git (yield) | ✅ | ❌ | ❌ | ❌ |
| Garde-fous budgétaires | ✅ hooks soft/hard cap | ❌ | ❌ | ⚠️ alertes |
| Surfaces | TUI, web, desktop, menubar | CLI | TUI, status bar, JSON | TUI |
Quand choisir CodeBurn : dès qu'on utilise plusieurs outils IA, qu'on veut comprendre où partent les tokens (pas juste combien), ou qu'on veut une boucle d'optimisation actionnable. Quand préférer ccburn/Usage Monitor : si le besoin est uniquement de surveiller en temps réel la proximité des limites d'un abonnement Claude.
⚡ TL;DR — chaque concept en une ligne
CodeBurn
✓ Dashboard local et open source (npx codeburn) qui chiffre la consommation de tokens de 36 outils IA par modèle, projet et activité — sans proxy ni API key.
⚠ Les montants sont des équivalents pay-as-you-go API, pas la facture réelle d'un abonnement.
Pipeline de parsing ✓ Lit les transcripts JSONL/SQLite déjà écrits sur disque, déduplique par API ID et classifie chaque tour déterministiquement (sans appel LLM). ⚠ Ne voit que ce que les outils loggent : un outil qui ne persiste pas ses compteurs de tokens est invisible.
Classification d'activité (13 catégories) ✓ Révèle la répartition du spend entre coding, debug, exploration, conversation… via patterns d'outils et mots-clés. ⚠ C'est une heuristique : un tour ambigu peut être mal catégorisé — lire les tendances, pas les valeurs absolues.
optimize (waste detection)
✓ Identifie relectures de fichiers, MCP inutilisés, sorties bash non plafonnées, configs obèses — avec économies estimées et fix applicable (--apply, rollback via act undo).
⚠ --apply modifie ta config : vérifier les changements proposés avant d'accepter.
yield
✓ Classe chaque dollar en Productive / Reverted / Abandoned en corrélant sessions et commits git par timestamp.
⚠ Corrélation temporelle ≈ heuristique : du code commité en retard ou dans un autre repo sera compté Abandoned à tort.
Budget Guard ✓ Hooks dans Claude Code avec checkpoint (3$), soft cap (5$) et hard cap (15$) qui bloque la session. ⚠ Ne protège que Claude Code — les 35 autres outils n'ont pas de garde-fou.
Cache hit rate ✓ Le prompt caching divise par ~10 le coût des tokens relus — c'est le levier n°1 du coût réel d'une session agentique. ⚠ Tout ce qui invalide le préfixe du prompt (config qui change, contexte réorganisé) détruit le taux de cache et fait exploser le coût.
🎓 À retenir
~/.claude/projects/**/*.jsonl avec les compteurs exacts de tokens ; n'importe quel outil (ou script maison) peut l'exploiter sans proxy.optimize les repère, mais le réflexe à retenir est de déconnecter tout MCP non utilisé.compare montre qu'un modèle « cher » avec un meilleur one-shot rate peut être moins coûteux par édition réussie qu'un modèle « pas cher » qui retry.~/.cache/codeburn/ ; un nouveau modèle peut être mal valorisé le jour de sa sortie.