{"_id":"@ahngbeom/claude-statusline","_rev":"5-0c1767d0a9739710581a20ddbf93f1b3","name":"@ahngbeom/claude-statusline","dist-tags":{"latest":"1.4.1"},"versions":{"1.3.2":{"name":"@ahngbeom/claude-statusline","version":"1.3.2","keywords":["claude-code","claude","statusline","cli","terminal","bash"],"license":"MIT","_id":"@ahngbeom/claude-statusline@1.3.2","maintainers":[{"name":"ahngbeom","email":"bbu0704@gmail.com"}],"homepage":"https://github.com/Ahngbeom/claude-statusline#readme","bugs":{"url":"https://github.com/Ahngbeom/claude-statusline/issues"},"os":["darwin","linux"],"dist":{"shasum":"f1940dc68227eccd6802acb56aa96153d2b69972","tarball":"https://registry.npmjs.org/@ahngbeom/claude-statusline/-/claude-statusline-1.3.2.tgz","fileCount":6,"integrity":"sha512-i7dP8v+feaeEOlAS3ngxvySILp8la68CO+t8rMhU14/oHHheCx4Vxlllpa43rEvmB1MRApmlG9dK2R/nsN9iAQ==","signatures":[{"sig":"MEUCIGVV3iAHsuQ19V7ClEHOzLBGbhFKyzngNgwR4yIyFofuAiEA8KW32lvtj/tJ1xQ6EtXuEURPOa7WWdE4slqOAUkhRFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31862},"gitHead":"9ef51ed8950abf56390c42b7f136231b39110967","scripts":{"postinstall":"bash scripts/postinstall.sh","preuninstall":"bash scripts/preuninstall.sh"},"_npmUser":{"name":"ahngbeom","email":"bbu0704@gmail.com"},"repository":{"url":"git+https://github.com/Ahngbeom/claude-statusline.git","type":"git"},"_npmVersion":"10.9.4","description":"A detailed 3-line statusline for Claude Code CLI","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-statusline_1.3.2_1774426825146_0.8322583890509407","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@ahngbeom/claude-statusline","version":"1.3.4","keywords":["claude-code","claude","statusline","cli","terminal","bash"],"license":"MIT","_id":"@ahngbeom/claude-statusline@1.3.4","maintainers":[{"name":"ahngbeom","email":"bbu0704@gmail.com"}],"homepage":"https://github.com/Ahngbeom/claude-statusline#readme","bugs":{"url":"https://github.com/Ahngbeom/claude-statusline/issues"},"os":["darwin","linux"],"dist":{"shasum":"082e4303b4381c5ddfe50f09f2074e9163fdd5c4","tarball":"https://registry.npmjs.org/@ahngbeom/claude-statusline/-/claude-statusline-1.3.4.tgz","fileCount":6,"integrity":"sha512-TTSi5QYLaVvCgppFTTVvAKCbhBMg9fpIAxn8LS2pSISQa2bSKDzdooojesY8+MA5ZbyzqV0XIy/+CuAmqNNoEg==","signatures":[{"sig":"MEYCIQCv613TTM6ag4LVivwyAGxC/SqKKth7f/ezISUlcITCVgIhAPC1JjZ603GYDVmDuJBG37YErJ5atWIwDuc2819MyXXQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34154},"gitHead":"c35fdda77329ade8a612d4464ab952ce061fd56c","scripts":{"postinstall":"bash scripts/postinstall.sh","preuninstall":"bash scripts/preuninstall.sh"},"_npmUser":{"name":"ahngbeom","email":"bbu0704@gmail.com"},"repository":{"url":"git+https://github.com/Ahngbeom/claude-statusline.git","type":"git"},"_npmVersion":"10.9.8","description":"A detailed 3-line statusline for Claude Code CLI","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-statusline_1.3.4_1782893764641_0.9707232190919062","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@ahngbeom/claude-statusline","version":"1.3.5","keywords":["claude-code","claude","statusline","cli","terminal","bash"],"license":"MIT","_id":"@ahngbeom/claude-statusline@1.3.5","maintainers":[{"name":"ahngbeom","email":"bbu0704@gmail.com"}],"homepage":"https://github.com/Ahngbeom/claude-statusline#readme","bugs":{"url":"https://github.com/Ahngbeom/claude-statusline/issues"},"os":["darwin","linux"],"dist":{"shasum":"17e07e6aa4453735610eb98eb8cb6e27ff397f7a","tarball":"https://registry.npmjs.org/@ahngbeom/claude-statusline/-/claude-statusline-1.3.5.tgz","fileCount":6,"integrity":"sha512-vYkrrZCoXO/wrQWGSGHcBpll48lV2GdsG2erljBPqaCJZOUZ9snOlccQ3o9S+WrJOAerk9EZAhFadk8vDX6RhA==","signatures":[{"sig":"MEUCIQDzZU5CvfgTIrvQe8ThvFaLlsWlwFcQ+gZKFL2sTOY+7AIgIjephy4ZvsYtCaysToao+4muTOla7nzTRF1pK3azY7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35440},"gitHead":"ace426c002ac3129a524087c1415e0b171525354","scripts":{"postinstall":"bash scripts/postinstall.sh","preuninstall":"bash scripts/preuninstall.sh"},"_npmUser":{"name":"ahngbeom","email":"bbu0704@gmail.com"},"repository":{"url":"git+https://github.com/Ahngbeom/claude-statusline.git","type":"git"},"_npmVersion":"10.9.8","description":"A detailed 3-line statusline for Claude Code CLI","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-statusline_1.3.5_1782895043771_0.09913998236093269","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@ahngbeom/claude-statusline","version":"1.4.0","keywords":["claude-code","claude","statusline","cli","terminal","bash"],"license":"MIT","_id":"@ahngbeom/claude-statusline@1.4.0","maintainers":[{"name":"ahngbeom","email":"bbu0704@gmail.com"}],"homepage":"https://github.com/Ahngbeom/claude-statusline#readme","bugs":{"url":"https://github.com/Ahngbeom/claude-statusline/issues"},"os":["darwin","linux"],"dist":{"shasum":"60a049b649d9a0fa5995c95231ac941fc08c2629","tarball":"https://registry.npmjs.org/@ahngbeom/claude-statusline/-/claude-statusline-1.4.0.tgz","fileCount":6,"integrity":"sha512-b9cw7UWCTF5FhfeY9YW6rtbSs4e8H32jQZX9R44QFdgF8d7IIaJVhKfIdIkkHmvdgYTvH+jWwidLLdZe8pEJuA==","signatures":[{"sig":"MEQCICM/6bMkadXBe51JRjZSrGsocCxOM4bITuUgh1JcNtIDAiAv+sdFrzyRMz1xXDIIVNFKJER9F7s1SNLvAm1JVtQwSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37343},"gitHead":"138296b5d3380e715ec9b07dafa3cb4ab1bfa76e","scripts":{"postinstall":"bash scripts/postinstall.sh","preuninstall":"bash scripts/preuninstall.sh"},"_npmUser":{"name":"ahngbeom","email":"bbu0704@gmail.com"},"repository":{"url":"git+https://github.com/Ahngbeom/claude-statusline.git","type":"git"},"_npmVersion":"10.9.8","description":"A detailed 3-line statusline for Claude Code CLI","directories":{},"_nodeVersion":"22.23.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-statusline_1.4.0_1782895773358_0.1485494347939862","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@ahngbeom/claude-statusline","version":"1.4.1","description":"A detailed 3-line statusline for Claude Code CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Ahngbeom/claude-statusline.git"},"keywords":["claude-code","claude","statusline","cli","terminal","bash"],"scripts":{"postinstall":"bash scripts/postinstall.sh","preuninstall":"bash scripts/preuninstall.sh"},"os":["darwin","linux"],"_id":"@ahngbeom/claude-statusline@1.4.1","gitHead":"a571297450fd7d1007edaa20b7320376cb0debf1","bugs":{"url":"https://github.com/Ahngbeom/claude-statusline/issues"},"homepage":"https://github.com/Ahngbeom/claude-statusline#readme","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-6QQXLnXenbvxb4K+s0PB5neMdchYKEMIAdMbjbE5k+xi+mzcITX1zDH7xV3WJbKE5hmOU2WvoLbqbgQ3FA23eQ==","shasum":"93b9d8ba93f31f0639f99a757bc9f68320d83216","tarball":"https://registry.npmjs.org/@ahngbeom/claude-statusline/-/claude-statusline-1.4.1.tgz","fileCount":6,"unpackedSize":41343,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE0hRoPKNCV4IZuiLPvT9plTsx6iGZNl2EuSf9MnfxAdAiAmAr3fikCs5klRNHkLsUW8o3n5+8ramIYzTfPVyi8NzA=="}]},"_npmUser":{"name":"ahngbeom","email":"bbu0704@gmail.com"},"directories":{},"maintainers":[{"name":"ahngbeom","email":"bbu0704@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-statusline_1.4.1_1782899172838_0.12419504840989859"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-25T08:20:25.064Z","modified":"2026-07-01T09:46:13.053Z","1.3.2":"2026-03-25T08:20:25.300Z","1.3.4":"2026-07-01T08:16:04.821Z","1.3.5":"2026-07-01T08:37:23.925Z","1.4.0":"2026-07-01T08:49:33.565Z","1.4.1":"2026-07-01T09:46:12.947Z"},"bugs":{"url":"https://github.com/Ahngbeom/claude-statusline/issues"},"license":"MIT","homepage":"https://github.com/Ahngbeom/claude-statusline#readme","keywords":["claude-code","claude","statusline","cli","terminal","bash"],"repository":{"type":"git","url":"git+https://github.com/Ahngbeom/claude-statusline.git"},"description":"A detailed 3-line statusline for Claude Code CLI","maintainers":[{"name":"ahngbeom","email":"bbu0704@gmail.com"}],"readme":"# claude-statusline\n\n[![GitHub Release](https://img.shields.io/github/v/release/ahngbeom/claude-statusline)](https://github.com/Ahngbeom/claude-statusline/releases)\n[![npm version](https://img.shields.io/npm/v/@ahngbeom/claude-statusline)](https://www.npmjs.com/package/@ahngbeom/claude-statusline)\n[![CI](https://github.com/ahngbeom/claude-statusline/actions/workflows/ci.yml/badge.svg)](https://github.com/ahngbeom/claude-statusline/actions/workflows/ci.yml)\n\nA detailed, informative statusline for [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI.\n\nClaude Code CLI를 위한 상세한 상태 표시줄입니다.\n\n---\n\n## Features / 기능\n\nDisplay comprehensive session information in your Claude Code terminal:\n\nClaude Code 터미널에 다양한 세션 정보를 표시합니다:\n\n| Line | Content / 내용 |\n|------|----------------|\n| 1 | 📂 Directory + Git branch (dirty `*`, ahead/behind `↑↓`) │ Model, CLI version, Output style │ 💻 Memory |\n| 2 | 🧠 Context usage (bar) │ Session time + tokens + cost │ 🗄 Cache + Speed |\n| 3 | 💰 Today │ Week │ Month usage & costs |\n\n### Example Output / 예시 출력\n\n```\n📂 ~/projects/myapp  main* ↑2 │ Opus 4.6  v1.0.44  explanatory  │ 💻 Mem 42%\n🧠 Context 45.2K/200K [============--------] 77% │ Session 1.2M $0.12  3h 42m [====------] │ 🗄 87%  12.5K/m\n💰 Today 2.1M  $4.32 │ Week 15.8M  $31.20 │ Month 48.2M  $95.50\n```\n\n`main*` means uncommitted changes are present; `↑2`/`↓1` show commits ahead/behind the upstream branch (both omitted when there's nothing to report).\n\n`main*`는 커밋되지 않은 변경사항이 있음을, `↑2`/`↓1`은 upstream 브랜치 대비 앞서거나 뒤처진 커밋 수를 의미합니다 (보고할 내용이 없으면 생략).\n\nWith `STATUSLINE_UNICODE=1` / Unicode 모드:\n```\n📂 ~/projects/myapp  main │ Opus 4.6  v1.0.44  explanatory  │ 💻 Mem 42%\n🧠 Context 45.2K/200K ▰▰▰▰▰▰▰▰▰▰▰▰▱▱▱▱▱▱▱▱ 77% │ Session 1.2M $0.12  3h 42m ▰▰▰▰▱▱▱▱▱▱ │ 🗄 87%  12.5K/m\n💰 Today 2.1M  $4.32 │ Week 15.8M  $31.20 │ Month 48.2M  $95.50\n```\n\nGraceful degradation (without ccusage / ccusage 없이):\n```\n📂 ~/projects/myapp  main │ Opus 4.6  v1.0.44  explanatory  │ 💻 Mem 42%\n🧠 Context 45.2K/200K [============--------] 77%\n```\n\n---\n\n## Installation / 설치\n\n### One-liner Install / 한 줄 설치\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/ahngbeom/claude-statusline/main/install.sh | bash\n```\n\n### Manual Install / 수동 설치\n\n1. Download statusline.sh / statusline.sh 다운로드:\n```bash\ncurl -fsSL https://raw.githubusercontent.com/ahngbeom/claude-statusline/main/statusline.sh \\\n  -o ~/.claude/statusline.sh\nchmod +x ~/.claude/statusline.sh\n```\n\n2. Update settings / 설정 업데이트:\n\nEdit `~/.claude/settings.json`:\n```json\n{\n  \"statusline\": \"~/.claude/statusline.sh\"\n}\n```\n\n3. Restart Claude Code / Claude Code 재시작\n\n### npm Install\n\nInstall directly from npmjs.com, no authentication required:\n\nnpmjs.com에서 직접 설치, 별도 인증 불필요:\n\n```bash\nnpm install -g @ahngbeom/claude-statusline\n```\n\n<details>\n<summary>Alternative: GitHub Packages / 대안: GitHub Packages</summary>\n\n> **Note:** GitHub Packages requires authentication.\n> You need a GitHub [Personal Access Token](https://github.com/settings/tokens) with `read:packages` scope.\n\n1. Configure npm:\n   ```bash\n   echo \"@ahngbeom:registry=https://npm.pkg.github.com\" >> ~/.npmrc\n   echo \"//npm.pkg.github.com/:_authToken=YOUR_TOKEN\" >> ~/.npmrc\n   ```\n\n2. Install:\n   ```bash\n   npm install -g @ahngbeom/claude-statusline\n   ```\n\n</details>\n\n---\n\n## Uninstall / 제거\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/ahngbeom/claude-statusline/main/uninstall.sh | bash\n```\n\nOr if installed via npm / npm으로 설치한 경우:\n```bash\nnpm uninstall -g @ahngbeom/claude-statusline\n```\n\n---\n\n## Requirements / 요구사항\n\n### Required / 필수\n\n- **jq**: JSON parsing / JSON 파싱\n  ```bash\n  # macOS\n  brew install jq\n\n  # Ubuntu/Debian\n  sudo apt install jq\n\n  # Fedora\n  sudo dnf install jq\n  ```\n\n### Recommended / 권장\n\n- **ccusage**: For usage statistics (tokens, costs, session info)\n  ```bash\n  npm install -g ccusage\n  ```\n  Or use via npx (automatic) / 또는 npx로 자동 실행\n\n### Optional / 선택\n\n- **gdate**: macOS date compatibility / macOS 날짜 호환\n  ```bash\n  brew install coreutils\n  ```\n\n---\n\n## Color Indicators / 색상 표시\n\n### Context Window / 컨텍스트 윈도우\n\n| Remaining / 남은 용량 | Color / 색상 |\n|----------------------|--------------|\n| > 40% | 🟢 Mint Green |\n| 20-40% | 🟠 Peach |\n| < 20% | 🔴 Coral Red |\n\n### Session Time / 세션 시간\n\n| Remaining / 남은 시간 | Color / 색상 |\n|----------------------|--------------|\n| > 25% | 🟢 Light Green |\n| 10-25% | 🟡 Light Yellow |\n| < 10% | 🔴 Light Pink |\n\n### Memory Usage / 메모리 사용량\n\n| Usage / 사용량 | Color / 색상 |\n|---------------|--------------|\n| < 60% | 🟢 Green |\n| 60-79% | 🟡 Yellow |\n| ≥ 80% | 🔴 Red |\n\n---\n\n## Usage Counters / 사용량 카운터\n\nLine 3의 `Today` / `Week` / `Month` 값은 **[ccusage](https://github.com/ryoppippi/ccusage)** 가 보고하는 **달력 기준** 누적치입니다:\n\n- `Today`: 오늘 자정(로컬 TZ)부터의 사용량\n- `Week`: 이번 ISO 달력 주(월요일 시작) 누적\n- `Month`: 이번 달력 월 누적\n\n> ⚠️ **Anthropic의 weekly rate limit은 rolling 7-day window** 기반입니다 (2026-05-06 정책 변경 이후에도 유지). 즉 Line 3의 `Week` 표시는 **정책 한도 게이지가 아니라 달력 주간 회고용**입니다. 한도 잔량은 Claude Code 내장 `/status` 명령으로 확인하세요.\n>\n> Anthropic's weekly rate limit uses a **rolling 7-day window**. The `Week` counter on Line 3 reflects **calendar-week** spend (via ccusage), not progress toward the weekly limit. Use `/status` inside Claude Code for the official limit gauge.\n\nLine 2의 `Session` 시간/토큰은 ccusage가 추적하는 **5시간 rolling window** (active block) 기준입니다. 2026-05-06 정책 변경으로 5시간 한도가 2배로 증가했지만 윈도우 길이(5h) 자체는 동일합니다.\n\n---\n\n## Customization / 커스터마이징\n\nEdit `~/.claude/statusline.sh` to customize:\n\n`~/.claude/statusline.sh`를 편집하여 커스터마이징:\n\n### Environment Variables / 환경 변수\n\n| Variable | Effect |\n|----------|--------|\n| `NO_COLOR=1` | Disable ANSI colors / 색상 비활성화 |\n| `STATUSLINE_UNICODE=1` | Use `▰▱` block chars instead of `=-` (may misalign in some terminals) |\n| `STATUSLINE_MAX_CONTEXT=<tokens>` | Override the context window size used by the JSONL fallback (older Claude Code without the `context_window` stdin field), e.g. for a new model not yet recognized by `get_max_context()` / `context_window` stdin 필드가 없는 구버전에서 fallback 컨텍스트 크기를 오버라이드 (신규 모델 즉시 대응용) |\n| `STATUSLINE_HIDE_COST=1` | Hide session cost (Line 2) and all of Line 3 (Today/Week/Month) — for orgs that don't want cost exposed in the terminal / Line 2의 세션 비용과 Line 3 전체(Today/Week/Month)를 숨김 (비용 노출을 꺼리는 조직용) |\n\n### Modify Progress Bar Width / 프로그레스 바 너비 수정\n\nFind calls to `progress_bar` and change the width:\n\n```bash\nprogress_bar \"$pct\" 20  # Context bar (default 20)\nprogress_bar \"$pct\" 10  # Session bar (default 10)\n```\n\n### Cache TTL / 캐시 유효시간\n\nModify `CACHE_TTL` variable (in seconds):\n```bash\nCACHE_TTL=120  # Default is 60 seconds\n```\n\n---\n\n## How It Works / 작동 방식\n\n1. **Context Calculation**: Reads `context_window` from stdin (Claude Code >= v17.2.0) as the primary source. Falls back to session JSONL files for older versions.\n2. **Session Cost**: Reads real-time `cost.total_cost_usd` from stdin, with ccusage blocks data as fallback.\n3. **Usage Statistics**: Integrates with [ccusage](https://github.com/anthropics/ccusage) for daily/weekly/monthly metrics.\n4. **Caching**: Background caching prevents UI delays (60s TTL). Cache misses show a placeholder without blocking.\n5. **Memory Indicator**: Reads system memory usage (macOS via `vm_stat`, Linux via `/proc/meminfo`).\n\n---\n\n## Troubleshooting / 문제 해결\n\n### Statusline not showing / 상태줄이 표시되지 않음\n\n1. Check if `statusline.sh` exists and is executable:\n   ```bash\n   ls -la ~/.claude/statusline.sh\n   ```\n\n2. Verify settings.json:\n   ```bash\n   cat ~/.claude/settings.json | jq '.statusline'\n   ```\n\n3. Restart Claude Code\n\n### Usage data not showing / 사용량 데이터가 표시되지 않음\n\n1. Install ccusage:\n   ```bash\n   npm install -g ccusage\n   ```\n\n2. Verify ccusage works:\n   ```bash\n   ccusage blocks --json\n   ```\n\n### Context showing \"···\" / 컨텍스트가 \"···\"로 표시됨\n\nThis is normal for new sessions. Context data appears after the first API response.\n\n새 세션에서는 정상입니다. 첫 번째 API 응답 후 컨텍스트 데이터가 표시됩니다.\n\n---\n\n## Credits / 크레딧\n\n- Inspired by [cc-statusline](https://www.npmjs.com/package/@chongdashu/cc-statusline)\n- Uses [ccusage](https://github.com/anthropics/ccusage) for usage statistics\n\n---\n\n## License\n\nMIT License - see [LICENSE](LICENSE)\n\n---\n\n## Contributing / 기여\n\nIssues and pull requests are welcome!\n\n이슈와 풀 리퀘스트를 환영합니다!\n\n### Running tests / 테스트 실행\n\n```bash\n# Requires bats-core: brew install bats-core (or npm install -g bats)\nbats tests/\n\n# Requires shellcheck: brew install shellcheck\nshellcheck statusline.sh install.sh uninstall.sh scripts/*.sh tests/test_helper.bash\n```\n","readmeFilename":"README.md"}