Deepseek ArtifactsDeepseek Artifacts
Personalización de terminal · /statusline a fondo

Personalizar la barra de estado de Claude Code: scripts e ideas

Vaya más allá de la configuración inicial: el JSON que recibe su script de statusline, los campos que merece la pena mostrar —modelo, tokens, coste, contexto, git—, ideas de color y distribución, y un script de la comunidad listo para robar.

En corto

  • /statusline le escribe el script. Indique su sistema operativo, pida alcance global y un archivo .sh/.ps1 aparte, y apruebe los dos archivos: una entrada statusLine en ~/.claude/settings.json más el script al que apunta.
  • El script lee un único objeto JSON por stdin —model.display_name, workspace.current_dir, context_window.used_percentage, cost.total_cost_usd, rate_limits— y muestra lo que usted decida.
  • Pida los campos como lista numerada, coloree la barra de contexto por umbrales (verde bajo el 50 %, rojo a partir del 75 %), redondee los tokens a unidades K y reparta en varias líneas cuando una fila se sature.
  • O instale un script de la comunidad: npx contextbricks le da modelo, rama y commit de git, un medidor de tokens estilo ladrillos y un aviso de límite semanal — así decide usted cuándo tocar /compact o /clear.

Claude Code's Hidden Status Line: Tokens, Model and Project, Your Way

Canal: 호두의 AI 분석실 (Waldo AI Lab)5:27

Abrir

ContextBricks: My Custom Claude Code Status Line

Script de la comunidad: Jeremy Dawes6:17

Abrir

Status line — official documentation

Docs: code.claude.com/docs

Abrir

Los datos de esta página están cotejados con la documentación oficial de la status line y las dos grabaciones de arriba; los nombres de campos JSON citados coinciden exactamente con la referencia oficial. Las capturas son fotogramas de esas grabaciones.

Las capturas son fotogramas de los tutoriales de 호두의 AI 분석실 y Jeremy Dawes (ContextBricks), usados con atribución y enlazados a su marca de tiempo original en cada paso.

Personalice la barra de estado, paso a paso

Escriba bien el prompt de /statusline una vez

  1. 1

    Un prompt de /statusline que diga su SO, el alcance y el archivo del script

    Ejecute /statusline y deje tres cosas claras de entrada: su sistema (Mac, Linux, Windows o WSL), que la línea debe configurarse de forma global y que quiere un archivo .sh aparte —.ps1 en Windows. Si no, el agente de configuración adivina su entorno y puede apuntar a la shell equivocada, y un script a nivel de proyecto solo aparece en un repositorio. El prompt cabe en cuatro líneas; guárdelo en una nota para reutilizarlo.

    Word document with the exact Claude Code /statusline prompt asking to set up the status line globally with a separate ps1 or sh script file beside the VS Code editor
    El prompt de /statusline preparado: SO, alcance global, archivo aparte — listo para pegar.Ver en 1:15
  2. 2

    Apruebe los dos archivos que crea el agente

    Conceda los permisos de lectura y escritura y el agente informa exactamente de lo que tocó: ~/.claude/settings.json contiene ahora la configuración statusLine, y un script como ~/.claude/statusline-command.sh genera el contenido de la línea. Al vivir la lógica en un archivo aparte, Claude edita después el script — no sus ajustes. Reinicie Claude Code para que aparezca la línea.

    Claude Code statusline-setup summary listing files created, a settings.json holding the statusLine configuration and statusline-command.sh that generates the status line content
    Archivos creados/actualizados: settings.json guarda la entrada statusLine; el script construye el contenido.Ver en 3:20
  3. 3

    Lea la especificación de la línea por defecto antes de ampliarla

    De fábrica, la línea generada muestra el directorio actual, el nombre del modelo como [Claude Opus 4.5], el output style si no es el predeterminado, el modo vim, la rama git cuando está en un repositorio y el porcentaje de ventana de contexto usado — por ejemplo Claude-project [Claude Opus 4.5] (git:main) 12 %. Como la configuración es global, se aplica a todas las sesiones de Claude Code de la máquina.

    Claude Code panel listing the default status line fields, current directory, model name, output style, vim mode, git branch and context window percentage, with the ordered add request below
    La lista de visualización por defecto y un ejemplo renderizado de la línea generada.Ver en 2:45

