{"_id":"@alejandroroman/cc-statusline","_rev":"5-e62649a8deb9f4146d09050424f1b9d1","name":"@alejandroroman/cc-statusline","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@alejandroroman/cc-statusline","version":"1.0.0","_id":"@alejandroroman/cc-statusline@1.0.0","maintainers":[{"name":"alejandroroman","email":"me@alejandroroman.dev"}],"bin":{"cc-statusline":"setup.js"},"dist":{"shasum":"34f7c1078d2c79c2434e7c676e120f48afe66c7e","tarball":"https://registry.npmjs.org/@alejandroroman/cc-statusline/-/cc-statusline-1.0.0.tgz","fileCount":14,"integrity":"sha512-0MZoNokqrQeTdMJ6QJL7CNKbd7F8B3v69fdtV/1MCL3dh2QBTGKJA6ZpnEVP1Wl3kmlJQ/okh4DZ2vY/bxrczw==","signatures":[{"sig":"MEUCIQDwMkVwbCsG65sHxNW0uyevsQjIeGISWd8sOwjyojlokwIgJJhAlxd8Z6FK3w2nHYC51E0g18uvxXSTed+xkR37zbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329785},"type":"module","engines":{"node":">=18"},"gitHead":"b41731eb61c3e6b521ebd8a678479aa840d77aee","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"alejandroroman","email":"me@alejandroroman.dev"},"_npmVersion":"11.6.2","description":"Interactive wizard to configure your Claude Code status line","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@clack/prompts":"^0.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cc-statusline_1.0.0_1771572617436_0.8776827008629375","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alejandroroman/cc-statusline","version":"1.0.1","_id":"@alejandroroman/cc-statusline@1.0.1","maintainers":[{"name":"alejandroroman","email":"me@alejandroroman.dev"}],"bin":{"cc-statusline":"setup.js"},"dist":{"shasum":"89d99694b3c7463a14f46a67d8a1672ee05663e4","tarball":"https://registry.npmjs.org/@alejandroroman/cc-statusline/-/cc-statusline-1.0.1.tgz","fileCount":14,"integrity":"sha512-d428EZIz0oa/iqY5WGmLwMWdGsAD2H96dfyUBdX9/e4sjCjqXNKxZZWfY9BUNXTItvNWlK9LodUs9uepSoNzGg==","signatures":[{"sig":"MEYCIQCwMa8DRDxjp/weXbos/Z96KlStTbNyXHyizFwT7EuB/QIhAKs8kb3Yrdp6W9TGrlfXHJc6MnfTHbbh6g/OzXAvJCWZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329833},"type":"module","engines":{"node":">=18"},"gitHead":"964bf05de43025147e9126f624b6df7a4e9f58d8","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"alejandroroman","email":"me@alejandroroman.dev"},"_npmVersion":"11.6.2","description":"Interactive wizard to configure your Claude Code status line","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@clack/prompts":"^0.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cc-statusline_1.0.1_1771572698047_0.3883842053995863","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alejandroroman/cc-statusline","version":"1.0.3","_id":"@alejandroroman/cc-statusline@1.0.3","maintainers":[{"name":"alejandroroman","email":"me@alejandroroman.dev"}],"bin":{"cc-statusline":"bin/cc-statusline"},"dist":{"shasum":"540030a7c390d9bca433cb06ee49d00a87d7c427","tarball":"https://registry.npmjs.org/@alejandroroman/cc-statusline/-/cc-statusline-1.0.3.tgz","fileCount":15,"integrity":"sha512-xIp+AUomls4irW5iWC2B1e/IkXgDeKeZkoGKAE8CEHLQtlFjT3r86hcns6cQmd6b1phvbWY7WUHIqaNjYBqCsQ==","signatures":[{"sig":"MEQCIERXLgGBE/0U3jbv2+spvFCvnyJ3M2WjjwnhuI9hsbthAiAfRQX8bNhDthwpS5qRMhrfQJSw75L5CyCQueXhw5kYLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329885},"type":"module","engines":{"node":">=18"},"gitHead":"964bf05de43025147e9126f624b6df7a4e9f58d8","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"alejandroroman","email":"me@alejandroroman.dev"},"_npmVersion":"11.6.2","description":"Interactive wizard to configure your Claude Code status line","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@clack/prompts":"^0.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cc-statusline_1.0.3_1771572959262_0.808059061362483","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alejandroroman/cc-statusline","version":"1.0.4","keywords":["claude","claude-code","statusline","status-bar","cli","terminal","rate-limit","context-window","anthropic","developer-tools"],"author":{"name":"Alejandro Roman"},"license":"MIT","_id":"@alejandroroman/cc-statusline@1.0.4","maintainers":[{"name":"alejandroroman","email":"me@alejandroroman.dev"}],"homepage":"https://github.com/aromanarguello/claude-statusline#readme","bugs":{"url":"https://github.com/aromanarguello/claude-statusline/issues"},"bin":{"cc-statusline":"bin/cc-statusline"},"dist":{"shasum":"1b2a29d35e514b679778a4b0f4556bd506bddfce","tarball":"https://registry.npmjs.org/@alejandroroman/cc-statusline/-/cc-statusline-1.0.4.tgz","fileCount":15,"integrity":"sha512-pxANiw59vNhPqIFq4Jp9MguKQW/LFRTaLj9ZctmR+fX4JO8VR99UO1SPZ3+I3tU1t6PnBRyymHYD2a1MiFtTAg==","signatures":[{"sig":"MEUCIQCaTSw1jFkbjp2yhkuImWGWgvuMU8nPEPp/iM1alfvmDQIgfoxNN6/etYewzWwsEomk2rP2E0KhG4IAZCRLRWyJphE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330912},"type":"module","engines":{"node":">=18"},"gitHead":"f08f3dd890ada8ca6b6f8fb5436172377af9aa76","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"alejandroroman","email":"me@alejandroroman.dev"},"repository":{"url":"git+https://github.com/aromanarguello/claude-statusline.git","type":"git"},"_npmVersion":"11.6.2","description":"A rich multi-line status line for Claude Code with real rate limit data. Interactive wizard to configure model info, token counts, context bars, and usage indicators.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@clack/prompts":"^0.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cc-statusline_1.0.4_1771573154329_0.21287666703607888","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@alejandroroman/cc-statusline","version":"1.1.0","description":"A rich Claude Code status line with model info, context usage, native rate limit data, and an interactive installer.","type":"module","bin":{"cc-statusline":"bin/cc-statusline"},"scripts":{"test":"node --test test/*.test.js"},"keywords":["claude","claude-code","statusline","status-bar","cli","terminal","rate-limit","context-window","anthropic","developer-tools"],"homepage":"https://github.com/aromanarguello/claude-statusline#readme","repository":{"type":"git","url":"git+https://github.com/aromanarguello/claude-statusline.git"},"bugs":{"url":"https://github.com/aromanarguello/claude-statusline/issues"},"author":{"name":"Alejandro Roman"},"license":"MIT","dependencies":{"@clack/prompts":"^0.9.1"},"engines":{"node":">=18"},"gitHead":"3b97a36f063be120969cbf8ab1bc17366071560c","_id":"@alejandroroman/cc-statusline@1.1.0","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-5IUp0OwoUF4nUF6Q/UxmQFIDSFy0cBuKvwEoZzRsQIRoe2QfR5Fhml1d9lgf33f8VdEV0WvBIUqqje0Uq6NHvA==","shasum":"8e6285bac064c7a26d7f3ffa86a439012d89f4a1","tarball":"https://registry.npmjs.org/@alejandroroman/cc-statusline/-/cc-statusline-1.1.0.tgz","fileCount":11,"unpackedSize":285548,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGK3qTn8v2ZMNalf3jgVZ9Cfl8NNN1sCmHMxZXkzLz8wAiAfHwn7liz7G7SuoD10tMi30WH4YdlFJEwz+G8fbZr8mw=="}]},"_npmUser":{"name":"alejandroroman","email":"me@alejandroroman.dev"},"directories":{},"maintainers":[{"name":"alejandroroman","email":"me@alejandroroman.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cc-statusline_1.1.0_1778936445755_0.08138791784814359"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-20T07:30:17.342Z","modified":"2026-05-16T13:00:46.012Z","1.0.0":"2026-02-20T07:30:17.611Z","1.0.1":"2026-02-20T07:31:38.246Z","1.0.3":"2026-02-20T07:35:59.487Z","1.0.4":"2026-02-20T07:39:14.534Z","1.1.0":"2026-05-16T13:00:45.913Z"},"bugs":{"url":"https://github.com/aromanarguello/claude-statusline/issues"},"author":{"name":"Alejandro Roman"},"license":"MIT","homepage":"https://github.com/aromanarguello/claude-statusline#readme","keywords":["claude","claude-code","statusline","status-bar","cli","terminal","rate-limit","context-window","anthropic","developer-tools"],"repository":{"type":"git","url":"git+https://github.com/aromanarguello/claude-statusline.git"},"description":"A rich Claude Code status line with model info, context usage, native rate limit data, and an interactive installer.","maintainers":[{"name":"alejandroroman","email":"me@alejandroroman.dev"}],"readme":"# claude-statusline\n\n[![npm version](https://img.shields.io/npm/v/@alejandroroman/cc-statusline.svg)](https://www.npmjs.com/package/@alejandroroman/cc-statusline)\n[![npm downloads](https://img.shields.io/npm/dm/@alejandroroman/cc-statusline.svg)](https://www.npmjs.com/package/@alejandroroman/cc-statusline)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\nA rich multi-line status line for [Claude Code](https://code.claude.com/docs/en/statusline) using Claude Code's native status line data.\n\n![status line screenshot](screenshot.png)\n\n## What it shows\n\n| Line | Content | Source |\n|------|---------|--------|\n| 1 | Model name, token counts, used/remaining %, lines changed | Real data from Claude Code |\n| 2 | Context bar, 5-hour usage bar, weekly usage bar | Real data from Claude Code status line JSON |\n| 3 | Rate limit reset times | Real reset times from Claude Code status line JSON |\n\n## How it works\n\nClaude Code pipes a JSON object to the status line command via stdin on each render tick. The script:\n\n1. Extracts token counts and context data from stdin JSON (single `jq` call)\n2. Reads `rate_limits.five_hour` and `rate_limits.seven_day` when Claude Code provides them\n3. Formats everything with ANSI colors and dynamic color-coding (green/yellow/red based on usage level)\n\nRate limit bars show `---` before Claude Code has emitted rate limit fields, or for plans/accounts where those fields are not available.\n\n## Requirements\n\n- Node.js 18+ (for the installer wizard)\n- [jq](https://jqlang.github.io/jq/) — `brew install jq` (macOS) or `apt install jq` (Linux)\n- [Claude Code](https://code.claude.com/) CLI\n\n> **Note:** Claude Code exposes context and rate limit fields through the official `statusLine` stdin JSON. Context fields are available after the first API response. Rate limit fields appear for Claude.ai subscribers when Claude Code provides them; API/pay-per-token users may see `---` for those bars.\n\n## Install\n\n```bash\nnpx @alejandroroman/cc-statusline\n```\n\nOr clone and run locally:\n\n```bash\ngit clone https://github.com/aromanarguello/claude-statusline.git\ncd claude-statusline\n./install.sh\n```\n\nThe wizard asks what data to show, how to format it, previews the result, then writes the script and patches `~/.claude/settings.json` (only the `statusLine` key — all other settings preserved).\n\n## Using the wizard\n\nRunning `npx @alejandroroman/cc-statusline` (or `node setup.js` if cloned locally) walks you through 4 steps:\n\n**Step 1 — Pick your fields** (multi-select, space to toggle)\n```\n◆ Which data fields do you want?\n◇ ◼ Model name\n◇ ◼ Token counts (used / total)\n◇ ◼ Used % with raw token count\n◇ ◼ Remaining % with raw token count\n◇ ◼ Lines changed (+added / -removed)\n◇ ◼ Context window progress bar\n◇ ◼ 5-hour & weekly rate limit bars\n◇ ◼ Rate limit reset times\n```\n\n**Step 2 — Pick a layout**\n```\n◆ Layout?\n● Multi-line  (model/tokens on line 1, bars on line 2)\n○ Single line (everything on one line)\n```\n\n**Step 3 — Pick colors**\n```\n◆ Color style?\n● Traffic-light  (green <50%, yellow 50-79%, red >=80%)\n○ Monochrome  (no colors)\n○ Custom thresholds\n```\n\n**Step 4 — Preview + confirm**\n\nThe wizard renders your statusline with sample data so you see exactly what it looks like before writing anything:\n```\nClaude Sonnet 4.6 (1M context) | 48k / 1000k | 5% used 48,200 | 95% remain 951,800\ncontext: ○○○○○○○○○○ 5% | 5-hour: ●●○○○○○○○○ 23% | weekly: ●●●●○○○○○○ 41%\n5-hour resets 11:00am feb 01 | weekly resets 11:00am feb 06\n```\n\nThen confirms before touching any files:\n```\n◆ Write to ~/.claude/statusline-command.sh and patch settings.json? Yes\n```\n\nAfter confirming, **restart Claude Code** to see your new status line.\n\n## What you can configure\n\n| Field | Description | Requires |\n|-------|-------------|---------|\n| Model name | Active Claude model | — |\n| Token counts | Used / total context size | — |\n| Used % | % of context used | — |\n| Remaining % | % of context remaining | — |\n| Lines changed | +added / -removed in session | — |\n| Context bar | ●●●○○○○○○○ visual progress bar | — |\n| Rate limit bars | 5-hour & weekly usage bars | Claude Code `rate_limits` fields |\n| Reset times | When rate limits reset | Claude Code `rate_limits` fields |\n\n**Enterprise/API users:** Rate limit fields degrade gracefully to `---` when Claude Code does not provide usage caps. The context bar and session stats still work.\n\n## Reconfigure\n\n```bash\nnpx @alejandroroman/cc-statusline\n```\n\nRe-running the wizard overwrites `~/.claude/statusline-command.sh` with your new choices.\n\n## Uninstall\n\n```bash\ncd claude-statusline && ./uninstall.sh\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}