6 puntos por GN⁺ 2026-01-23 | 1 comentarios | Compartir por WhatsApp
  • Claude Chill es una herramienta de proxy PTY que mitiga los problemas de latencia y parpadeo que aparecen cuando Claude Code vuelve a dibujar repetidamente toda la terminal
  • Intercepta los bloques de salida sincronizada (sync blocks) que usa Claude Code y, con renderizado basado en VT100, actualiza solo las partes modificadas de la pantalla
  • Mantiene un búfer de historial para permitir scrollback, y con la tecla Ctrl+6 se puede entrar en el “modo lookback” para revisar todo el historial de salida
  • Ofrece una función de auto-lookback que vuelca automáticamente el historial cuando no hay entrada durante cierto tiempo
  • Funciona en Linux y macOS, y es una solución ligera que mejora el rendimiento y la legibilidad de la terminal

Descripción general

  • Claude Chill es un programa proxy PTY creado para resolver los problemas de salida en terminal de Claude Code
    • Claude Code envuelve toda la salida en bloques sincronizados para renderizarla de una sola vez, pero en ese proceso se producen actualizaciones de pantalla completa de miles de líneas
    • Esto provoca problemas como latencia, parpadeo y pérdida del scrollback
  • Claude Chill se ubica entre la terminal y Claude Code para reflejar solo las diferencias de salida y mantener un búfer de historial

Funciones principales

  • Intercepción de bloques sync: detecta y procesa los grandes bloques sincronizados que envía Claude Code
  • Renderizado basado en VT: usa un emulador VT100 para rastrear el estado de la pantalla y mostrar solo las partes modificadas
  • Conservación del historial y modo lookback: guarda la salida en un búfer para poder consultar logs anteriores
    • Entrar al modo lookback con la tecla Ctrl+6
    • Pausa temporalmente la salida de Claude y muestra todo el historial en la terminal
    • Se puede salir volviendo a pulsar la tecla o con Ctrl+C
  • Auto-lookback: si no hay entrada durante un tiempo determinado (15 segundos por defecto), vuelca automáticamente el historial
    • Se puede desactivar con la opción -a 0
    • Durante el volcado automático, la pantalla puede parpadear brevemente

Instalación y uso

  • Instalación:
    cargo install --path crates/claude-chill  
    
  • Ejemplos de ejecución:
    • Ejecución básica: claude-chill claude
    • Pasando argumentos: claude-chill -- claude --verbose
    • Especificar tamaño del historial: claude-chill -H 50000 claude
    • Desactivar auto-lookback: claude-chill -a 0 claude
  • Opciones principales:
    • -H, --history: número máximo de líneas del historial (100000 por defecto)
    • -k, --lookback-key: tecla para alternar el modo lookback
    • -a, --auto-lookback-timeout: tiempo de espera para auto-lookback (ms)

Archivo de configuración

  • Ubicación:
    • Linux: ~/.config/claude-chill.toml
    • macOS: ~/Library/Application Support/claude-chill.toml
  • Campos principales:
    • history_lines: número máximo de líneas del historial
    • lookback_key: tecla para alternar el modo lookback
    • refresh_rate: FPS de renderizado
    • auto_lookback_timeout_ms: tiempo de auto-lookback

Protocolo de teclado y configuración de teclas

  • Cambia de modo automáticamente en terminales compatibles con Kitty Keyboard Protocol (Kitty, Ghostty, WezTerm, etc.)
    • Si Claude Code activa el modo Kitty, Claude Chill también reconoce automáticamente esa codificación
  • Formato de tecla: [modifier][key]
    • Ejemplos: [f12], [ctrl][g], [ctrl][shift][j]
  • La tecla predeterminada Ctrl+6 envía ASCII 0x1E y no suele entrar en conflicto con la mayoría de terminales
    • En macOS, Ctrl+Shift+6 (Ctrl+^) realiza la misma acción

Cómo funciona

  • Claude Chill crea un terminal virtual (PTY) y ejecuta Claude Code como proceso hijo
  • Estructura de proxy de entrada/salida:
    Terminal ⇄ claude-chill ⇄ Claude Code  
    
  • Etapas principales del procesamiento:
    • Entrada: se envía a Claude, bloqueando solo la tecla de lookback
    • Salida: detecta bloques sincronizados y deja pasar tal cual la salida asíncrona
    • Rastrea el estado de la pantalla con emulación VT
    • Compara con el estado anterior y renderiza solo las diferencias
    • Mantiene un búfer de historial y admite el modo lookback
    • Reenvía a Claude señales como SIGWINCH, SIGINT y SIGTERM

Avisos

  • Es una herramienta desarrollada para uso personal y no ha sido probada ampliamente
  • Se confirmó su funcionamiento en Linux y macOS
  • No se recomienda su uso en sistemas críticos ni entornos de infraestructura
  • Licencia MIT

