Configuración de línea de estado
Crea una línea de estado personalizada para Claude Code para mostrar información contextual
Haz que Claude Code sea tuyo con una línea de estado personalizada que se muestra en la parte inferior de la interfaz de Claude Code, similar a como funcionan los prompts de terminal (PS1) en shells como Oh-my-zsh.
Crear una línea de estado personalizada
Puedes:
-
Ejecutar
/statusline
para pedirle a Claude Code que te ayude a configurar una línea de estado personalizada. Por defecto, intentará reproducir el prompt de tu terminal, pero puedes proporcionar instrucciones adicionales sobre el comportamiento que quieres a Claude Code, como/statusline mostrar el nombre del modelo en naranja
-
Agregar directamente un comando
statusLine
a tu.claude/settings.json
:
Cómo funciona
- La línea de estado se actualiza cuando se actualizan los mensajes de la conversación
- Las actualizaciones se ejecutan como máximo cada 300ms
- La primera línea de stdout de tu comando se convierte en el texto de la línea de estado
- Los códigos de color ANSI son compatibles para dar estilo a tu línea de estado
- Claude Code pasa información contextual sobre la sesión actual (modelo, directorios, etc.) como JSON a tu script a través de stdin
Estructura de entrada JSON
Tu comando de línea de estado recibe datos estructurados a través de stdin en formato JSON:
Scripts de ejemplo
Línea de estado simple
Línea de estado consciente de Git
Ejemplo de Python
Ejemplo de Node.js
Enfoque de función auxiliar
Para scripts bash más complejos, puedes crear funciones auxiliares:
Consejos
- Mantén tu línea de estado concisa - debería caber en una línea
- Usa emojis (si tu terminal los soporta) y colores para hacer la información escaneable
- Usa
jq
para el análisis JSON en Bash (ver ejemplos arriba) - Prueba tu script ejecutándolo manualmente con entrada JSON simulada:
echo '{"model":{"display_name":"Test"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh
- Considera almacenar en caché operaciones costosas (como el estado de git) si es necesario
Solución de problemas
- Si tu línea de estado no aparece, verifica que tu script sea ejecutable (
chmod +x
) - Asegúrate de que tu script genere salida a stdout (no stderr)