Personalizar la línea de estado de Claude Code
La línea de estado es una barra al pie de Claude Code que ejecuta un script de shell que tú eliges. Claude Code le manda al script unos datos en JSON sobre tu sesión, y lo que el script imprime es lo que ves. Sirve para tener a la vista el modelo, el uso del contexto o la rama de git mientras trabajas.
Según la documentación, se ejecuta en local y no gasta tokens de la API.
La forma fácil: pídela
Describe lo que quieres y Claude Code escribe el script y actualiza tus ajustes:
/statusline muestra el nombre del modelo y el porcentaje de contexto con una barra de progreso
Guarda un script en ~/.claude/ y puede pedirte que apruebes las ediciones de archivos. Para quitarla después, ejecuta /statusline y pídele que borre la línea de estado, o borra tú el campo statusLine de tus ajustes.
La forma manual
Añade una entrada statusLine a tus ajustes de usuario (~/.claude/settings.json) o a los de un proyecto. Pon type en "command" y apunta command a un script:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
Campos opcionales: padding añade espacio horizontal, refreshInterval vuelve a ejecutar el comando cada N segundos (el mínimo es 1; útil para un reloj) y hideVimModeIndicator oculta el texto integrado del modo vim si tu script ya imprime el modo. Para saber dónde vive este archivo y qué archivo de ajustes manda, mira la guía de ajustes.
Un script mínimo, que usa jq para leer el JSON (puede que tengas que instalarlo):
#!/bin/bash
input=$(cat)
model=$(echo "$input" | jq -r '.model.display_name')
pct=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)
echo "$model | ${pct}% context"
Guárdalo como ~/.claude/statusline.sh y ejecuta chmod +x ~/.claude/statusline.sh. Claude Code recarga los ajustes solo, así que la barra aparece en cuanto guardas.
Pruébalo antes de fiarte
Pásale al script datos falsos desde tu terminal:
echo '{"model":{"display_name":"Opus"},"context_window":{"used_percentage":25}}' | ~/.claude/statusline.sh
Si imprime una línea limpia, el script está bien.
Qué datos recibe
- El nombre del modelo y el directorio actual.
- El uso de la ventana de contexto en porcentaje. Se calcula solo con los tokens de entrada, de la última respuesta de la API.
/contextsuma una estimación de lo que vino después, así que puede marcar algo más. Mira la guía de la ventana de contexto. - El coste y la duración de la sesión, y las líneas añadidas y quitadas. El coste es una estimación calculada en tu máquina a precio de lista, y la documentación dice que puede diferir de tu factura real.
- El ID y el nombre de la sesión, y el nombre del worktree de git si estás en uno.
- Los límites de uso de la suscripción (las ventanas de 5 horas y de 7 días), solo para suscriptores Pro y Max de claude.ai (o detrás de una pasarela de la organización con límites de gasto), y solo después de la primera respuesta.
Algunos campos están vacíos antes de la primera respuesta de la API, así que dale a tu script un valor de reserva como // 0.
Cuándo se actualiza
El script se ejecuta al empezar o reanudar una sesión, cuando llega un mensaje nuevo del asistente, cuando termina /compact y cuando cambia el modo de permisos o el modo vim. Las actualizaciones se agrupan con 300 ms de retraso, y si una sigue en marcha cuando empieza otra, la anterior se cancela. Un script lento, por tanto, retrasa lo que ves, así que mantenlo rápido. Guarda en caché los comandos lentos como git status, y nombra el archivo de caché con el ID de sesión y no con un ID de proceso, que cambia en cada ejecución.
Colores, varias líneas y enlaces
Cada línea que imprimes es una fila. Los códigos de color ANSI funcionan si tu terminal los admite, y las secuencias OSC 8 crean enlaces pulsables en las terminales que lo permiten (la documentación nombra iTerm2, Kitty y WezTerm, y dice que Terminal.app no). Las secuencias de escape complejas pueden estropear a veces la pantalla; si ves texto corrupto, prueba con salida simple. Tu script no puede preguntarle a la terminal su ancho, pero Claude Code define las variables de entorno COLUMNS y LINES antes de ejecutarlo.
En Windows
Claude Code ejecuta el comando con Git Bash si está instalado, o con PowerShell si no. Git Bash se come las barras invertidas sin comillas, así que escribe las rutas con barras normales. Para usar un script de PowerShell:
{
"statusLine": {
"type": "command",
"command": "powershell -NoProfile -File C:/Users/usuario/.claude/statusline.ps1"
}
}
Si la barra sale en blanco
- La carpeta aún no es de confianza. La línea de estado sigue en blanco hasta que aceptas el diálogo de confianza del espacio de trabajo, porque ejecuta un comando de shell.
- El script termina con error o no imprime nada. La salida solo se muestra cuando el script termina con código 0.
- Imprime por stderr en vez de por stdout.
- El script no es ejecutable (
chmod +x). - Un ajuste gestionado por tu organización puede desactivar las líneas de estado propias. Pregunta a quien lo administre.
- Un ajuste
disableAllHookstambién desactiva las líneas de estado propias (mira la guía de hooks para los hooks en general). - Ejecuta
claude --debugpara ver los errores del script.
Bueno saber
- Con una línea de estado propia, Claude Code deja de mostrar la mayoría de las pistas de teclado del pie, como el recordatorio de interrumpir.
- La barra se oculta un momento en algunas pantallas, como el menú de ayuda y las peticiones de permiso.
- Si quieres controlar el uso y no solo mirarlo, la guía de cuota cuenta formas de gastar menos.
Pruébalo con algo inofensivo
- Ejecuta
/statusline muestra el nombre del modelo y el porcentaje de contexto. - Manda un mensaje y mira cómo cambia el número.
- Si no te gusta, ejecuta
/statusline delete.
Esta página sigue la documentación de la línea de estado de Anthropic tal como la leemos en octubre de 2026. No tenemos relación con Anthropic. La escribimos a partir de la documentación y no hemos probado todos los casos. Los campos y el comportamiento pueden cambiar entre versiones, y donde esta página y la documentación no coincidan, manda la documentación.
La skill gratis loop-stop da a las tareas largas un límite y una regla de parada. Si quieres una segunda mirada a tu CLAUDE.md y a tus ajustes, el Tune-Up Kit es una lista de comprobación para eso (la ficha está en inglés).