Cap 18: Status Line y UX
Status Line
La status line es una barra de información personalizable que se muestra en la parte inferior del terminal durante la sesión de Claude Code.
Configurar status line
# Claude genera una configuración basada en tu shell
/statusline
Configuración manual
En settings.json:
{
"statusLine": {
"type": "command",
"command": "echo 'modelo: opus | contexto: 45%'"
}
}
Datos disponibles
La status line recibe datos del contexto actual:
| Campo | Descripción |
|---|---|
context_window.used_percentage | Porcentaje de contexto usado |
context_window.remaining_percentage | Porcentaje restante |
current_usage | Uso actual de tokens |
exceeds_200k_tokens | Si excede 200K tokens |
workspace.added_dirs | Directorios de trabajo |
Ejemplo avanzado
#!/bin/bash
# .claude/scripts/statusline.sh
CONTEXT=$(echo "$1" | jq -r '.context_window.used_percentage')
MODEL=$(echo "$1" | jq -r '.model // "default"')
echo "[$MODEL] ctx: ${CONTEXT}%"
{
"statusLine": {
"type": "command",
"command": ".claude/scripts/statusline.sh"
}
}
Output Styles
Controla cómo Claude presenta sus respuestas:
| Estilo | Descripción | Mejor para |
|---|---|---|
Explanatory | Explica cada paso y decisión | Codebase nuevo, onboarding |
Learning | Coaching — enseña mientras trabaja | Aprendizaje, mentoring |
| Custom | Instrucción personalizada | Tu preferencia |
Configurar
{
"outputStyle": "Explanatory"
}
O con una instrucción custom:
{
"outputStyle": "Responde siempre en español. Sé conciso. No expliques lo obvio."
}
Themes
Personalizar el tema visual:
/theme
Permite elegir entre los temas disponibles para la interfaz del terminal.
Spinner
spinnerVerbs
Personaliza los verbos que aparecen mientras Claude trabaja:
{
"spinnerVerbs": [
"Pensando",
"Analizando",
"Investigando",
"Programando",
"Refactorizando"
]
}
spinnerTips
Tips que aparecen junto al spinner:
{
"spinnerTipsEnabled": true,
"spinnerTipsOverride": [
"Tip: usa /compact al 50% del contexto",
"Tip: /rewind para retroceder cambios",
"Tip: Esc Esc para undo rápido"
]
}
Keybindings
Personalizar atajos de teclado:
/keybindings
Los keybindings se guardan en ~/.claude/keybindings.json:
{
"submit": "Enter",
"newline": "Shift+Enter",
"abort": "Escape",
"rewind": "Escape Escape"
}
Configuración del terminal
# Configurar Shift+Enter para nueva línea
/terminal-setup
Fast Mode
El fast mode usa el mismo modelo (Opus 4.6) pero con output más rápido:
# Alternar fast mode
/fast
# O al iniciar
claude --fast
No cambia de modelo — optimiza la velocidad de generación.
Effort Level
Controla cuánto esfuerzo pone el modelo en cada respuesta:
| Nivel | Descripción |
|---|---|
| High | Máximo esfuerzo (default) |
| Medium | Balance esfuerzo/velocidad |
| Low | Respuestas rápidas y directas |
# Cambiar esfuerzo
/model # Seleccionar nivel
O via env var:
CLAUDE_CODE_EFFORT_LEVEL=medium claude
Vim Mode
Para usuarios de Vim:
/vim
Habilita keybindings estilo Vim para edición de prompts.
Barra de progreso
Habilitar/deshabilitar la barra de progreso del terminal:
{
"terminalProgressBarEnabled": true
}
Resumen de personalización
| Aspecto | Comando/Setting |
|---|---|
| Status line | /statusline o statusLine en settings |
| Tema visual | /theme |
| Output style | outputStyle en settings |
| Spinner | spinnerVerbs, spinnerTipsOverride |
| Keybindings | /keybindings |
| Fast mode | /fast |
| Vim mode | /vim |
| Terminal | /terminal-setup |
Siguiente: Voice Mode y Remote