Decida qué muestra la línea

  1. 4

    Pida los campos que quiere, numerados

    Solicite las incorporaciones como lista ordenada y el agente responde con un orden de visualización numerado. Esta ejecución produjo: nombre del modelo, una barra de progreso de 20 caracteres, un porcentaje tipo 20 %, tokens como 40000/200000, git:main y, al final, el directorio del proyecto — renderizado como Claude 3.5 Sonnet [==== ] 20% 40000/200000 git:main Claude-project. Los cambios aterrizan en el script; reinicie Claude Code para verlos.

    Claude Code statusline-setup reply listing the display order from model name to project name with an example line reading Claude 3.5 Sonnet, progress bar, 20 percent, 40000/200000, git:main
    Orden de visualización 1-6 con una línea de ejemplo, escrita en el script.Ver en 3:45
  2. 5

    Dé a cada elemento un color con significado

    Pida un color por elemento y el script recibe códigos ANSI con umbrales. La tabla acordada en esta ejecución: modelo en cian; barra de progreso verde por debajo del 50 %, amarilla del 50 al 75 %, roja por encima del 75 %; el porcentaje imita a la barra; tokens en magenta; rama en verde; proyecto en azul; separadores en gris. Reserve el rojo para la barra de contexto: el color de alarma solo para la presión real.

    Element and color table for a Claude Code status line, model name cyan, progress bar green under 50 percent, yellow from 50 to 75, red above 75, tokens magenta, git branch green
    Tabla de colores elemento a elemento, con umbrales para la barra de progreso.Ver en 4:15
  3. 6

    Redondee los tokens a unidades K y contrá telos con /context

    Cifras crudas como 21373/200000 cuesta escanearlas. Pida unidades K y la línea lee 21k/200k — el agente avisa de que el valor va redondeado. Luego verifique: ejecute /context en la misma sesión y compare; los totales coinciden. Una rareza de la demo: tras redondear, una sesión de 22k y otra de 23K pueden verse igual — suficiente para una línea que se lee de un vistazo.

    Claude Code statusline-setup formatting tokens in k units, changing 21373 of 200000 tokens to 21k/200k, beside the status line color table and a rendered example
    21373/200000 pasa a 21k/200k; /context confirma los mismos totales.Ver en 4:30
  4. 7

    Abra dos sesiones y compruebe que cada línea se rige por sí misma

    Abra dos terminales y arranque Claude Code en ambas. Cada línea de estado informa de su propia sesión: 11 % y 22k/200k a la izquierda, 9 % y 18k/200k a la derecha, mientras el /context de cada ventana coincide con su línea. Por eso la rama y el proyecto pertenecen a la línea: con varias pestañas en marcha, ve de un vistazo cuál pesa más sin ejecutar /context en todas.

    Two terminal panels side by side each running Claude Code with its own status line, one showing 11 percent and 22k/200k tokens, the other 9 percent and 18k/200k
    Dos sesiones de Claude Code, cada línea de estado con su propio consumo de contexto.Ver en 5:15

Robe un script y léalo a diario

  1. 8

    Sin escribir código: instale un script de la comunidad con npx

    No tiene que escribir el script usted. ContextBricks se instala con un comando — npx contextbricks —, escribe ~/.claude/statusline.sh y actualiza settings.json, guardando antes una copia de seguridad. Su lista: nombre del modelo, mensaje git repo:branch [commit], indicadores de cambios sin confirmar, ahead y behind, líneas cambiadas en la sesión, uso de contexto en tiempo real con ladrillos visuales y un desglose de tokens. Se desinstala con ./uninstall.sh; la ruta de backup impresa restaura el script anterior.

    Terminal running npx contextbricks showing installation complete, statusline.sh installed under .claude, settings.json updated with a backup, and the list of what the status line will show
    npx contextbricks: script instalado, settings.json actualizado, capacidades enumeradas.Ver en 0:20
  2. 9

    Lea el medidor mientras el agente trabaja

    La línea personalizada brilla a mitad de sesión. En la demo lee [Sonnet 4.5], +2381/-0 líneas, y una barra de contexto al 18 % (36k/200k tokens) con el reparto sys:4k tools:16k mcp:2k mem:10k msg:4k y 163k libres. El autor cuenta tokens parseando la transcripción de la conversación —una estimación, no una cifra de la API— y le parece exacta bastante para decidir cuándo compactar o limpiar.

    Claude Code writing planning documents with the ContextBricks status line showing Sonnet 4.5, lines added and removed, an 18 percent context bar at 36k of 200k tokens and 163k free
    36k/200k tokens con desglose por categorías mientras se escriben los documentos de planificación.Ver en 5:00
  3. 10

    Cierre por señal: el commit aterriza, el límite semanal se acerca

    Tras un commit de git, la línea incorpora rama y commit: contextbricks:master [ffe9523] Add comprehensive planning documentation. El borde derecho añade una segunda señal — Approaching weekly limit. Con el porcentaje de contexto, el marcador de commit y el aviso de límite, sabe cuándo lanzar /compact o /clear a propósito en vez de que la autocompactación interrumpa la tarea.

    Claude Code status line after a commit showing contextbricks master with commit ffe9523 message, a 19 percent context bar at 38k of 200k tokens and an Approaching weekly limit warning
    Rama y commit aparecen en la línea; el aviso de límite semanal, a la derecha.Ver en 6:02

