Claude Code Usage Status Line (Mise à jour)

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.

claude-code : status line (mode Claude)
Brol | Fable 5 (xhigh) | ⌛ 5% ↻ 4h10 | 📅 15% ↻ 141h | F 3% ↻ 142h | 🧠 20%
claude-code : status line (mode z.ai / GLM)
Brol | GLM-5.1 | 💰 9.88€ | 💸 0.42€ | 🧠 20%
claude-code : status line (mode DeepSeek)
Brol | DeepSeek-Flash | 💰 $110.00 | 💸 $0.42 | 🧠 20%

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

Ligne de statut affichee en bas de la fenetre 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.

Free
⌛ 5 heures + 📅 7 jours
Pro
⌛ + 📅 + 💰 crédits
Max
⌛ + 📅 + F + 💰 crédits
z.ai / GLM
💰 solde du compte
DeepSeek
💰 solde du compte

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.

Pourquoi une étape manuelle ? L'endpoint de facturation de z.ai n'accepte pas la clé API publique (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
  1. Ouvrir z.ai/manage-apikey/billing dans votre navigateur habituel
  2. Se connecter (et résoudre le captcha si demandé)
  3. Ouvrir les DevTools avec F12, aller dans l'onglet Network
  4. Rafraîchir la page avec F5
  5. Cliquer sur la requête nommée accountBalance
  6. Dans Headers, copier la valeur de Authorizationsans le préfixe Bearer (le token commence par eyJhbGciOiJIUzUxMiJ9)
É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 missing et 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.

Download — Version 1.4.2

Version history
1.4.2 2026/9/10Current
- Une recharge du compte en cours de session ne fige plus la dépense de session à zéro : le nouveau solde devient le point de départ et la dépense repart de là - La dépense de session porte sur le compte, pas sur la fenêtre Claude Code : deux sessions ouvertes sur la même clé se comptent l'une l'autre, et une reprise par --resume repart du premier prompt d'origine (documenté dans le README et INSTALL) - DeepSeek : le cache est lié à l'empreinte de la clé API, changer de clé affiche tout de suite le solde du bon compte au lieu de l'ancien pendant une minute - DeepSeek : une clé refusée puis corrigée n'affiche plus « API key invalid » pendant cinq minutes, le blocage tombe au prompt suivant - L'ancienne clé de configuration Zai:EnvFilePath est de nouveau lue quand SecretEnv:EnvFilePath est absente : un appsettings.json édité à la main avant la 1.3.0 garde sa source de secrets - INSTALL décrit la substitution du nom de modèle par les variables ANTHROPIC_DEFAULT_*_MODEL - Correction : le nom d'un modèle DeepSeek ne porte plus le suffixe [1m] - Correction : le message « clé non définie » cite le nom de variable configuré dans appsettings.json, plus un nom figé - Correction : la détection du provider par l'adresse de l'API s'applique aussi quand Claude Code n'a rien transmis sur l'entrée standard
1.4.1 2026/9/10
- La dépense de session est désormais mesurée sur le solde réel du compte : sur un provider autre qu'Anthropic, l'ancien chiffre pouvait être faux d'un facteur 100 - Le modèle affiché est celui qui tourne réellement, et non plus celui déclaré au lancement - z.ai affiche lui aussi la dépense de la session, ce qu'il ne faisait pas - Nouveau provider : la statusline affiche le solde d'un compte DeepSeek, en plus de Claude et de z.ai - Le provider est détecté même quand Claude Code annonce un modèle Claude, ce qui supprime un faux message « credentials missing » - Correction : un fichier d'état verrouillé par Windows ne remet plus la dépense de session à zéro
1.2.3 2026/9/9
- statusline 现在跟随当前活跃的 Claude 账户:读取 CLAUDE_CONFIG_DIR,不再始终指向 ~/.claude - 每个账户分别缓存和退避:一个账户的数据不再显示在另一个账户下 - 无法证明归属账户的数据将完全不再显示,即使已标记为过期 - 无效令牌(401)会与网络故障区分开,并显示明确的提示信息 - 新增 Windows ARM64 和 Linux ARM64 版本:平台数量从四个增加到六个 - macOS 和 Linux:当 CLAUDE_CONFIG_DIR 指向其他目录时,不再读取系统钥匙串 - 修复:z.ai 的退避不再冻结 Anthropic API - 修复:切换账户期间凭据文件仍可读取
Join the conversation

You need an account to comment on this article. Creating one is free and takes under a minute.

  • The XMLTV file, free to download every day
  • Comment on articles and reply to other readers
  • Get an e-mail when an article you follow is updated

No comments yet.

Une erreur s'est produite. Cette application peut ne plus répondre jusqu'à ce qu'elle soit rechargée.Veuillez contacter l'auteur. Reload 🗙