Criar uma linha de status personalizada
Você pode:-
Executar
/statuslinepara pedir ao Claude Code que o ajude a configurar uma linha de status personalizada. Por padrão, ele tentará reproduzir o prompt do seu terminal, mas você pode fornecer instruções adicionais sobre o comportamento que deseja ao Claude Code, como/statusline show the model name in orange -
Adicionar diretamente um comando
statusLineao seu.claude/settings.json:
Como funciona
- A linha de status é atualizada quando as mensagens da conversa são atualizadas
- As atualizações são executadas no máximo a cada 300 ms
- A primeira linha de stdout do seu comando se torna o texto da linha de status
- Códigos de cor ANSI são suportados para estilizar sua linha de status
- Claude Code passa informações contextuais sobre a sessão atual (modelo, diretórios, etc.) como JSON para seu script via stdin
Estrutura de entrada JSON
Seu comando de linha de status recebe dados estruturados via stdin em formato JSON:Scripts de exemplo
Linha de status simples
Linha de status com suporte a Git
Exemplo em Python
Exemplo em Node.js
Abordagem com função auxiliar
Para scripts bash mais complexos, você pode criar funções auxiliares:Uso da janela de contexto
Exiba a porcentagem da janela de contexto consumida. O objetocontext_window contém:
total_input_tokens/total_output_tokens: Totais cumulativos em toda a sessãocurrent_usage: Uso atual da janela de contexto da última chamada de API (pode sernullse não houver mensagens ainda)input_tokens: Tokens de entrada no contexto atualoutput_tokens: Tokens de saída geradoscache_creation_input_tokens: Tokens escritos no cachecache_read_input_tokens: Tokens lidos do cache
current_usage que reflete o estado real da janela de contexto:
Dicas
- Mantenha sua linha de status concisa - ela deve caber em uma linha
- Use emojis (se seu terminal os suportar) e cores para tornar as informações facilmente escaneáveis
- Use
jqpara análise JSON em Bash (veja exemplos acima) - Teste seu script executando-o manualmente com entrada JSON simulada:
echo '{"model":{"display_name":"Test"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh - Considere armazenar em cache operações caras (como status do git) se necessário
Solução de problemas
- Se sua linha de status não aparecer, verifique se seu script é executável (
chmod +x) - Certifique-se de que seu script produz saída para stdout (não stderr)