- Introdução de um renderizador experimental que elimina a cintilação e os saltos de tela do renderizador anterior
- Mesmo com conversas longas, o uso de memória e CPU permanece constante, e no terminal agora é possível clicar com o mouse, mover o cursor e clicar em elementos da UI
- Ativação pela variável de ambiente
CLAUDE_CODE_NO_FLICKER=1
- Devido às limitações estruturais dos códigos ANSI do terminal, para redesenhar linhas fora do viewport antes era necessário usar código de limpeza da tela inteira, mas o novo renderizador resolve isso ao virtualizar todo o viewport
- Ainda existem trade-offs, como falta de suporte a busca nativa com cmd-f, copiar e colar, e ajustes físicos de rolagem ainda inacabados, por isso continua em fase experimental
- Como o conteúdo da conversa fica no buffer de tela alternativo, e não no scrollback, é possível entrar no modo Transcript com
Ctrl+O e usar busca no estilo less (/, n/N)
- O campo de entrada permanece fixo na parte inferior da tela mesmo enquanto a saída está sendo transmitida
- Suporte a tratamento de eventos de mouse no app, como ajustar a posição do cursor com o mouse, expandir resultados de ferramentas, abrir URLs/caminhos de arquivo e selecionar texto arrastando
Para mais detalhes, veja Fullscreen rendering na documentação do Claude Code (anexado abaixo)
Renderização em tela cheia
- Defina a variável de ambiente
CLAUDE_CODE_NO_FLICKER=1 ao executar, ou adicione export CLAUDE_CODE_NO_FLICKER=1 ao ~/.zshrc / ~/.bashrc para aplicar automaticamente em todas as sessões
- Requer Claude Code v2.1.88 ou superior, e no momento está em fase de research preview, então o comportamento pode mudar conforme o feedback
- O nome "tela cheia" não tem relação com maximizar a janela do terminal; funciona em qualquer tamanho de janela
O que mudou em relação ao método anterior
- O campo de entrada permanece fixo na parte inferior da tela mesmo enquanto a saída está sendo transmitida (se o campo de entrada estiver fixo, a renderização em tela cheia está ativada)
- Como o conteúdo da conversa fica no buffer de tela alternativo, estas mudanças em relação ao comportamento anterior se aplicam:
| Antes |
Depois |
Navegar pelo texto com Cmd+F ou busca do tmux |
Buscar com / após Ctrl+O, ou gravar no scrollback nativo com [ e usar Cmd+F |
| Selecionar e copiar com arrasto nativo do terminal |
Seleção dentro do app, com cópia automática ao soltar o botão do mouse |
Abrir URL com Cmd+clique |
Abrir com clique na URL |
Suporte a mouse
- Clique no campo de entrada do prompt: posiciona o cursor em qualquer ponto do texto
- Clique em resultado de ferramenta recolhido: expande ou recolhe (a chamada da ferramenta e o resultado se expandem juntos)
- Clique em URL ou caminho de arquivo: arquivos são abertos no app padrão, e URLs
http:///https:// são abertas no navegador
- Em terminais baseados em xterm.js, como o terminal embutido do VS Code, o comportamento é delegado ao manipulador de links do próprio terminal para evitar abrir o link duas vezes
- Clique e arraste: seleciona texto (duplo clique: seleciona palavra, triplo clique: seleciona linha)
- Roda do mouse: rolagem da conversa
- Ao soltar o botão do mouse, o texto selecionado é copiado automaticamente para a área de transferência; isso pode ser desativado em
/config
Atalhos de rolagem
| Atalho |
Ação |
PgUp / PgDn |
Rola meia tela para cima/baixo |
Ctrl+Home |
Vai para o topo da conversa |
Ctrl+End |
Vai para a mensagem mais recente e reativa o acompanhamento automático |
| Roda do mouse |
Rola algumas linhas por vez |
- Em teclados sem teclas dedicadas, como os do MacBook, use
Fn+↑/↓/←/→ no lugar de PgUp/PgDn/Home/End
- Ao rolar para cima, o acompanhamento automático (auto-follow) é pausado temporariamente; ele volta com
Ctrl+End ou ao rolar até o fim
- Os atalhos podem ser personalizados nas teclas de atalho com nomes de ação como
scroll:pageUp, scroll:pageDown etc. (veja a documentação de Keybindings)
- A variável de ambiente
CLAUDE_CODE_SCROLL_SPEED permite ajustar o multiplicador da velocidade da roda do mouse (1~20, recomendado 3 com base no vim)
Busca e revisão da conversa (modo Transcript)
- Ao entrar no modo Transcript com
Ctrl+O, é possível usar navegação e busca no estilo less
| Tecla |
Ação |
/ |
Abre a busca (Enter: confirmar, Esc: cancelar) |
n / N |
Vai para o próximo/resultado anterior da busca |
j/k ou ↑/↓ |
Rola uma linha |
g/G ou Home/End |
Vai para o topo/fim |
Ctrl+U / Ctrl+D |
Rola meia página |
[ |
Grava a conversa inteira no scrollback nativo do terminal (permite usar Cmd+F) |
v |
Salva em arquivo temporário e abre com $VISUAL/$EDITOR |
Esc, q, Ctrl+O |
Sai do modo Transcript |
Observações ao usar tmux
- Para usar rolagem com a roda do mouse no tmux, é preciso adicionar
set -g mouse on ao ~/.tmux.conf
- Sem o modo mouse, os eventos da roda são enviados ao tmux; a rolagem por teclado com
PgUp/PgDn continua funcionando normalmente
- Se o Claude Code for iniciado com o modo mouse do tmux desativado, ele exibirá uma mensagem informativa única
tmux -CC (modo de integração do iTerm2) não é compatível
- Nesse modo, o buffer de tela alternativo e o rastreamento de mouse não funcionam corretamente, e um duplo clique pode corromper o estado do terminal
- O uso normal do tmux dentro do iTerm2, sem
-CC, funciona corretamente
Como manter a seleção nativa de texto
Research preview e feedback
- Foi testado nos principais emuladores de terminal, mas podem ocorrer problemas de renderização em terminais incomuns ou com configurações atípicas
- Em caso de problema, execute o comando
/feedback dentro do Claude Code ou abra uma issue no repositório GitHub do claude-code (incluindo nome e versão do emulador de terminal)
- Para desativar, remova a variável de ambiente ou defina
CLAUDE_CODE_NO_FLICKER=0
5 comentários
Eu uso em modo integrado com
iterm -CC.. então nem percebi muito bem o que havia de estranho...Na verdade, o que estava me incomodando era que, desde um tempo atrás, se eu rolasse a tela durante a renderização, ela pulava à força para o topo; agora a posição fica parada e muda para um aviso de nova mensagem, então gostei. Muito bom..
Parece que está ficando com uma pegada meio OpenCode.
A TUI virou GUI
Gostei dessa mudança~
Ainda parece que precisa de mais alguns ajustes.
Se eu deixo o cursor em um lugar e seleciono outro com o mouse, a cópia é feita automaticamente, e ao colar deveria inserir no lugar onde o cursor estava.
Mas está colando no local selecionado com o mouse.