Configuração da linha de status
Crie uma linha de status personalizada para o Claude Code para exibir informações contextuais
Torne o Claude Code seu com uma linha de status personalizada que é exibida na parte inferior da interface do Claude Code, similar a como os prompts de terminal (PS1) funcionam em shells como Oh-my-zsh.
Criar uma linha de status personalizada
Você pode:
-
Executar
/statusline
para pedir ao Claude Code para ajudá-lo 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 mostrar o nome do modelo em laranja
-
Adicionar diretamente um comando
statusLine
ao seu.claude/settings.json
:
Como Funciona
- A linha de status é atualizada quando as mensagens da conversa são atualizadas
- As atualizações executam no máximo a cada 300ms
- A primeira linha do stdout do seu comando torna-se o texto da linha de status
- Códigos de cor ANSI são suportados para estilizar sua linha de status
- O 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 no formato JSON:
Scripts de Exemplo
Linha de Status Simples
Linha de Status com Reconhecimento de Git
Exemplo em Python
Exemplo em Node.js
Abordagem com Função Auxiliar
Para scripts bash mais complexos, você pode criar funções auxiliares:
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 escaneáveis
- Use
jq
para 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)