구성
상태 표시줄 구성
Claude Code에서 상황별 정보를 표시하는 사용자 정의 상태 표시줄을 만들어보세요
Claude Code 인터페이스 하단에 표시되는 사용자 정의 상태 표시줄로 Claude Code를 자신만의 것으로 만들어보세요. 이는 Oh-my-zsh와 같은 셸에서 터미널 프롬프트(PS1)가 작동하는 방식과 유사합니다.
사용자 정의 상태 표시줄 만들기
다음 중 하나를 선택할 수 있습니다:
-
/statusline
을 실행하여 Claude Code가 사용자 정의 상태 표시줄 설정을 도와달라고 요청하세요. 기본적으로 터미널의 프롬프트를 재현하려고 시도하지만,/statusline show the model name in orange
와 같이 Claude Code에 원하는 동작에 대한 추가 지침을 제공할 수 있습니다. -
.claude/settings.json
에 직접statusLine
명령을 추가하세요:
작동 방식
- 상태 표시줄은 대화 메시지가 업데이트될 때 업데이트됩니다
- 업데이트는 최대 300ms마다 실행됩니다
- 명령의 stdout 첫 번째 줄이 상태 표시줄 텍스트가 됩니다
- 상태 표시줄 스타일링을 위해 ANSI 색상 코드가 지원됩니다
- Claude Code는 현재 세션(모델, 디렉토리 등)에 대한 상황별 정보를 JSON으로 stdin을 통해 스크립트에 전달합니다
JSON 입력 구조
상태 표시줄 명령은 stdin을 통해 JSON 형식으로 구조화된 데이터를 받습니다:
예제 스크립트
간단한 상태 표시줄
Git 인식 상태 표시줄
Python 예제
Node.js 예제
헬퍼 함수 접근법
더 복잡한 bash 스크립트의 경우 헬퍼 함수를 만들 수 있습니다:
팁
- 상태 표시줄을 간결하게 유지하세요 - 한 줄에 맞아야 합니다
- 정보를 스캔하기 쉽게 만들기 위해 이모지(터미널이 지원하는 경우)와 색상을 사용하세요
- Bash에서 JSON 파싱을 위해
jq
를 사용하세요 (위 예제 참조) - 모의 JSON 입력으로 스크립트를 수동으로 실행하여 테스트하세요:
echo '{"model":{"display_name":"Test"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh
- 필요한 경우 비용이 많이 드는 작업(git status 등)을 캐싱하는 것을 고려하세요
문제 해결
- 상태 표시줄이 나타나지 않으면 스크립트가 실행 가능한지 확인하세요 (
chmod +x
) - 스크립트가 stdout으로 출력하는지 확인하세요 (stderr이 아닌)