전체 화면 렌더링은 선택적 연구 미리보기이며 Claude Code v2.1.88 이상이 필요합니다. CLAUDE_CODE_NO_FLICKER=1로 활성화합니다. 피드백에 따라 동작이 변경될 수 있습니다.
전체 화면 렌더링은 Claude Code CLI의 대체 렌더링 경로로, 깜빡임을 제거하고 긴 대화에서 메모리 사용량을 일정하게 유지하며 마우스 지원을 추가합니다. vim 또는 htop처럼 터미널의 대체 화면 버퍼에 인터페이스를 그리고 현재 표시되는 메시지만 렌더링합니다. 이렇게 하면 각 업데이트 시 터미널로 전송되는 데이터의 양이 줄어듭니다.
차이는 VS Code 통합 터미널, tmux, iTerm2와 같이 렌더링 처리량이 병목인 터미널 에뮬레이터에서 가장 두드러집니다. Claude가 작업 중일 때 터미널 스크롤 위치가 맨 위로 점프하거나 도구 출력이 스트리밍될 때 화면이 깜빡인다면, 이 모드가 이를 해결합니다.
전체 화면이라는 용어는 Claude Code가 vim처럼 터미널의 그리기 표면을 차지하는 방식을 설명합니다. 터미널 창을 최대화하는 것과는 관계가 없으며 모든 창 크기에서 작동합니다.
전체 화면 렌더링 활성화
Claude Code를 시작할 때 CLAUDE_CODE_NO_FLICKER 환경 변수를 설정합니다:
CLAUDE_CODE_NO_FLICKER=1 claude
모든 세션에서 활성화하려면 ~/.zshrc 또는 ~/.bashrc와 같은 셸 프로필에서 변수를 내보냅니다:
export CLAUDE_CODE_NO_FLICKER=1
변경 사항
전체 화면 렌더링은 CLI가 터미널에 그리는 방식을 변경합니다. 입력 상자는 출력이 스트리밍될 때 이동하는 대신 화면 하단에 고정됩니다. Claude가 작업 중일 때 입력이 제자리에 있으면 전체 화면 렌더링이 활성화된 것입니다. 렌더 트리에는 표시되는 메시지만 유지되므로 대화 길이에 관계없이 메모리가 일정하게 유지됩니다.
대화가 터미널의 스크롤백 대신 대체 화면 버퍼에 있기 때문에 몇 가지가 다르게 작동합니다:
| 이전 | 현재 | 세부 정보 |
|---|
Cmd+f 또는 tmux 검색으로 텍스트 찾기 | Ctrl+o 다음 /로 검색하거나, Ctrl+o 다음 [로 대화를 기본 스크롤백에 작성하여 Cmd+f가 다시 작동하도록 함 | 대화 검색 및 검토 |
| 터미널의 기본 클릭 및 드래그로 선택 및 복사 | 앱 내 선택, 마우스 릴리스 시 자동 복사 | 마우스 사용 |
Cmd-클릭으로 URL 열기 | URL 클릭 | 마우스 사용 |
마우스 캡처가 워크플로우를 방해하는 경우 깜빡임 없는 렌더링을 유지하면서 이를 끌 수 있습니다.
마우스 사용
전체 화면 렌더링은 마우스 이벤트를 캡처하고 Claude Code 내에서 처리합니다:
- 프롬프트 입력에서 클릭하여 입력 중인 텍스트의 어디든지 커서를 배치합니다.
- 축소된 도구 결과를 클릭하여 확장하고 전체 출력을 봅니다. 다시 클릭하면 축소됩니다. 도구 호출과 그 결과가 함께 확장됩니다. 표시할 내용이 더 있는 메시지만 클릭 가능합니다.
- URL 또는 파일 경로를 클릭하여 엽니다. Edit 또는 Write 후 인쇄된 것과 같은 도구 출력의 파일 경로는 기본 애플리케이션에서 열립니다. 일반
http:// 및 https:// URL은 브라우저에서 열립니다. 대부분의 터미널에서 이는 마우스 캡처가 가로채는 기본 Cmd-클릭 또는 Ctrl-클릭을 대체합니다. VS Code 통합 터미널 및 유사한 xterm.js 기반 터미널에서는 Cmd-클릭을 계속 사용합니다. Claude Code는 링크가 두 번 열리는 것을 피하기 위해 터미널의 자체 링크 핸들러로 연기합니다.
- 클릭 및 드래그하여 대화의 어디든지 텍스트를 선택합니다. 더블 클릭하면 단어를 선택하며, iTerm2의 단어 경계와 일치하므로 파일 경로가 하나의 단위로 선택됩니다. 트리플 클릭하면 줄을 선택합니다.
- 마우스 휠로 스크롤하여 대화를 이동합니다.
선택된 텍스트는 마우스 릴리스 시 자동으로 클립보드에 복사됩니다. 이를 끄려면 /config에서 선택 시 복사를 토글합니다. 끄면 Ctrl+Shift+c를 눌러 수동으로 복사합니다. kitty, WezTerm, Ghostty, iTerm2와 같은 kitty 키보드 프로토콜을 지원하는 터미널에서는 Cmd+c도 작동합니다. 활성 선택이 있으면 Ctrl+c는 취소하는 대신 복사합니다.
대화 스크롤
전체 화면 렌더링은 앱 내에서 스크롤을 처리합니다. 다음 단축키를 사용하여 탐색합니다:
| 단축키 | 작업 |
|---|
PgUp / PgDn | 화면의 절반만큼 위 또는 아래로 스크롤 |
Ctrl+Home | 대화의 시작으로 이동 |
Ctrl+End | 최신 메시지로 이동하고 자동 팔로우 다시 활성화 |
| 마우스 휠 | 한 번에 몇 줄씩 스크롤 |
MacBook 키보드와 같이 전용 PgUp, PgDn, Home 또는 End 키가 없는 키보드에서는 화살표 키와 함께 Fn을 누릅니다: Fn+↑는 PgUp을 보내고, Fn+↓는 PgDn을 보내고, Fn+←는 Home을 보내고, Fn+→는 End를 보냅니다. 이렇게 하면 Ctrl+Fn+→가 맨 아래로 이동하는 단축키가 됩니다. 이것이 어색하게 느껴지면 마우스 휠로 맨 아래로 스크롤하여 팔로우를 재개하거나 scroll:bottom을 도달 가능한 것으로 다시 바인딩합니다.
위로 스크롤하면 자동 팔로우가 일시 중지되므로 새 출력이 사용자를 맨 아래로 끌어당기지 않습니다. Ctrl+End를 누르거나 맨 아래로 스크롤하여 팔로우를 재개합니다.
이러한 작업은 다시 바인딩할 수 있습니다. 키 바인딩을 참조하여 사용자 정의합니다. 작업 이름은 scroll:pageUp, scroll:pageDown, scroll:top, scroll:bottom입니다. 기본 바인딩이 없는 추가 작업에는 scroll:lineUp, scroll:lineDown, scroll:halfPageUp, scroll:halfPageDown, scroll:fullPageUp, scroll:fullPageDown이 포함됩니다.
휠 스크롤 속도 조정
마우스 휠 스크롤이 느리게 느껴지면 터미널이 배수 없이 물리적 노치당 하나의 스크롤 이벤트를 보낼 수 있습니다. Ghostty 및 더 빠른 스크롤이 활성화된 iTerm2와 같은 일부 터미널은 이미 휠 이벤트를 증폭합니다. VS Code 통합 터미널을 포함한 다른 터미널은 노치당 정확히 하나의 이벤트를 보냅니다. Claude Code는 어느 것인지 감지할 수 없습니다.
기본 스크롤 거리를 곱하려면 CLAUDE_CODE_SCROLL_SPEED를 설정합니다:
export CLAUDE_CODE_SCROLL_SPEED=3
3 값은 vim 및 유사한 애플리케이션의 기본값과 일치합니다. 설정은 1에서 20 사이의 값을 허용합니다.
대화 검색 및 검토
Ctrl+o를 눌러 트랜스크립트 모드로 들어갑니다. 전체 화면 렌더링이 활성화되면 트랜스크립트 모드는 less 스타일 탐색 및 검색을 얻습니다:
| 키 | 작업 |
|---|
/ | 검색을 엽니다. 입력하여 일치 항목을 찾고, Enter로 수락하고, Esc로 취소하고 스크롤 위치를 복원합니다 |
n / N | 다음 또는 이전 일치 항목으로 이동합니다. 검색 표시줄을 닫은 후 작동합니다 |
j / k 또는 ↑ / ↓ | 한 줄 스크롤 |
g / G 또는 Home / End | 맨 위 또는 맨 아래로 이동 |
Ctrl+u / Ctrl+d | 절반 페이지 스크롤 |
Ctrl+b / Ctrl+f 또는 Space / b | 전체 페이지 스크롤 |
Esc, q, 또는 Ctrl+o | 트랜스크립트 모드 종료 |
터미널의 Cmd+f와 tmux 검색은 대화가 기본 스크롤백이 아닌 대체 화면 버퍼에 있기 때문에 대화를 볼 수 없습니다. 콘텐츠를 터미널로 돌려주려면 먼저 Ctrl+o를 눌러 트랜스크립트 모드로 들어간 다음:
[: 모든 도구 출력이 확장된 전체 대화를 터미널의 기본 스크롤백 버퍼에 작성합니다. 대화는 이제 터미널의 일반 텍스트이므로 Cmd+f, tmux 복사 모드 및 기타 기본 도구가 검색하거나 선택할 수 있습니다. 긴 세션은 이 작업이 진행되는 동안 잠시 일시 중지될 수 있습니다. 이는 Esc 또는 q로 트랜스크립트 모드를 종료할 때까지 지속되며, 이는 전체 화면 렌더링으로 돌아갑니다. 다음 Ctrl+o는 새로 시작합니다.
v: 대화를 임시 파일에 작성하고 $VISUAL 또는 $EDITOR에서 엽니다.
Esc, q, 또는 Ctrl+o를 눌러 프롬프트로 돌아갑니다.
tmux와 함께 사용
전체 화면 렌더링은 tmux 내에서 작동하며 두 가지 주의 사항이 있습니다.
마우스 휠 스크롤에는 tmux의 마우스 모드가 필요합니다. ~/.tmux.conf가 아직 활성화하지 않은 경우 이 줄을 추가하고 구성을 다시 로드합니다:
마우스 모드가 없으면 휠 이벤트가 Claude Code 대신 tmux로 이동합니다. PgUp 및 PgDn을 사용한 키보드 스크롤은 어느 쪽이든 작동합니다. Claude Code는 마우스 모드가 꺼진 tmux를 감지하면 시작 시 일회성 힌트를 인쇄합니다.
전체 화면 렌더링은 iTerm2의 tmux 통합 모드와 호환되지 않습니다. 이는 tmux -CC로 들어가는 모드입니다. 통합 모드에서 iTerm2는 각 tmux 창을 tmux가 터미널에 그리도록 하는 대신 기본 분할로 렌더링합니다. 대체 화면 버퍼와 마우스 추적이 제대로 작동하지 않습니다: 마우스 휠이 작동하지 않고 더블 클릭이 터미널 상태를 손상시킬 수 있습니다. tmux -CC 세션에서 전체 화면 렌더링을 활성화하지 마십시오. -CC 없이 iTerm2 내부의 일반 tmux는 정상적으로 작동합니다.
기본 텍스트 선택 유지
마우스 캡처는 가장 일반적인 마찰 지점이며, 특히 SSH 또는 tmux 내에서 그렇습니다. Claude Code가 마우스 이벤트를 캡처하면 터미널의 기본 선택 시 복사가 작동하지 않습니다. 클릭 및 드래그로 만든 선택은 Claude Code 내부에 있으므로 tmux 복사 모드, Kitty 힌트 및 유사한 도구가 이를 볼 수 없습니다.
Claude Code는 선택을 클립보드에 작성하려고 시도하지만 사용하는 경로는 설정에 따라 다릅니다. tmux 내에서는 tmux 붙여넣기 버퍼에 작성합니다. SSH를 통해서는 일부 터미널이 기본적으로 차단하는 OSC 52 이스케이프 시퀀스로 폴백합니다. Claude Code는 각 복사 후 사용한 경로를 알려주는 토스트를 인쇄합니다.
터미널의 기본 선택에 의존하는 경우 CLAUDE_CODE_DISABLE_MOUSE=1을 설정하여 깜빡임 없는 렌더링과 평면 메모리를 유지하면서 마우스 캡처를 거부합니다:
CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude
마우스 캡처가 비활성화되면 PgUp, PgDn, Ctrl+Home, Ctrl+End를 사용한 키보드 스크롤이 여전히 작동하고 터미널이 기본적으로 선택을 처리합니다. 클릭하여 커서 위치 지정, 클릭하여 도구 출력 확장, URL 클릭, Claude Code 내에서 휠 스크롤을 잃습니다.
연구 미리보기
전체 화면 렌더링은 연구 미리보기 기능입니다. 일반적인 터미널 에뮬레이터에서 테스트되었지만 덜 일반적인 터미널이나 비정상적인 구성에서 렌더링 문제가 발생할 수 있습니다.
문제가 발생하면 Claude Code 내에서 /feedback을 실행하여 보고하거나 claude-code GitHub 저장소에서 문제를 엽니다. 터미널 에뮬레이터 이름과 버전을 포함합니다.
전체 화면 렌더링을 끄려면 환경 변수를 설정 해제하거나 CLAUDE_CODE_NO_FLICKER=0으로 설정합니다.