상태표시줄 — 화면 아래 늘 보이는 정보 줄
지금 어떤 모델을 쓰는지, 기억 그릇(클로드가 한 번에 기억할 수 있는 양)을 얼마나 채웠는지, 이 세션에 돈이 얼마나 들었는지를 화면 맨 아래 늘 떠 있는 한 줄로 확인하는 기능입니다. /statusline에 원하는 것을 말로 적기만 하면 만들어집니다. 이 정보 줄을 굳이 켜 두는 이유는 AI가 한 번에 담는 양에 한도가 있기 때문입니다. 그 한도가 어디서 오는지는 「AI는 왜 어제 일을 잊을까요」 페이지에서 설명합니다.
상태표시줄이란
상태표시줄(status line)은 클로드 코드 화면 맨 아래에 늘 떠 있는 정보 줄입니다. 자동차 계기판과 비슷합니다. 작업 중에 고개를 돌리지 않고도 지금 상태를 확인합니다. 입력창 아래에 자기 줄을 따로 차지하는 방식이라, 맨 아래에 원래 뜨던 작은 표시(배지)는 그대로 남습니다. 다만 켜 두면 맨 아래 단축키 안내(esc to interrupt 등)는 대부분 사라집니다.
다음과 같을 때 특히 쓸모 있습니다.
- 그릇 사용률 감시 — 기억 그릇을 몇 퍼센트 썼는지 계속 지켜보고 싶을 때. 그릇이 차기 전에 세션을 정리할 때를 알려 줍니다.
- 비용 추적 — 이 세션에 든 비용을 실시간으로 보고 싶을 때.
- 세션 구별 — 여러 세션(대화창을 열어 일하고 닫기까지)을 동시에 열어 두고 어느 창이 어느 일인지 구별하고 싶을 때.
- 깃 상태 — 깃(파일이 바뀐 기록을 남기는 도구)의 브랜치와 변경 상태를 늘 보고 싶을 때. 브랜치는 원본을 건드리지 않고 따로 이어 가는 작업 줄기입니다.
우리 회사도 긴 작업일수록 그릇 사용률부터 봅니다. 그릇이 차오르기 전에 정리해야 대화 품질이 유지되기 때문입니다.
done 6:05 PM처럼 완료 시각이 붙습니다. 자리를 비웠다 돌아와 언제 끝났는지 확인할 때 쓸모 있습니다. 12시간제·24시간제는 설정 timeFormat으로 바꿉니다.
가장 쉬운 방법 — 말로 만듭니다
스크립트(명령을 미리 적어 둔 짧은 파일)를 쓸 줄 몰라도 됩니다. /statusline 명령어에 원하는 표시 내용을 말로 적으면, 클로드 코드가 알아서 스크립트를 만들고 설정까지 고쳐 줍니다.
# 클로드 코드 입력창에 — 공식 안내의 예시 /statusline show model name and context percentage with a progress bar # 우리말로 적어도 알아듣습니다 /statusline 모델 이름과 컨텍스트 사용률을 막대 그래프로 보여 줘
나중에 없애고 싶으면 같은 명령어에 지워 달라고 적으면 됩니다.
/statusline delete
/statusline에 더할 항목을 적어 하나씩 늘리면 됩니다.
무엇을 보여 줄 수 있을까요
클로드 코드가 스크립트에 넘겨주는 정보는 꽤 많습니다. 대표적인 것만 추리면 다음과 같고, 이 중 필요한 것만 골라 쓰면 됩니다.
| 종류 | 담긴 정보 |
|---|---|
| 모델 | 지금 쓰는 모델의 이름 |
| 작업 위치 | 현재 폴더, 프로젝트 폴더, 깃 저장소 이름 |
| 기억 그릇(컨텍스트) | 그릇을 몇 퍼센트 썼는지, 남은 비율 |
| 비용·시간 | 이 세션의 예상 비용(달러), 걸린 시간, 고친 줄 수 |
| 사용 한도 | 구독(Pro/Max) 사용자의 5시간·7일 사용률 |
| 세션 | 세션 고유 번호, --name으로 붙인 이름 |
| 기타 | 현재 Vim 모드(글 편집 방식), 열려 있는 풀 리퀘스트(고친 내용을 합쳐 달라고 올리는 요청) 번호, 출력 스타일 이름 등 |
조합하면 여러 모양이 나옵니다. 공식 안내가 보여 주는 완성 예시는 이렇습니다.
- 사용률 막대 — 그릇 사용률을 ▓░░░░ 같은 막대로 그려 한눈에 보이게 합니다.
- 색으로 구분한 깃 상태 — 브랜치 이름 옆에 대기 중인 변경(초록)과 수정 중인 파일(노랑)을 색으로 표시합니다.
- 비용·시간 추적 — 세션 비용과 경과 시간을 함께 보여 줍니다.
- 여러 줄 표시 — 스크립트가 여러 줄을 내보내면 상태표시줄도 여러 줄이 됩니다. 위 줄에 위치·브랜치, 아래 줄에 사용률 막대를 두는 식입니다.
- 클릭되는 링크 — 저장소 주소를 눌러서 열 수 있게 만듭니다. iTerm2, Kitty, WezTerm처럼 링크를 지원하는 터미널에서만 됩니다.
어떻게 작동할까요
원리는 간단합니다. 내가 지정한 짧은 스크립트를 클로드 코드가 대신 실행하고, 그 스크립트가 내보내는 글을 화면 아래에 그대로 보여 줍니다.
클로드 코드가 현재 세션 정보를 한 덩어리 데이터로 스크립트에 넘겨줍니다 → 스크립트가 그중 필요한 값만 골라 글로 내보냅니다 → 클로드 코드가 그 글을 화면 아래에 표시합니다.
스크립트는 몇 가지 순간에 자동으로 다시 실행됩니다. 클로드가 새 답을 마쳤을 때, /compact로 대화를 압축했을 때, 권한 모드가 바뀌었을 때 등입니다. 시계처럼 시간에 따라 바뀌는 값을 띄우고 싶다면, 설정에 refreshInterval을 넣어 몇 초마다 한 번씩 새로 고치게 할 수 있습니다.
직접 설정하기(선택)
말로 만드는 것으로 충분하지만, 원리를 알고 직접 설정하고 싶다면 설정 파일 ~/.claude/settings.json에 statusLine 항목을 넣습니다. type을 “command”로 두고, command에 실행할 스크립트 경로를 적습니다.
# ~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}스크립트 자체는 터미널이 알아듣는 짧은 명령 모음입니다. 클로드 코드가 넘겨준 데이터를 받는 것으로 시작합니다. 그다음 jq라는 작은 도구(데이터에서 필요한 값만 뽑아 주는 프로그램)로 모델 이름·폴더·그릇 사용률 같은 값을 골라 한 줄로 출력합니다. jq가 없으면 따로 설치해야 하는데, 이것도 클로드에게 “jq 깔아 줘”라고 시키십시오. 전체 예시는 공식 안내에 있고, 여기서는 구조만 알면 됩니다. 어차피 /statusline에 말로 시키면 이 스크립트를 클로드가 대신 써 줍니다.
스크립트를 저장했다면 실행할 수 있게 권한을 주는 한 줄만 기억하면 됩니다.
# 스크립트를 실행 가능한 파일로 표시
chmod +x ~/.claude/statusline.sh문제가 생길 때
먼저 클로드에게 말로 시키는 방법이 있습니다. “상태표시줄이 안 보여. 원인을 찾아서 고쳐 줘”라고 적으면 아래 점검을 대신 해 줍니다. 직접 점검한다면 아래 순서로 확인합니다.
- 아무것도 안 보임 — 스크립트에 실행 권한을 줬는지(chmod +x) 확인합니다. 결과를 화면(stdout)에 글자로 내보내는지도 확인합니다. 스크립트를 직접 한번 돌려 보아 글이 나오는지 봅니다.
- 줄에 짧은 줄표(--)나 빈 값만 보임 — 첫 응답 전에는 일부 값이 아직 비어 있을 수 있습니다. 스크립트에서 값이 비었을 때 대신 쓸 값을 정해 둡니다. jq에서는
// 0처럼 적습니다. - 줄이 계속 비어 있음 — 상태표시줄은 터미널 명령어를 실행합니다. 그래서 지금 폴더를 믿어도 되는지 묻는 창(trust)을 수락해야 작동합니다. 수락하지 않았으면 줄이 빈 채로 있고,
claude --debug기록에 “Status line command skipped: workspace trust not accepted”가 남습니다. 클로드 코드를 다시 켜고 그 창을 수락합니다. - 원인을 못 찾겠음 —
claude --debug로 실행하면 스크립트가 왜 실패했는지 기록이 남습니다.
만든 스크립트를 실제 등록 전에 시험해 보고 싶다면, 가짜 데이터를 넣어 결과만 확인할 수 있습니다.
# 가짜 입력으로 스크립트가 잘 도는지 미리 시험
echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh/compact로 대화를 압축했을 때, 권한 모드가 바뀌었을 때입니다. 그래서 내가 화면을 들여다보며 가만히 있는 동안에는 숫자가 멈춘 것처럼 보입니다.지금 해 볼 것 — 아무 지시나 하나 넣어 답을 받아 보십시오. 그 순간 숫자가 움직이면 정상입니다. 시간처럼 흐르는 값을 띄우고 싶다면 새로 고침 주기를 정하십시오. “상태표시줄을 몇 초마다 새로 고치게
refreshInterval을 설정해 줘”라고 시키면 클로드가 설정 파일을 고쳐 줍니다.그래도 안 되면 — 숫자 자체가 믿기 어려울 때는
/context와 /usage로 대조해 봅니다. /context의 합계는 마지막 답 뒤에 들어온 메시지까지 세므로 상태표시줄보다 크게 나올 수 있고, 그만큼의 차이는 고장이 아닙니다. 그래도 어긋나면 「이럴 때는? — 먼저 알아 둘 응급 명령 다섯 가지」 항목의 순서대로 해 보십시오.
이 페이지는 Claude Code v2.1.216을 기준으로 썼습니다. 최신 사항은 공식 안내에서 확인하십시오.