Cmd. /statusline
Claude Code 하단 상태줄(status line)을 자연어 지시로 구성하거나 자동 설정하는 명령
핵심 요약
- status line 생성·설정
- 입력 위치·지원 조건을 확인한 뒤 아래 실행 예를 사용합니다.
역할
status line 생성·설정
/statusline사용 조건
| 항목 | 기준 |
|---|---|
| 입력 위치 | 실행 중인 CLI의 입력창 |
| 종류 | 내장 명령 |
| 상태 | 현재 공식 표 |
| 별칭 | — |
| 공식 최소 버전 | 명시되지 않음 |
| 검증 기준 | 2026-09-22 · Claude Code 2.1.278 |
설치본의 명령 메뉴와 계정·조직 설정에 따라 사용할 수 있는 항목이 달라집니다.
사용 예
/statusline# 자연어로 원하는 표시 내용 설명 → 스크립트 자동 생성 + settings.json 자동 갱신
/statusline show model name and context percentage with a progress bar
# 인수 없이 실행 → 셸 프롬프트 기반 자동 구성
/statusline
# 제거/초기화 요청
/statusline delete
/statusline clear
/statusline remove itsettings.json 수동 구성
/statusline이 자동 생성하는 설정은 다음 형태입니다. ~/.claude/settings.json(사용자 설정) 또는 프로젝트 설정에 직접 작성할 수도 있습니다.
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"padding": 2
}
}type:"command"으로 설정.command: 스크립트 경로 또는 인라인 셸 명령. 셸에서 실행되므로jq등을 이용한 인라인 명령도 사용 가능.padding(선택): 상태줄 내용에 추가할 수평 여백(문자 단위). 기본값0.refreshInterval(선택): N초마다 명령을 다시 실행(이벤트 기반 갱신에 더해). 최소값1. 시계 등 시간 기반 데이터나 idle 상태에서 git이 바뀌는 경우 유용.hideVimModeIndicator(선택): 스크립트가 직접vim.mode를 렌더링할 때 내장-- INSERT --표시를 숨김.
갱신 시점
스크립트는 새 어시스턴트 메시지 이후, /compact 완료 후, 권한 모드 변경 시, vim 모드 토글 시 실행됩니다. 갱신은 300ms 디바운스되며, 실행 중 새 갱신이 트리거되면 진행 중인 실행은 취소됩니다.
선택 시점
- 모델 이름과 컨텍스트 사용률을 진행 막대로 표시
- git 브랜치/스테이징 상태를 색상으로 구분 표시
- 세션 비용(
cost.total_cost_usd)과 소요 시간 추적 - Claude.ai 구독자의 rate limit 사용량 표시(아래 활용 사례 참고)
관련 명령 선택
| 명령어 | 차이점 | 언제 선택 |
|---|---|---|
/statusline | 하단 상태줄 스크립트 구성/자동 생성 | 상시 표시 정보를 커스터마이즈 |
/status | Settings(Status 탭) 열기 — 버전·모델·계정·연결 확인 | 즉시 상태 정보 조회 |
/context | 현재 컨텍스트 창 사용 내역 시각화 | 컨텍스트 점유 분석 |
/config | 전역 설정 조정 | 일반 설정 관리 |
실행 결과와 유지 범위
표시할 상태 정보와 상태줄 구성을 바꿉니다. 실제 모델이나 권한 정책을 바꾸는 명령은 아닙니다.
/statusline은 Claude Code의 상태줄(status line) 을 구성하는 명령입니다. 상태줄은 화면 하단에 놓이는 커스터마이즈 가능한 막대입니다. 사용자가 지정한 셸 스크립트를 실행해 컨텍스트 사용량, 비용, git 상태 같은 정보를 항상 띄워 둡니다.
공식 설명(원문): "Configure Claude Code's status line. Describe what you want, or run without arguments to auto-configure from your shell prompt."
동작 방식은 두 가지입니다.
- 자연어 지시 전달:
/statusline뒤에 원하는 표시 내용을 자연어로 설명하면, Claude Code가~/.claude/에 스크립트 파일을 만들고settings.json의statusLine필드를 자동으로 업데이트합니다. - 인수 없이 실행: 인수 없이
/statusline만 실행하면 사용자의 셸 프롬프트(shell prompt)를 보고 상태줄을 자동 구성합니다.
상태줄은 로컬에서 돌아가며 API 토큰을 쓰지 않습니다. Claude Code가 표준 입력(stdin)으로 JSON 세션 데이터를 스크립트에 넘기면, 스크립트가 표준 출력(stdout)으로 내보낸 텍스트가 그대로 표시됩니다.
주의사항
- 상태줄은
/status와 다릅니다./status는 Settings 창(Status 탭)을 열어 버전·모델·계정·연결 정보를 조회하는 명령이고,/statusline은 하단 상태줄을 직접 구성하는 명령입니다. - 출력은 짧게 유지하세요. 상태바 폭이 제한적이라 긴 출력은 잘리거나 어색하게 줄바꿈됩니다.
- 스크립트는 활성 세션에서 자주 실행되므로
git status같은 느린 명령은 캐싱(예:/tmp/statusline-git-cache-<session_id>)을 권장합니다. - 스크립트는 반드시 stdout으로 출력해야 하며(stderr 아님), 실행 권한이 필요합니다(
chmod +x ~/.claude/statusline.sh). - Claude Code가 스크립트 출력을 캡처하므로
tput cols등으로 터미널 폭을 읽을 수 없습니다. v2.1.153부터는COLUMNS/LINES환경변수를 사용하세요. - 제거하려면
/statusline에 삭제를 요청하거나settings.json의statusLine필드를 수동으로 지웁니다.
공식 근거
전체 명령 목록 · 검증 범위 · 이 명령의 변경 기록