claude-code-limits
Instala e customiza uma statusline de cota no Claude Code (medidores CTX / 5H / 7D com cor verde/amarelo/vermelho e horario de reset). Foco no uso dos limites de 5 horas e 7 dias, nao em custo. Use qu
SKILL.mdskill/SKILL.md
GitHubclaude-code-limits
Statusline de uma linha para o Claude Code, com foco em cota: quanto já se usou dos limites de 5 horas e 7 dias e quando eles resetam. Mostra, da esquerda para a direita: modelo, diretório e três medidores com barrinha e percentual:
- CTX - uso da janela de contexto da sessão.
- 5H - uso do limite de 5 horas, com horário de reset (
HH:MM). - 7D - uso do limite de 7 dias, com data e hora de reset (
DD/MM HHh).
Cor por percentual: verde abaixo de 60%, amarelo de 60% a 84%, vermelho a partir de 85%.
Como funciona
O Claude Code chama o comando da statusline passando um JSON pelo stdin a cada atualização. O script lê esse JSON e imprime uma linha. Campos usados:
| Campo no JSON | Uso |
|---|---|
model.display_name |
nome do modelo (em negrito) |
workspace.current_dir (fallback project_dir) |
último diretório do caminho |
context_window.used_percentage |
medidor CTX |
rate_limits.five_hour.used_percentage / .resets_at |
medidor 5H + reset |
rate_limits.seven_day.used_percentage / .resets_at |
medidor 7D + reset |
resets_at é epoch em segundos, formatado no fuso local.
Instalar
A partir da raiz do repositório:
./instalar.sh
Copia skill/statusline.py para ~/.claude/statusline.py e registra o bloco statusLine em
~/.claude/settings.json. Abra uma sessão nova do Claude Code.
Registro equivalente, feito na mão:
"statusLine": { "type": "command", "command": "python3 -I ~/.claude/statusline.py", "padding": 0 }
Armadilhas
- Script em
.pypuro. Não embutir o Python num heredoc dentro de um.sh: o heredoc consome o stdin que a statusline precisa ler. - Cinza = cor 256 (
\033[38;5;245m), não o atributo dim (\033[2m), que some em vários terminais. rate_limitssó existe em conta Pro/Max e só depois da 1a resposta da sessão. Até lá os medidores 5H e 7D aparecem como--%com a barra apagada. O script trata ausência sem quebrar.- Erro ao ler o stdin: sair silencioso (
exit 0). A statusline nunca deve poluir a barra.
Customizar
- Número de blocos da barra: parâmetro
nembarra()(padrão 8). - Faixas de cor: função
cor(). - Formato dos resets: strings de
time.strftimenas chamadas dereset(). - Tirar o diretório ou o modelo: remover o
appendcorrespondente empartes.