Saltar al contenido principal

Claude Code — configurar la status line

Claude Code es la herramienta de Claude que funciona en la terminal (la ventana de comandos) para programar con asistencia de IA. Esta nota cubre específicamente la configuración de la status line; otras prácticas recomendadas de Claude Code se documentan en notas aparte a medida que se definan.

Status line — ver de un vistazo carpeta, modelo y contexto restante

La status line es una barra que Claude Code muestra abajo con información de la sesión. Se recomienda activarla para tener siempre a la vista tres cosas:

  • Carpeta en la que estás trabajando (evita editar el proyecto equivocado).
  • Modelo de Claude en uso (cambia capacidades y costo).
  • Contexto restante — cuánta "memoria" de la conversación queda antes de llenarse.

Jerga: el contexto (o context window) es la cantidad de texto que Claude puede tener "en mente" a la vez. Cuando se llena, hay que compactar (/compact) o empezar una sesión nueva. Verlo evita quedarse sin contexto a mitad de una tarea.

Cómo activarla

Dos formas:

  • Interactiva (la más fácil): dentro de Claude Code, ejecutar el comando /statusline y describir en lenguaje natural qué quieres ver — p. ej. "muestra la carpeta, el modelo y el porcentaje de contexto". Claude genera la configuración por ti.
  • Manual: editar el archivo settings.json (~/.claude/settings.json para todo el sistema, o .claude/settings.json dentro del proyecto).

Configuración (settings.json)

{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"padding": 2,
"refreshInterval": 5
}
}

Script (~/.claude/statusline.sh)

#!/bin/bash
read -r input
FOLDER=$(echo "$input" | jq -r '.workspace.current_dir // "?"')
MODEL=$(echo "$input" | jq -r '.model.display_name // "?"')
BRANCH=$(echo "$input" | jq -r '.git.branch // ""')
USED=$(echo "$input" | jq -r '.context_window.used_percentage // 0')
REST=$(( 100 - ${USED%.*} )) # contexto libre = 100 − usado
B=""; [ -n "$BRANCH" ] && [ "$BRANCH" != "null" ] && B=" [$BRANCH]"
echo "$(basename "$FOLDER")$B | $MODEL | ${REST}% contexto libre"

Requiere jq (ya está en el entorno Wiedii). Ejemplo de salida: ci-quality-hub-lambdas [main] | Claude Sonnet 4.x | 58% contexto libre.

Campos disponibles (JSON que llega por stdin)

  • workspace.current_dir — carpeta actual
  • model.display_name — modelo
  • git.branch — rama git
  • context_window.used_percentage — % de contexto usado (solo tokens de entrada) → restante = 100 − ese valor
  • current_usage.{input_tokens, cache_creation_input_tokens, cache_read_input_tokens, total_input_tokens, total_output_tokens} — conteos de tokens

Salvedades

  • No hay un campo "contexto restante" directo: se calcula como 100 − used_percentage.
  • used_percentage cuenta solo tokens de entrada (no la salida).
  • current_usage es null antes de la primera llamada a la API en la sesión y justo después de /compact, hasta la siguiente llamada.
  • No hay campo de costo en la status line; para el uso acumulado de la sesión, usar /usage.
  • El comando de la status line solo se ejecuta tras aceptar el diálogo de confianza del workspace (igual que los hooks).

Referencias

  • Docs oficiales: code.claude.com/docs/en/statusline · /context-window · /settings.
  • Relacionado: conducta-ia (uso de IA en Wiedii).