Lo que su script puede leer — campo a campo

Todo lo que aparece en la línea viene de un único objeto JSON que el script recibe por stdin — al iniciar la sesión y de nuevo tras cada actualización: un nuevo mensaje del asistente, un /compact terminado, un cambio de modo de permisos. Estos son los campos oficiales que merecen una fila.

  • 1Modelo y effort — model.display_name como etiqueta (Sonnet 4.5, Opus 4.5) y effort.level si quiere ver el nivel de razonamiento al lado.
  • 2Lugar — workspace.current_dir es el campo preferido para el directorio actual, workspace.project_dir el de lanzamiento, y workspace.repo.owner/.name identifican el repositorio parseado del remoto origin; la rama, con git branch --show-current.
  • 3Contexto — context_window.used_percentage y remaining_percentage vienen precalculados, context_window.current_usage separa input, output, creación y lectura de caché, y context_window.context_window_size es 200000 por defecto (1000000 extendido).
  • 4Dinero y tiempo — cost.total_cost_usd para el coste de sesión (se reinicia con /clear), cost.total_duration_ms y total_api_duration_ms para reloj frente a espera de API, más cost.total_lines_added y total_lines_removed.
  • 5Límites — rate_limits.five_hour y rate_limits.seven_day exponen used_percentage y resets_at en los planes Pro y Max; la documentación incluye también un objeto prompt_cache con hit_ratio y expires_at para filas conscientes de la caché.

Detalles prácticos de la documentación: cada echo o print es su propia fila, así que los diseños multilínea son simplemente más print; los códigos ANSI los colorean; las variables de entorno COLUMNS y LINES dan el ancho del terminal; y todo campo condicionalmente ausente merece un fallback jq como .context_window.used_percentage // 0 para que la línea sobreviva a los primeros segundos de sesión.

Cuando la línea se porta mal

Casi toda línea de estado rota se remonta a cinco causas — y cada arreglo está a un prompt o a un comando de distancia.

  • 1Línea en blanco o guiones (--) — son campos nulos antes de la primera respuesta de la API. La documentación recomienda fallbacks jq (// 0, // empty), y el aviso de confianza del workspace debe aceptarse o la línea sigue vacía.
  • 2El script no se ejecuta — déle permisos con chmod +x, escriba en stdout y no en stderr, y lance claude --debug para ver sus errores.
  • 3Números que no cuadran — el autor de ContextBricks cuenta que Claude erró el cálculo de tokens varios intentos seguidos. Pida al agente volcar el JSON crudo a un archivo de depuración y reescribir el script contra eso; luego compare con /context.
  • 4Lío de shells en Windows — Claude Code usa Git Bash si está instalado y PowerShell en caso contrario; rutas con barras normales y el script en su propio .ps1.
  • 5Demasiado en una fila — pida multilínea (la ruta y la info del repo pasan a una segunda línea) o recorte: tokens en unidades K, un solo color de separador, y fuera los campos que nunca mira.

Y si quiere salir del todo: /statusline delete (o /statusline clear) elimina la función, el uninstall.sh de un instalador de la comunidad la deshace, y la copia de seguridad de settings que dejó el instalador restaura su script anterior.

FAQ de la barra de estado de Claude Code

Guías relacionadas