Guia de campo do Claude Code em português

Statusline no Claude Code: contexto, modelo e limite sempre à vista

A statusline é uma linha no rodapé do Claude Code que mostra o que o seu script imprimir: modelo, quanto da janela de contexto já foi usado, branch do git, uso do limite. Abaixo, o jeito curto (pedir ao /statusline), o jeito manual, o script em PowerShell para Windows e os campos que valem a pena. O atalho está na seção 6.1 do guia (p. 50); o resto foi conferido na doc oficial em inglês, baixada em 15/10/2026.

O que a statusline mostra

O Claude Code roda o script que você configurar, entrega a ele um JSON com os dados da sessão e mostra o que o script imprimir, numa linha própria acima dos avisos do rodapé. Ela roda na sua máquina e, segundo a doc, não gasta token de API ("The status line runs locally and does not consume API tokens"). Por rodar na sua máquina, roda também com o seu acesso, fora do sandbox, como os hooks (p. 30).

O jeito curto: pedir em português

O comando /statusline aceita o pedido em linguagem natural. O Claude Code escreve o script em ~/.claude/ e atualiza a configuração sozinho. O pedido que o guia sugere (p. 50):

/statusline mostre o modelo, o esforço e a porcentagem da janela de contexto em uso

Se ele pedir licença para gravar os arquivos, aprove. Para tirar, peça ao mesmo comando (/statusline remove) ou apague o campo statusLine do settings.

O jeito manual: settings.json

A configuração mora no campo statusLine do ~/.claude/settings.json (o seu, de usuário) ou do settings do projeto. O type é command e o command aponta para o script:

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

O padding é opcional e só afasta o texto da borda. Outro campo opcional, o refreshInterval, roda o script de novo a cada N segundos, útil para relógio ou para dado que muda com a sessão parada. Sem ele, a linha se atualiza por evento: mensagem nova, fim do /compact, troca de modo de permissão.

No Windows: PowerShell ou Git Bash

A doc explica a regra: no Windows, o Claude Code roda o comando da statusline pelo Git Bash quando ele está instalado, e pelo PowerShell quando não está. A armadilha é a barra invertida: o Git Bash a come, o caminho C:\Users\... chega quebrado e a linha some sem erro visível. Escreva o caminho com barra normal. Para um script em PowerShell, chame o powershell no command, que funciona nos dois casos:

{
  "statusLine": {
    "type": "command",
    "command": "powershell -NoProfile -File C:/Users/seu-usuario/.claude/statusline.ps1"
  }
}

E o statusline.ps1, como na doc, mostrando pasta, modelo e porcentagem da janela:

$input_json = $input | Out-String | ConvertFrom-Json
$cwd = $input_json.cwd
$model = $input_json.model.display_name
$used = $input_json.context_window.used_percentage
$dirname = Split-Path $cwd -Leaf

if ($used) {
    Write-Host "$dirname [$model] ctx: $used%"
} else {
    Write-Host "$dirname [$model]"
}

Se o PowerShell barrar o script pela política de execução, o caminho está em Claude Code não é reconhecido no Windows; a escolha entre PowerShell e WSL, em PowerShell ou WSL.

Os campos que valem a pena

CampoO que traz
context_window.used_percentagePorcentagem da janela de contexto em uso, já calculada
model.display_nameO nome do modelo da sessão
effort.levelO esforço atual, inclusive depois de um /effort no meio da sessão
rate_limits.five_hour.used_percentageQuanto da janela de 5 horas do plano já foi usado; há o mesmo para a de 7 dias
cost.total_cost_usdCusto estimado da sessão, calculado no seu computador pelo preço de tabela; pode não bater com a sua fatura

Dois cuidados. O rate_limits só existe para assinante Pro e Max do claude.ai (ou atrás de um gateway com limite de gasto), e só depois da primeira resposta; quem usa chave de API não o recebe. E qualquer campo pode vir vazio antes da primeira resposta, então o script tem de aceitar o vazio. Como ler esses limites está em limites de uso do Claude Code; quanto custa cada plano em reais, em quanto custa o Claude Code.

Quando a linha não aparece

A lista da doc, na ordem: o script imprime na saída padrão (não na de erro)? Roda sozinho no terminal? No Windows com Git Bash, o caminho está com barra normal? A pasta é de confiança? Se nada disso resolver, claude --debug registra o erro do script. A statusline é parente dos hooks: os dois são script seu que o Claude Code roda.

Fora do livro: code.claude.com/docs/en/statusline, baixada em 15/10/2026.

Leia também