Statusline do Claude Code

Cada pedaço da linha tem número e nome. Para pedir mudança, basta citar: "troca o 3 pelo 5", "tira o custo", "o tmux em azul". Esta é a versão 13, desenhada por você em 05/10/2026.

sessão claude1 | a linha abaixo é a saída real do script com o payload de exemplo

Três estados da mesma linha

Sessão recém-aberta, sessão no meio do dia, e sessão apertando nos limites. É a cor que muda, não o lugar.

Os segmentos, um a um

Ordem de hoje, da esquerda para a direita. "Some quando" diz em que situação o segmento desaparece inteiro, levando o separador junto: a linha nunca mostra um traço órfão.

1

modelo Fable 5.1

O que diz
O modelo que está respondendo, com o nome inteiro que o Claude Code manda: "Fable 5.1", "Opus 5 (1M context)".
Formato
Texto puro, sem delimitador. Abre a linha.
Cor
ciano, ANSI 36, fixa.
Fonte
model.display_name do payload, com model.id de reserva.
Some quando
Nunca.
2

contexto 55%

O que diz
Quanto da janela de contexto da conversa já foi usado.
Formato
Só a porcentagem inteira. A barra de dez casas saiu.
Cor
verde 32 abaixo de 50%, amarelo 33 de 50 a 79, vermelho 31 de 80 em diante.
Fonte
context_window.used_percentage, arredondado para baixo.
Some quando
Nunca. Sem o campo, mostra 0%.
3

limite 5h (62% - 2h)

O que diz
Quanto da cota da janela de 5 horas do plano já foi gasto, e em quanto tempo a janela vira.
Formato
Um par de parênteses, porcentagem, hífen, tempo até o reset. Sem rótulo: o parêntese é o que diz "5 horas". O tempo aparece sempre que o payload traz o horário do reset e ele ainda não passou; sai em minutos até 1h, horas até 48h, dias acima disso.
Cor
lilás 146 abaixo de 50%, âmbar 33 de 50 a 79, vermelho 31 de 80 em diante. A cor diz o gasto; o tempo, quando renova.
Fonte
rate_limits.five_hour.used_percentage e resets_at.
Some quando
O payload não traz a janela: sessão com chave de API, versão antiga do Claude Code, ou sessão atrás do Claude Code Router.
4

limite 7d [28% - 4d]

O que diz
O mesmo do 3, para a janela de 7 dias.
Formato
Colchetes, para distinguir da janela de 5h. Tem separador entre o 3 e o 4, como entre os outros. Se só um dos limites vier, ele aparece sozinho.
Cor
Mesma régua do 3: lilás, âmbar, vermelho.
Fonte
rate_limits.seven_day.used_percentage e resets_at.
Some quando
Igual ao 3.
5

conta rodrigo@campestre

O que diz
Em qual conta Claude esta sessão está logada. Existe porque a máquina tem três instalações, cada uma numa conta: presidente@campestrevarginha, rodrigo@campestre.social e diretor@aciv.
Formato
Sem delimitador. Três recortes, pela variável CLAUDE_STATUSLINE_CONTA: curto (padrão) mostra rodrigo@campestre, completo mostra rodrigo@campestre.social.br, local mostra rodrigo.
Cor
azul 110, fixa.
Fonte
O arquivo .claude.json da instalação (HOME do processo, ou CLAUDE_CONFIG_DIR quando definido), em cache revalidado por data do arquivo.
Some quando
Sessão com chave de API (sem conta OAuth), arquivo ausente ou ilegível.
6

tmux <claude1>

O que diz
Nome da sessão tmux onde esta janela está.
Formato
Sinais de menor e maior. Só o nome da sessão; o tmux também sabe o número e o nome da janela e do pane, que hoje não aparecem.
Cor
magenta 35, fixa.
Fonte
tmux display-message perguntando pelo pane atual, a cada repaint, sem cache: renomear a sessão aparece na hora. Custa 4ms.
Some quando
A sessão não está dentro do tmux, ou o servidor tmux não responde.
7

projeto [-> zeus <-]

O que diz
A pasta de trabalho atual, só o último nome do caminho.
Formato
Colchete com setas apontando para o nome.
Cor
laranja 208, fixa.
Fonte
workspace.current_dir, com cwd de reserva.
Some quando
Nunca.
8

