Claude Code Usage Status Line
Surveillez votre consommation Claude Code, z.ai GLM et DeepSeek en temps réel
directement dans votre terminal.
Gratuit, open source, zéro configuration.
100% Gratuitpour WindowsLinuxmacOS
Six archives : x64 et ARM64 pour chacun des trois systèmes.
Nouveau dans la 1.4.1
DeepSeek rejoint Claude et z.ai, et la dépense de session affiche enfin un chiffre qui veut dire quelque chose.
Une ligne par compte Claude
Je jongle entre deux comptes Claude Code avec la variable CLAUDE_CONFIG_DIR, et la statusline m'affichait imperturbablement les chiffres du premier, quel que soit le compte réellement actif. Elle lit désormais cette variable, et son cache comme son backoff sont séparés par compte.
Corollaire assumé : une donnée dont le compte n'est pas prouvé ne s'affiche plus du tout, même signalée comme périmée. Mieux vaut un segment qui disparaît qu'un pourcentage appartenant à quelqu'un d'autre.
Un token invalide le dit
Un 401 se noyait jusqu'ici dans les erreurs génériques : la ligne se taisait sans qu'on sache si l'API était en panne ou si le jeton avait expiré.
Il est maintenant traité à part : le cache du compte est invalidé et le message est explicite. Une simple rotation de jeton ne bloque plus rien, l'affichage repart au suivant.
Troisième provider : DeepSeek
Je route une partie de mon travail vers DeepSeek, et je voulais le même confort qu'avec les autres : le solde du compte sous les yeux. La ligne l'affiche maintenant, dans la devise renvoyée par l'API, sans conversion.
DeepSeek n'expose aucun historique de dépenses, seulement le solde. La ligne montre donc un solde, comme pour z.ai. Le détecter a demandé un peu plus de travail : mon lanceur annonce à Claude Code un modèle Claude pendant que le trafic part ailleurs, et la statusline cherchait des identifiants Anthropic pour se retrouver devant un credentials missing alors que la clé était valide. Elle regarde désormais aussi l'adresse de l'API, héritée du lanceur, pour savoir à qui elle parle vraiment.
La légende des pictos
- ⌛ la fenêtre glissante de 5 heures
- 📅 les 7 jours, tous modèles confondus
- F la jauge du modèle en cours, ici Fable
- 💰 le solde ou les crédits restants
- 💸 la dépense de la session (coût réel sur un compte facturé à l'API, différence de solde sur z.ai et DeepSeek)
- 🧠 la fenêtre de contexte
Les jauges par modèle gardent une initiale (F, s, o) et pas un picto : le libellé vient de l'API et change avec le modèle, une icône figée finirait par mentir. Sur une distribution Linux minimale, installez fonts-noto-color-emoji et tout s'affiche.
Jauge par modèle et crédits
Sur les comptes migrés, Anthropic ne renvoie plus deux jauges fixes Sonnet et Opus mais une fenêtre hebdomadaire attachée au modèle en cours. La lettre affichée suit donc le modèle, F pour Fable.
Quand la fenêtre sature et que les crédits prennent le relais, le segment 💰 passe en mode détaillé et montre le dépensé, le plafond et le reste : 💰 €12.56/€14 (left €1.44). Les comptes non migrés conservent l'ancien affichage, avec s et o.
La dépense de session, pour de vrai
Le coût de session que Claude Code calcule est estimé avec les tarifs du modèle déclaré. Chez moi, ça affichait 💸 $24.64 quand le compte entier pesait $8.13 et que la session avait coûté dans les $0.26. Un facteur 100, autant dire rien d'exploitable.
Elle est maintenant mesurée sur le solde réel du compte, relevé au premier prompt puis comparé à chaque rafraîchissement. Et z.ai en profite au passage : il n'affichait aucune dépense de session jusqu'ici.
Le modèle affiché est celui qui tourne
Même histoire côté nom : la ligne annonçait Opus 4.7 pendant que le backend servait DeepSeek. Le nom affiché suit désormais le provider réel.
Et si aucune correspondance n'est déclarée, rien ne casse : l'ancien nom reste affiché, plutôt qu'une case vide.
Ligne de status en bas de Claude Code
Tout ce qu'il vous faut, en un coup d'œil
Une ligne de statut. Toutes vos données d'utilisation Claude, z.ai et DeepSeek.
Projet auto-détecté
Affiche le nom du répertoire courant (feuille du chemin). Vous savez toujours sur quel projet vous travaillez, sans polluer la ligne avec le chemin complet.
Modèle actif
Voyez quel modèle est utilisé (Opus, Sonnet, Haiku, GLM ou DeepSeek) directement dans la barre de statut. Le provider est détecté automatiquement.
Pourcentages d'utilisation
Fenêtre de 5 heures, 7 jours et jauge du modèle en cours (Sonnet et Opus séparés sur les comptes non migrés), avec indicateurs colorés : vert, jaune, rouge.
Compte à rebours
Sachez exactement quand vos limites se réinitialisent. Le décompte ↻ s'affiche à côté de chaque métrique concernée.
Fenêtre de contexte
Surveillez l'utilisation de votre fenêtre de contexte pour éviter d'atteindre la limite en pleine conversation.
Support z.ai / GLM et DeepSeek
Affichage du solde de votre compte z.ai (💰 9.88$) avec conversion automatique vers la devise de votre choix (EUR, GBP, CAD…). Le solde DeepSeek s'affiche aussi, dans sa devise native et sans conversion.
Indicateur de données périmées
Un préfixe ~ devant une valeur signale que le cache a expiré mais que l'API est indisponible (backoff 429). Vous savez toujours ce que vous lisez.
Cache intelligent et backoff
Cache de 1 minute par provider pour ménager les API. En cas de 429, backoff automatique de 5 minutes pour éviter de faire exploser les rate limits.
Zéro configuration (Claude)
Lancez l'installateur et c'est tout. Lit vos identifiants Claude automatiquement depuis ~/.claude/.credentials.json (et le Keychain sur macOS).
Ce que le Status Line affiche selon votre abonnement
Le Status Line s'adapte automatiquement à votre plan et affiche les métriques pertinentes.
Configuration z.ai (modèles GLM)
Si vous utilisez Claude Code avec un modèle GLM (glm-5.1, etc.) via z.ai, une petite configuration supplémentaire est nécessaire pour afficher votre solde.
ZAI_API_KEY) : il exige un JWT de session web différent. Et l'endpoint de connexion est protégé par un captcha TianCaptcha (Aliyun) qui bloque toute automatisation (Selenium, Playwright, etc.). La seule méthode fiable est donc de copier le token depuis votre vrai navigateur.Étape 1 : récupérer le JWT
- Ouvrir z.ai/manage-apikey/billing dans votre navigateur habituel
- Se connecter (et résoudre le captcha si demandé)
- Ouvrir les DevTools avec F12, aller dans l'onglet Network
- Rafraîchir la page avec F5
- Cliquer sur la requête nommée
accountBalance - Dans Headers, copier la valeur de
Authorizationsans le préfixeBearer(le token commence pareyJhbGciOiJIUzUxMiJ9)
Étape 2 : sauvegarder le JWT
Un binaire compagnon ClaudeUsageStatusline.ZaiRefresh est fourni avec l'installation. Il valide le format du token et l'écrit dans ~/.claude/.zai-credentials.json.
Windows :
& "$env:LOCALAPPDATA\ClaudeUsageStatusLine\ClaudeUsageStatusline.ZaiRefresh.exe"Linux / macOS :
~/.local/bin/ClaudeUsageStatusline.ZaiRefreshÉtape 3 (optionnelle) : devise d'affichage
Le solde est retourné en USD par défaut. Pour l'afficher en EUR (ou toute autre devise), éditez appsettings.json à côté de l'exécutable :
{
"Zai": {
"NativeCurrency": "USD",
"DisplayCurrency": "EUR",
"ExchangeRateCacheHours": 24
}
}Les taux sont récupérés une fois par jour depuis une API gratuite et mis en cache localement.
Quand rafraîchir le JWT ?
Le JWT de session n'a pas de date d'expiration explicite : sa durée de vie est contrôlée par les serveurs de z.ai. Il sera éventuellement invalidé après une période d'inactivité ou une déconnexion explicite.
Signes qu'il faut le renouveler :
- Le statusline affiche
z.ai: token missinget vous invite à suivre les instructions de la nouvelle fenêtre - Le préfixe de donnée périmée (
~💰) persiste - Les logs contiennent
401 Unauthorized
Dans les deux cas, ZaiRefresh s'ouvre tout seul dans une fenêtre : il n'y a plus qu'à coller un JWT frais.
Configuration DeepSeek (clé API)
Plus simple que z.ai : une clé API suffit, et il n'y a aucun captcha dans l'histoire.
Créer la clé
Dans votre compte DeepSeek, section API keys, créez une clé. Elle commence par sk- et ne s'affiche qu'une seule fois : copiez-la tout de suite.
La donner à la statusline
Deux possibilités. La variable d'environnement DEEPSEEK_API_KEY, ou un petit fichier que la statusline lit toute seule :
{"apiKey": "sk-votre-cle"}À enregistrer dans ~/.claude/.deepseek-credentials.json. Rien à rafraîchir ensuite : une clé API ne périme pas toute seule.

Join the conversation
You need an account to comment on this article. Creating one is free and takes under a minute.
No comments yet.