1 comentarios

 
GN⁺ 2026-01-23
Comentarios de Hacker News
  • Estoy a cargo del renderizado TUI de Claude Code
    Lamento las molestias durante tanto tiempo, pero hoy desplegamos para todos los usuarios el renderizador diferencial (differential renderer)
    Reescribimos por completo el sistema de renderizado, y ahora solo alrededor de 1/3 de las sesiones experimentan parpadeos intermitentes. El parpadeo continuo casi ha desaparecido
    Además, envié parches de soporte para salida sincronizada (DEC mode 2026) al terminal de VSCode y a tmux, y ya fueron integrados
    Si quieren cero parpadeo por completo, recomiendo Ghostty. Pueden ver más detalles en comentario del issue #769, xterm.js PR #5453, tmux PR #4744

    • Me pregunto por qué hubo tan poca comunicación oficial sobre un problema tan importante
      Todos los días se publican comentarios en los issues de GitHub (#1913, #826, #3648), pero desde el rollback de diciembre casi no hubo respuestas de Anthropic
      Entiendo la dificultad técnica, pero creo que la falta de comunicación hizo que los usuarios perdieran confianza
    • Estoy en el plan de $200 y los timeouts de solicitudes API ocurren seguido
      Solo estoy ejecutando uno o dos agentes y aun así pasa esto. Me pregunto si quizá siguen aplicando los rate limits del plan anterior o si la causa podrían ser las sesiones con contexto largo
      Aun así, esta herramienta me parece muy emocionante porque me está permitiendo crear apps que antes eran imposibles
    • Ojalá le prestaran un poco más de atención al issue #769
      En macOS iTerm era muy molesto que la pantalla se desplazara hacia arriba cada vez que la ventana perdía el foco
    • Antes de recomendar Ghostty, sugeriría leer este artículo
      Desde Ghostty 1.0 había una fuga de memoria, y las apps CLI como Claude Code generaban con frecuencia las condiciones que hacían visible el problema
      La corrección ya fue mergeada y estará incluida en la versión 1.3
    • Me pregunto si hay planes de separar el TUI y la UI para que cualquiera pueda crear su propia interfaz
      Si pudiera configurarse de forma flexible como Zed, creo que sería una experiencia mucho mejor
  • Hace meses que no usaba Claude Code y me sorprende que el flicker todavía no se haya resuelto
    Me hace pensar que la razón por la que no lo hacen open source quizá no sea la competencia, sino lo caótico de la base de código

    • La causa del problema es que la librería Ink borra y vuelve a dibujar todo en cada actualización
      Hay información al respecto en issue #769
      Yo parcheé el paquete npm localmente, pero no es perfecto. A nivel estructural hay que cambiar la forma de renderizar
      Como referencia, OpenAI Codex está hecho con Rust + ratatui, así que no tiene este problema
    • Mi teoría es que el equipo de Claude Code está desarrollando Claude Code con Claude Code, por eso la solución está tardando tanto
      Estos bugs complejos al final requieren que una persona se siente un fin de semana y los arregle directamente, pero parece que solo están lanzando agentes
    • Anthropic dijo que “el 90% del código lo escribirá la IA”, pero es irónico que ni siquiera pueda corregir un bug básico de flicker
      Otras herramientas CLI (opencode, codex, gemini, droid, etc.) no tienen este problema
    • Parece que el equipo está aguantando demasiados issues y cambios rápidos de modelo
      Si lo hubieran usado directamente en un entorno tmux sabrían lo doloroso que es, pero aun así quiero ser un poco comprensivo
    • Codex es mucho más fluido y estable que Claude Code. Que esté escrito en Rust parece marcar una gran diferencia
  • Quiero usar Claude Code, pero no puedo porque la función de scrollback de Ghostty está rota
    El proxy PTY intercepta el stream de salida y bloquea el acceso de Ghostty a su buffer interno

    • Yo no he notado problemas de scroll en Ghostty. Eso sí, sí extraño la ausencia de una barra de desplazamiento
    • Recomiendo probar tmux. No tiene scroll suave, pero ofrece muchas funciones y resulta satisfactorio
  • Tenía curiosidad por saber qué significa exactamente el flickering
    A veces Claude Code de repente se desplaza hacia arriba y luego es difícil volver a bajar, y hay que reiniciar el terminal para que vuelva a la normalidad

    • A mí me pasa lo mismo. En macOS iTerm2 también sucede, y reiniciar la sesión es la única solución temporal
    • En el terminal de VSCode me pasaba aún peor no solo con Claude Code sino también con Gemini. Cambiarme a Ghostty lo resolvió por completo
  • Ojalá hubiera una opción para fijar el cuadro de entrada en la parte inferior del terminal
    Tener que estar desplazándome entre el chat y el cuadro de entrada es incómodo

    • A mí me pasó lo mismo usándolo en un entorno tmux–mosh–móvil
      En términos de usabilidad móvil, creo que sería una función nivel game changer
  • Al ver el formato de readme.md, resulta interesante porque da la impresión de que Claude Code lo escribió directamente

    • Pero CC en sí no escribe el texto, y es más probable que sea el resultado generado a través de otro modelo (Codex, Gemini, etc.)
  • Esta actualización parece ser la mayor contribución a Claude Code en los últimos meses
    Voy a instalarla y probarla de inmediato

  • Como noticia relacionada, vi una publicación anterior que decía que “el renderizado de terminal de Claude Code mejoró un 85%

    • Pero aun así siguen los problemas de desplazamiento
  • Por fin redujeron el flickering, gracias. Era un bug que provocaba dolor de cabeza, así que ahora se siente como un alivio
    Espero que Anthropic pueda resolver este problema por completo pronto

  • Codex sigue siendo mucho más reactivo incluso cuando la sesión se alarga, mientras que Claude se va poniendo lento con el tiempo

    • Sin duda, que Codex esté escrito en Rust parece marcar la diferencia