강연·도입 문의

상태표시줄 — 화면 아래 늘 보이는 정보 줄

기능 사전 책 12장 보기 → 직접 확인 2026-07-21(v2.1.216) · 업데이트 내역 확인 2026-10-08(v2.1.293)

지금 어떤 모델을 쓰는지, 기억 그릇(클로드가 한 번에 기억할 수 있는 양)을 얼마나 채웠는지, 이 세션에 돈이 얼마나 들었는지를 화면 맨 아래 늘 떠 있는 한 줄로 확인하는 기능입니다. /statusline에 원하는 것을 말로 적기만 하면 만들어집니다. 이 정보 줄을 굳이 켜 두는 이유는 AI가 한 번에 담는 양에 한도가 있기 때문입니다. 그 한도가 어디서 오는지는 「AI는 왜 어제 일을 잊을까요」 페이지에서 설명합니다.

상태표시줄이란

상태표시줄(status line)은 클로드 코드 화면 맨 아래에 늘 떠 있는 정보 줄입니다. 자동차 계기판과 비슷합니다. 작업 중에 고개를 돌리지 않고도 지금 상태를 확인합니다. 입력창 아래에 자기 줄을 따로 차지하는 방식이라, 맨 아래에 원래 뜨던 작은 표시(배지)는 그대로 남습니다. 다만 켜 두면 맨 아래 단축키 안내(esc to interrupt 등)는 대부분 사라집니다.

클로드 코드 화면 맨 아래 상태표시줄. 기억 그릇 사용률 59퍼센트, 이번 세션 사용량 4퍼센트, 주간 사용량 1퍼센트가 막대와 함께 한 줄로 떠 있다
실제 상태표시줄(화면 맨 아래 한 줄) — 기억 그릇(컨텍스트) 사용률·이번 세션 사용량·주간 사용량이 막대로 떠 있습니다. 무엇을 표시할지는 말로 정할 수 있습니다.

다음과 같을 때 특히 쓸모 있습니다.

  • 그릇 사용률 감시 — 기억 그릇을 몇 퍼센트 썼는지 계속 지켜보고 싶을 때. 그릇이 차기 전에 세션을 정리할 때를 알려 줍니다.
  • 비용 추적 — 이 세션에 든 비용을 실시간으로 보고 싶을 때.
  • 세션 구별 — 여러 세션(대화창을 열어 일하고 닫기까지)을 동시에 열어 두고 어느 창이 어느 일인지 구별하고 싶을 때.
  • 깃 상태 — 깃(파일이 바뀐 기록을 남기는 도구)의 브랜치와 변경 상태를 늘 보고 싶을 때. 브랜치는 원본을 건드리지 않고 따로 이어 가는 작업 줄기입니다.

우리 회사도 긴 작업일수록 그릇 사용률부터 봅니다. 그릇이 차오르기 전에 정리해야 대화 품질이 유지되기 때문입니다.

덤 — 답이 끝날 때 찍히는 시각 상태표시줄과 별개로, 클로드가 답을 마칠 때마다 걸린 시간 옆에 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을 넣어 몇 초마다 한 번씩 새로 고치게 할 수 있습니다.

요령 이 스크립트는 내 컴퓨터에서만 돌아가고 토큰(AI가 글을 세는 단위)을 쓰지 않습니다. 추가 비용이 없으니 부담 없이 켜 두면 됩니다.

직접 설정하기(선택)

말로 만드는 것으로 충분하지만, 원리를 알고 직접 설정하고 싶다면 설정 파일 ~/.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을 기준으로 썼습니다. 최신 사항은 공식 안내에서 확인하십시오.

참고한 자료 — 클로드 코드 공식 안내의 “상태표시줄” 항목(터미널 설정 장). 이 페이지는 우리 회사가 실제로 일하며 쓰는 방식을 적은 것이며, 위에 적힌 날짜에 공식 안내와 맞춰 보았습니다.