custo (R$ 62,90)

O que diz
Quanto a sessão teria custado em dólar, convertido para real. Em plano de assinatura é referência, não cobrança.
Formato
Parênteses, R$, valor com vírgula. É o único segmento sem separador antes: fica colado ao projeto por um espaço, como um apêndice dele.
Cor
verde claro 92, fixa.
Fonte
cost.total_cost_usd vezes a cotação do dólar, em cache por 12 horas (AwesomeAPI, com open.er-api de reserva), renovada em segundo plano, nunca no caminho do repaint.
Some quando
Nunca. Sem o campo, mostra (R$ 0,00).
|

separador |

O que diz
Divide os segmentos. Espaço, barra vertical, espaço: 3 colunas cada.
Cor
cinza 90.
Regra
Nasce junto com o segmento que vem depois dele. Segmento ausente leva o separador embora. A única exceção é o custo, que se cola ao projeto com um espaço simples.
x

o que saiu na versão 13

git
Branch e contagem de arquivos sujos (main:3). Custava dois subprocessos por repaint.
tempo
Duração da sessão ([2h15m]). Isso liberou os colchetes para o limite de 7 dias.
barra
Os dez blocos do contexto. Ficou só a porcentagem.
rótulos
"5h" e "7d" dentro dos limites, e a flecha antes do tempo de reset.
chaves
As chaves em volta da conta.
separador
O ponto centralizado virou barra vertical.

Como ler de relance

O que separa na leitura é a forma do delimitador.

FormaSegmento
palavra1 modelo
n%2 contexto
( ... )3 limite 5h
[ ... ]4 limite 7d
a@b5 conta
< ... >6 tmux
[-> ... <-]7 projeto
(R$ ...)8 custo

Largura

O terminal não quebra a linha: o que passa da largura é cortado pela direita, e hoje nada é descartado de propósito.

SituaçãoColunas
Linha normal, com conta curta e tmux (os três exemplos acima)99 a 112
Pior caso: conta completa, projeto longo, custo alto, tmux147
Janela tmux inteira nesta máquina (varia com a tela: 158 agora, 286 em setembro)158 a 286
Split vertical do tmux (duas colunas)143
Dois splits (três colunas)95

A versão 13 encurtou a linha em cerca de 35 colunas: a janela dividida ao meio cabe com folga, e só com dois splits o fim da linha encosta. Uma ordem de descarte por largura está pensada mas não implementada: custo, depois tmux, depois conta no formato curto, depois abreviar o projeto, depois os limites abaixo de 50%. Vermelho nunca sairia.

O que o Claude Code entrega e a linha não mostra

Dados que chegam ao script a cada repaint e hoje ficam de fora. Qualquer um pode virar segmento.

DadoCampoObservação
Nível de esforço do modeloeffort.levelMuda o comportamento e não aparece em nenhum outro lugar da tela.
Modo rápido ligadofast_modeIdem.
Pensamento estendido ligadothinking.enabledIdem.
Cache de prompt quente ou frioprompt_cache.warm, hit_ratio, expires_atMuda o custo real da sessão. O candidato mais interessante.
Tempo de sessãocost.total_duration_msEra o segmento 6 até a versão 12.
Branch e arquivos sujosgit na pasta atualEra o segmento 3 até a versão 12. Não vem do payload.
Linhas adicionadas e removidascost.total_lines_added, total_lines_removedQuanto código a sessão mexeu.
Tempo só de APIcost.total_api_duration_msContra o tempo de sessão, mostra quanto foi espera do modelo.
Tokens de entrada e saídacontext_window.total_input_tokens, total_output_tokensEm número absoluto, além da porcentagem.
Contexto restantecontext_window.remaining_percentageO complemento do 2.
Versão do Claude CodeversionHoje 2.1.289.
Estilo de saídaoutput_style.name
Janela e pane do tmuxtmux #I, #W, #PNão vem do payload: vem do tmux, junto com o nome da sessão.
Largura do terminalCOLUMNS (ambiente)É o que permitiria o descarte por largura.

Regras que valem para a linha inteira