피드로 돌아가기
Claude Code, 깜빡임 없는 NO_FLICKER 모드 공개
GeekNewsGeekNews
Frontend

Claude Code, 깜빡임 없는 NO_FLICKER 모드 공개

클로드 코드 NO_FLICKER 모드로 터미널 깜빡임 없이 마우스 지원 实现함

xguru2026년 4월 2일4intermediate

Context

기존 터미널 ANSI 코드 기반 렌더러는 뷰포트 밖 행을 다시 그리려면 전체 화면을 지워야 하는 구조적 한계가 있었음. 이로 인해 대화 출력 중 화면 깜박임과 점프 현상이 반복 발생함.

Technical Solution

  • Viewport Virtualization: 뷰포트 전체를 가상화하여 부분 업데이트만 수행하도록 설계함
  • Alternate Screen Buffer: 대화 내용을 대체 화면 버퍼에 분리 저장하여 깜빡임 없는 렌더링을 구현함
  • In-App Mouse Event Handling: 마우스 클릭, 커서 이동, 텍스트 드래그 선택, URL/파일 경로 열기, 툴 결과 확장 등 인앱 마우스 이벤트를 직접 처리함
  • Transcript Mode: Ctrl+O로 less 스타일 탐색 모드를 제공하며 /, n/N, g/G, j/k 키로 검색과 이동이 가능함
  • CLAUDE_CODE_NO_FLICKER=1 환경변수로 실험적 모드를 활성화함

Impact

긴 대화에서도 메모리와 CPU 사용량이 일정하게 유지됨. Claude Code v2.1.88 이상에서 사용 가능함.

Key Takeaway

터미널 환경의 구조적 제약을 극복하려면 애플리케이션 레벨에서 화면 버퍼를 가상화하는 접근이 필요함. 이 방식은 깜빡임을 제거하지만 네이티브 Cmd+F 검색과 터미널 네이티브 드래그 선택을 포기해야 하는 트레이드오프가 따름.


tmux 환경에서 마우스 휠 스크롤을 사용하려면 ~/.tmux.conf에 set -g mouse on을 추가해야 함. tmux -CC 모드와는 호환되지 않으므로 일반 tmux 세션으로 실행해야 함. 문제 발생 시 /feedback 명령어로 피드백 제공하고 Claude Code GitHub 리포지토리에 터미널 에뮬레이터 이름과 버전을 포함하여 이슈를 등록할 것.

원문 읽기