Configuration de la ligne d'état
Créez une ligne d’état personnalisée pour Claude Code afin d’afficher des informations contextuelles
Personnalisez Claude Code avec une ligne d’état personnalisée qui s’affiche en bas de l’interface Claude Code, similaire au fonctionnement des invites de terminal (PS1) dans les shells comme Oh-my-zsh.
Créer une ligne d’état personnalisée
Vous pouvez soit :
-
Exécuter
/statusline
pour 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 sur le comportement que vous souhaitez à Claude Code, comme/statusline afficher le nom du modèle en 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 300ms
- 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.) sous forme de 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 :
Exemples de scripts
Ligne d’état simple
Ligne d’état consciente de Git
Exemple Python
Exemple Node.js
Approche par fonctions d’aide
Pour des scripts bash plus complexes, vous pouvez créer des fonctions d’aide :
Conseils
- Gardez votre ligne d’état concise - elle devrait tenir sur une ligne
- Utilisez des emojis (si votre terminal les prend en charge) et des couleurs pour rendre l’information lisible
- Utilisez
jq
pour 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
- Considérez la mise en cache des opérations coûteuses (comme git status) 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 sort vers stdout (pas stderr)