이 mod 소개
overalls
프롬프트 위에 상태 표시줄을 그리는 Claude Code mod입니다. 컨텍스트 창의 실시간 "일기 예보", 사용 한도 소비량, Ponytail과 Caveman의 실행 수준을 보여 줍니다.

컨텍스트가 75%를 넘고 Claude가 턴을 실행 중이 아니면 Compact 버튼이 표시됩니다.
위젯이 한 행에 들어가지 않으면 통째로 두 번째 행으로 넘어가며, Compact와 **⚙**는 첫 행 오른쪽에 남습니다.
설치
Claude Code 터미널에서:
/plugin marketplace add Troepster/overalls
/plugin install overalls@overalls
/reload-plugins
또는 어떤 셸에서든 실행할 수 있으며 데스크톱 앱도 지원합니다(새 세션에서 적용):
claude plugin marketplace add Troepster/overalls
claude plugin install overalls@overalls
표시줄이 나타나지 않으면 새 세션을 시작하거나 Claude Code를 다시 시작하세요.
업데이트: Claude Code에서 /plugin marketplace update overalls를 실행하거나 셸에서:
claude plugin marketplace update overalls
claude plugin update overalls@overalls
Ponytail과 Caveman은 선택 사항입니다. Caveman이 없으면 해당 위젯이 표시되지 않고, Ponytail이 없으면 off로 설정할 때까지 not installed를 표시합니다. 어느 경우든 ⚙ Config 상자에서 설치를 제안합니다.
mod는 Claude Code 내부에서 같은 접근 권한으로 실행되므로 설치 전에 hooks/register.tsx를 읽으세요.
설정
각 설정은 Claude Code 설정 메뉴의 overalls 아래에 행으로 표시되며 변경하면 mod가 다시 로드됩니다. /overalls 명령으로 프롬프트에서 설정할 수 있고, /config가 없는 데스크톱 앱에서도 작동합니다:
/overalls weather minimal
/overalls ponytail off
/overalls (shows the current values)

