Créer une ligne d’état personnalisée
Vous pouvez soit :-
Exécuter
/statuslinepour demander à Claude Code de vous aider à configurer une ligne d’état personnalisée. Par défaut, il essaiera de reproduire l’invite de votre terminal, mais vous pouvez fournir des instructions supplémentaires à Claude Code sur le comportement souhaité, comme/statusline show the model name in orange -
Ajouter directement une commande
statusLineà votre.claude/settings.json:
Comment ça fonctionne
- La ligne d’état est mise à jour lorsque les messages de conversation sont mis à jour
- Les mises à jour s’exécutent au maximum toutes les 300 ms
- La première ligne de stdout de votre commande devient le texte de la ligne d’état
- Les codes de couleur ANSI sont pris en charge pour styliser votre ligne d’état
- Claude Code transmet des informations contextuelles sur la session actuelle (modèle, répertoires, etc.) en JSON à votre script via stdin
Structure d’entrée JSON
Votre commande de ligne d’état reçoit des données structurées via stdin au format JSON :Scripts d’exemple
Ligne d’état simple
Ligne d’état consciente de Git
Exemple Python
Exemple Node.js
Approche avec fonction d’aide
Pour les scripts bash plus complexes, vous pouvez créer des fonctions d’aide :Conseils
- Gardez votre ligne d’état concise - elle doit tenir sur une seule ligne
- Utilisez des emojis (si votre terminal les supporte) et des couleurs pour rendre les informations faciles à scanner
- Utilisez
jqpour l’analyse JSON en Bash (voir les exemples ci-dessus) - Testez votre script en l’exécutant manuellement avec une entrée JSON fictive :
echo '{"model":{"display_name":"Test"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh - Envisagez de mettre en cache les opérations coûteuses (comme le statut git) si nécessaire
Dépannage
- Si votre ligne d’état n’apparaît pas, vérifiez que votre script est exécutable (
chmod +x) - Assurez-vous que votre script affiche sur stdout (pas stderr)