- Claude Chill é uma ferramenta de proxy PTY que reduz problemas de latência e cintilação causados quando o Claude Code redesenha repetidamente todo o terminal
- Intercepta os blocos de saída sincronizada (sync blocks) usados pelo Claude Code e atualiza apenas as partes alteradas da tela com renderização baseada em VT100
- Mantém um buffer de histórico para permitir scrollback e oferece um modo de revisão ativado com Ctrl+6 para ver todo o histórico de saída
- Oferece a função auto-lookback, que despeja automaticamente o histórico quando não há entrada por um determinado tempo
- Funciona em Linux e macOS, sendo uma solução leve para melhorar o desempenho e a legibilidade do terminal
Visão geral
- Claude Chill é um programa proxy PTY criado para resolver problemas de saída do Claude Code no terminal
- O Claude Code envolve toda a saída em blocos sincronizados e renderiza tudo de uma vez, mas nesse processo ocorre uma atualização de tela inteira com milhares de linhas
- Isso causa problemas como latência, cintilação e perda de scrollback
- O Claude Chill fica entre o terminal e o Claude Code para aplicar apenas as diferenças na saída e manter um buffer de histórico
Principais recursos
- Interceptação de blocos sync: detecta e processa grandes blocos sincronizados enviados pelo Claude Code
- Renderização baseada em VT: usa um emulador VT100 para rastrear o estado da tela e exibir apenas as partes alteradas
- Preservação do histórico e modo de revisão: salva a saída em um buffer para permitir a consulta de logs anteriores
- Entre no modo de revisão com a tecla Ctrl+6
- Pausa a saída do Claude e mostra todo o histórico no terminal
- Você pode sair pressionando a tecla novamente ou com Ctrl+C
- Auto-lookback: se não houver entrada por um período definido (15 segundos por padrão), o histórico é despejado automaticamente
- Pode ser desativado com a opção
-a 0
- Durante o despejo automático, a tela pode piscar brevemente
Instalação e uso
Arquivo de configuração
- Localização:
- Linux:
~/.config/claude-chill.toml
- macOS:
~/Library/Application Support/claude-chill.toml
- Principais itens:
history_lines: número máximo de linhas do histórico
lookback_key: tecla para alternar o modo de revisão
refresh_rate: FPS de renderização
auto_lookback_timeout_ms: tempo do auto-lookback
Protocolo de teclado e configuração de teclas
- Alterna automaticamente de modo em terminais que suportam o Kitty Keyboard Protocol (Kitty, Ghostty, WezTerm etc.)
- Quando o Claude Code ativa o modo Kitty, o Claude Chill também reconhece automaticamente essa codificação
- Formato das teclas:
[modifier][key]
- Ex.:
[f12], [ctrl][g], [ctrl][shift][j]
- A tecla padrão Ctrl+6 envia ASCII
0x1E e não entra em conflito com a maioria dos terminais
- No macOS, o mesmo comportamento é obtido com Ctrl+Shift+6 (Ctrl+^)
Como funciona
Observações
- É uma ferramenta desenvolvida para conveniência pessoal e não passou por testes extensivos
- Funcionamento confirmado em Linux e macOS
- Não é recomendada para uso em sistemas ou ambientes de infraestrutura críticos
- Licença MIT
1 comentários
Comentários do Hacker News
Eu sou responsável pela renderização TUI do Claude Code
Peço desculpas pelo incômodo por tanto tempo, mas hoje liberamos para todos os usuários o renderizador diferencial (differential renderer)
Reescrevemos completamente o sistema de renderização e agora apenas cerca de 1/3 das sessões apresentam cintilação intermitente. A cintilação contínua praticamente desapareceu
Também enviei patches com suporte a saída sincronizada (DEC mode 2026) para o terminal do VSCode e para o tmux, e eles já foram incorporados
Se você quiser eliminar completamente a cintilação, recomendo o Ghostty. Mais detalhes podem ser vistos no comentário da issue #769, no PR #5453 do xterm.js e no PR #4744 do tmux
Há comentários todos os dias nas issues do GitHub (#1913, #826, #3648), mas desde o rollback de dezembro quase não houve respostas da Anthropic
Entendo a dificuldade técnica, mas parece que a falta de comunicação fez os usuários perderem confiança
Isso acontece mesmo rodando só um ou dois agentes. Fico me perguntando se talvez ainda exista algum rate limit do plano anterior, ou se sessões com contexto longo podem ser a causa
Ainda assim, é muito empolgante porque essa ferramenta está me permitindo criar apps que antes eram impossíveis
No macOS com iTerm, a tela rolava para cima toda vez que a janela perdia o foco, o que era extremamente incômodo
Desde o Ghostty 1.0 havia um vazamento de memória, e apps CLI como o Claude Code frequentemente criavam as condições para o problema aparecer
A correção já foi mergeada e deve entrar na versão 1.3
Se desse para montar algo mais flexível, como no Zed, a experiência provavelmente seria muito melhor
Faz alguns meses que não uso o Claude Code e me surpreende que o flicker ainda não tenha sido resolvido
Isso me faz pensar que o motivo de não abrirem o código talvez não seja a concorrência, mas sim a bagunça da codebase
Há informações sobre isso na issue #769
Eu apliquei um patch no pacote npm localmente, mas não ficou perfeito. Estruturalmente, o jeito de renderizar precisa mudar
Para referência, o OpenAI Codex foi feito com Rust + ratatui, então esse problema não existe lá
Bugs complexos como esse no fim das contas precisam que uma pessoa sente no fim de semana e corrija diretamente, mas parece que estão só rodando agentes
Outras ferramentas CLI (opencode, codex, gemini, droid etc.) não têm esse problema
Se tivessem usado isso diretamente em ambiente tmux, saberiam o quanto é doloroso, mas ainda assim dá vontade de ter um pouco de compreensão
Eu quero usar o Claude Code, mas não consigo por causa do scrollback quebrado do Ghostty
O proxy de PTY intercepta o fluxo de saída e bloqueia o acesso ao buffer interno do Ghostty
Eu estava curioso sobre o que exatamente era o flickering
Às vezes o Claude Code rola para cima de repente, fica difícil descer de volta, e só reiniciando o terminal tudo volta ao normal
Seria bom ter uma opção para fixar o campo de entrada no rodapé do terminal
Ficar rolando entre o chat e o campo de entrada o tempo todo é incômodo
Em termos de usabilidade no celular, isso parece ser um recurso nível game changer
Pelo formato do readme.md, achei interessante porque parece ter sido escrito pelo próprio Claude Code
Esta atualização parece ser a maior contribuição para o Claude Code nos últimos meses
Vou instalar e testar agora mesmo
Como notícia relacionada, vi um post anterior dizendo que o renderizador de terminal do Claude Code teve uma melhoria de 85%
Finalmente obrigado por reduzirem o flickering. Era um bug que dava dor de cabeça, então agora já parece bem melhor
Espero que a Anthropic resolva isso por completo o quanto antes
O Codex continua muito mais responsivo mesmo quando a sessão fica longa; o Claude vai ficando lento com o tempo