표시줄 오른쪽의 **⚙**를 누르면 위에 Config 상자가 열려 모든 설정의 선택지를 표시하고 현재 항목에 체크합니다. 항목을 누르면 바로 설정되어 표시줄의 변화를 볼 수 있습니다. **⚙**를 다시 누르면 닫힙니다. Config 상자에서 설정 이름에 마우스를 올리면 한 줄 설명이 표시됩니다.
예보 자체(Showers 또는 minimal의 67%)를 누르면 날씨 상세도가 minimal → normal → full 순으로 반복됩니다. off는 Config 상자에서 설정합니다.
mod에 /config 행이 있으면(터미널) /overalls가 그 행을 설정합니다. 없으면(데스크톱 앱) mod 자체 저장소에 선택을 보관하고, 모든 세션에서 /config 값보다 우선합니다. 해당 행이 있는 세션에서 /overalls로 같은 설정을 지정할 때까지 이 우선순위가 유지됩니다.
| 설정 | 값 | 기본값 | 기능 |
|---|---|---|---|
| 날씨 상세도 | off · minimal · normal · full(입력값, 다른 값은 full) | full | 예보 표시량 |
| Ponytail 수준 | off · icon · text(입력값, 다른 값은 icon, 기존 on/off 값은 icon/off) | icon | 로고 또는 ponytail: 뒤에 설치 여부와 수준 표시 |
| Caveman 모드 | off · icon · text(입력값, 다른 값은 icon) | icon | 설치된 경우 🪨 또는 caveman: 뒤에 모드 표시 |
| megacave 제공 | on · off | off | Caveman의 한문 모드(megacave)를 드롭다운에 추가. Config 상자에서는 Caveman과 같은 행 |
| 사용 한도 | on · off | on | 5시간·주간 한도의 소비량 표시(구독만 해당) |
| 한도 초기화 | on · off | on | 각 한도 초기화까지 남은 시간(5h 42% ↻1h20m) 표시. Config 상자에서는 Limits와 같은 행 |
| 한도 소진 | off · warn · always(입력값, 다른 값은 warn) | warn | 최근 한 시간 속도로 초기화 전에 한도를 소진할 경우 경고. ⚠1h40m는 황색, 30분 미만은 빨간색. always는 버틸 수 있는 한도에 ✓ lasts도 표시. 먼저 10분 샘플과 2퍼센트포인트 변화가 필요. 각 한도 뒤에 표시하며 한도 표시를 끄면 단독 표시(5h ⚠1h40m) |
| 세션 비용 | on · off | off | 현재까지 세션 비용 표시 |
| MCP 경고 | on · off | on | MCP 서버 또는 커넥터 실패나 재로그인 필요 시 경고 |
| 실행 중 에이전트 | on · off | on | 하위 에이전트 실행 중 ⧗ 2 agents 표시. 누르면 유형과 작업 목록 표시 |
| 남은 턴 | on · off | on | ⌛ ~6 turns 표시. 증가한 최근 다섯 턴의 평균 증가량으로 더 들어갈 턴 수 추정(3부터 빨간색) |
| 도구 거부 | on · off | on | 사용자, 훅, 권한 규칙 또는 자동 모드 분류기가 거부한 호출을 ⛔ 2 denied로 표시. 누르면 목록과 Dismiss 표시 |
날씨 수준별 표시 내용:
| 수준 | 표시줄 |
|---|---|
| minimal | ☂ 67% |
| normal | ☂ Showers 67% · 134.4k / 200k |
| full | normal에 최근 12턴 스파크라인과 이전 턴 이후 변화 추가 |
| off | 표시 없음(Ponytail을 켜면 해당 영역은 계속 표시) |
Ponytail 감지
<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/ponytail-logo-dark.png"> <img src="assets/ponytail-logo.png" width="110" alt="Ponytail, the lazy senior dev"> </picture>- 설치됨:
enabledPlugins에 활성화된ponytail@…항목이 있어야 합니다. 아니면 로고 옆에not installed를 표시합니다. - 수준: 현재 세션의 수준입니다. Ponytail은 모든 세션에 하나의 수준 파일을 사용하므로 이 세션의 수준을 알 수 없습니다. Overalls는 Ponytail 규칙에 따라 세션별로 추적합니다:
- 새 세션과 압축 후(Ponytail이 새로 활성화됨)에는 Ponytail 기본값으로 시작합니다.
$PONYTAIL_DEFAULT_MODE, 다음으로config.json($XDG_CONFIG_HOME/ponytail/또는~/.config/ponytail/)의defaultMode, 마지막으로full순입니다. /ponytail <level>(또는/ponytail:ponytail <level>),/ponytail-review,stop ponytail,normal mode가 입력되면 변경합니다. 다른 세션의 전환은 이 표시줄을 바꾸지 않습니다.
- 새 세션과 압축 후(Ponytail이 새로 활성화됨)에는 Ponytail 기본값으로 시작합니다.
- 전환: 수준이 표시되는 드롭다운에서 선택하면 Ponytail 자체
/ponytail <level>명령으로 전환합니다. 드롭다운이 없는 모바일에서는 누를 때마다 ultra → full → lite → off로 바뀝니다.
Ponytail 또는 Caveman 설치
둘 중 설치되지 않은 항목은 ⚙ Config 상자의 해당 행에 Install 버튼이 표시됩니다. mod는 플러그인을 설치할 수 없으므로 프롬프트 입력란에 요청을 입력합니다. 예:
Install the caveman Claude Code plugin: run `claude plugin marketplace add JuliusBrussee/caveman` then `claude plugin install caveman@caveman`.
보내면 Claude가 두 명령을 실행하며 각각 일반적인 권한 확인을 거칩니다. 플러그인 훅은 다음 세션부터 시작합니다.
Caveman
- 설치됨:
enabledPlugins에 활성화된caveman@…항목이 있어야 합니다. 아니면 아무것도 표시하지 않습니다. - 모드: 현재 세션의 모드입니다. Caveman은 Claude 설정 디렉터리의
.caveman-sessions/<session id>.mode에 각 세션의 모드를 저장하므로 표시줄이 이를 읽습니다. 자체 파일이 없는 세션(Caveman 설치 전에 시작)은off로 표시합니다. 어떤 창에서든 마지막으로 설정한 모드를 담는 공유 파일.caveman-active는 세션 id가 없을 때만 읽습니다. - 전환: 드롭다운에서 선택하여 Caveman 자체
/megacave,/ultracave,/caveman,/caveman off명령으로 전환합니다. 선택지는 ultracave, caveman, off이며, Offer megacave를 켜면 한문으로 답하는 megacave도 포함합니다. 모바일에서는 누를 때마다 순서대로 바뀝니다.
MCP 경고
Claude Code는 mod에 MCP 서버 목록이나 상태를 제공하지 않으므로 표시줄이 Claude 자체 도구 호출로 문제를 파악합니다:
- 로그인 또는 연결에 실패한
mcp__<server>__…호출(잘못된 인수 오류는 제외), 그리고 - ToolSearch가 실패했다고 보고한 서버.
표시줄에 ⚠ 2 MCP errors가 나타납니다. 누르면 위에 MCP errors 상자가 열립니다(Config 상자처럼 한 번에 하나만 열림). 서버마다 이름, sign in 또는 failed, Claude가 본 오류를 한 행에 표시하고 다음 항목을 제공합니다:
- Reconnect: claude.ai 커넥터는 Customize → Connectors를 엽니다. 데스크톱에서는 앱 자체에서
claude://claude.ai/customize/connectors를 열고, CLI나 웹에서는https://claude.ai/customize/connectors를 엽니다. 다른 서버는 터미널의/mcp를 사용합니다. 데스크톱의/mcp는 서버 목록만 표시하므로 터미널 세션에서 로그인하라고 안내합니다. - Dismiss 및 Dismiss all
서버는 다음 호출이 성공하거나 해제하면 목록에서 사라집니다. 첫 실패에 감지하며 그전에 감지하지는 않습니다.
데이터 및 접근
Overalls는 네트워크 요청을 보내거나 외부로 데이터를 전송하지 않습니다. 모든 동작은 Claude Code 세션 안에서 이루어집니다:
- 각 턴 후 세션의 컨텍스트 창 사용량(
$.session.usage())을 읽습니다 - Claude Code 설정을 읽어 Ponytail 활성화 여부를 확인합니다
- 해당 위젯을 켜면 세션의 사용 한도 비율, 초기화 시간, 비용(
$.session.usage())과 초기화 카운트다운용 시계를 읽습니다 - 에이전트 위젯을 켜면 하위 에이전트 목록(
$.agent.list(): 유형, 작업, 상태)을 읽습니다 - 30초마다 표시줄을 다시 그려 카운트다운과 에이전트 수를 갱신합니다. 매번 사용 한도 비율(
$.session.usage())을 기록하고 최근 한 시간 데이터를 세션 메모리에 보관하여 소진 시점을 추정합니다 - Claude Code 설정으로 Caveman 활성화 여부를 확인합니다. 활성화되면 세션 id와 Claude 설정 디렉터리의
.caveman-sessions/<session id>.mode를 읽습니다(id가 없으면.caveman-active) - Ponytail의 기본 수준을 위해
config.json과PONYTAIL_DEFAULT_MODE,XDG_CONFIG_HOME,CLAUDE_CONFIG_DIR,HOME환경 변수를 읽습니다 - 제출한 각 프롬프트에서 Ponytail 명령(
/ponytail …,stop ponytail,normal mode)만 감지하며 수준 외에는 보관하지 않습니다 - 최근 12회 측정값과 Ponytail 수준을 세션 상태에 보관하며 세션 종료 시 사라집니다
- 표시줄에서 선택할 때만 Ponytail 수준 또는 Caveman 모드를 전환합니다. 사용자가 입력한 것처럼
/ponytail <level>이나 해당 Caveman 모드 명령을 실행하며 Claude도 사용자 입력처럼 읽습니다. 실행할 수 없으면 프롬프트 입력란에 입력합니다 - Config 상자의 Install을 누를 때만 설치 요청을 프롬프트에 입력합니다. 보내고 Claude 명령을 승인하지 않으면 설치하지 않습니다
- Claude가 호출하는 각 도구 이름을 읽습니다. 사용자, 훅, 권한 규칙 또는 자동 모드 분류기가 거부하면 도구 이름과 사유의 첫 100자를 세션 상태에 해제할 때까지 보관합니다
- 각 MCP 도구 이름, 실패 시 오류 텍스트, ToolSearch가 반환한 실패 서버 목록을 읽습니다. 실패 서버 이름, 로그인 필요 또는 실패 상태, 오류의 첫 100자만 보관합니다. 터미널에서 Reconnect를 누를 때만
/mcp를 실행합니다 - MCP errors 상자가 열려 있는 동안
CLAUDE_CODE_ENTRYPOINT를 읽어 데스크톱과 CLI·웹을 구분합니다. 데스크톱에서 커넥터의 Reconnect를 누르면claude://claude.ai/customize/connectors를 시스템 실행 도구(macOS의open, Linux의xdg-open, Windows의cmd /c start)에 전달하여 앱 내부에서 페이지를 엽니다 - Compact 버튼을 누를 때만 대화를 압축합니다. Claude Code가 플러그인 압축을 허용하지 않으면(데스크톱)
/compact를 실행하거나, 실행할 수 없으면 프롬프트 입력란에 입력합니다 /overalls weather …,/overalls ponytail …등의 명령을 실행할 때만 자체 설정을 변경하거나, 선택…




