{"id":47607370,"url":"https://github.com/bouob/claude-statusline","last_synced_at":"2026-05-11T09:55:46.325Z","repository":{"id":344861884,"uuid":"1183463164","full_name":"bouob/claude-statusline","owner":"bouob","description":"Claude Code plugin — zero-dependency statusline with conditional rainbow progress bar, 10 themes, rate limit monitoring, and natural language configuration.","archived":false,"fork":false,"pushed_at":"2026-05-11T03:28:44.000Z","size":493,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-11T03:35:04.546Z","etag":null,"topics":["claude-code","cli","plugin","rainbow","statusline","themes"],"latest_commit_sha":null,"homepage":"https://github.com/bouob/claude-statusline#readme","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bouob.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"victor0x1"}},"created_at":"2026-03-16T16:24:01.000Z","updated_at":"2026-05-11T03:05:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bouob/claude-statusline","commit_stats":null,"previous_names":["bouob/claude-statusline"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/bouob/claude-statusline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouob%2Fclaude-statusline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouob%2Fclaude-statusline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouob%2Fclaude-statusline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouob%2Fclaude-statusline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bouob","download_url":"https://codeload.github.com/bouob/claude-statusline/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouob%2Fclaude-statusline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32889971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","cli","plugin","rainbow","statusline","themes"],"created_at":"2026-04-01T19:35:49.010Z","updated_at":"2026-05-11T09:55:46.310Z","avatar_url":"https://github.com/bouob.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/victor0x1"],"categories":[],"sub_categories":[],"readme":"# claude-statusline\n\nZero-dependency statusline for [Claude Code](https://code.claude.com/) with conditional rainbow progress bar, 10 themes, rate limit monitoring, and natural language configuration.\n\n[繁體中文](./README.zh-TW.md)\n\n![showcase](./images/showcase.jpg)\n\n## Features\n\n- **Rate Limit Monitoring** — 5-hour and 7-day quota usage with mini progress bars and reset countdown (native stdin on Claude Code 2.1.80+, OAuth fallback for older versions)\n- **Conditional Rainbow** — Progress bar automatically shifts to rainbow gradient at high context usage\n- **10 Themes** — default, rainbow, nord, catppuccin, dracula, gruvbox, tokyo-night, solarized, one-dark, monokai\n- **9 Segments** — model, context bar, session (duration + cost), git, project, worktree, rate limit, promotion, status\n- **4 Bar Styles** — block `████░░░░`, dot `●●●●○○○○`, line `━━━━┅┅┅┅`, braille `⣿⣿⣿⣿⠀⠀⠀⠀`\n- **5 Separators** — powerline, rounded, slash, minimal, none\n- **13 Custom Colors** — Override any color with hex values\n- **Responsive Layout** — Auto-hide low-priority segments when terminal is narrow\n- **Natural Language Config** — Configure via `/claude-statusline:customize dracula + dot + powerline`\n- **Promotion Segment** — Temporary: shows 1x/2x context multiplier and peak/off-peak countdown during active promotions\n\n## Prerequisites\n\n- [Claude Code](https://code.claude.com/) v1.0.33+\n- [Node.js](https://nodejs.org/) v18+\n\n## Installation\n\n### Claude Code Plugin (Recommended)\n\n```bash\n# 1. Inside Claude Code, install plugin\n/plugin                        # → enter: bouob/claude-statusline\n\n# 2. Reload plugins\n/reload-plugins\n\n# 3. Run setup (writes to ~/.claude/settings.json automatically)\n/claude-statusline:setup\n\n# 4. Restart Claude Code\n```\n\n### Manual Installation\n\n```bash\ngit clone https://github.com/bouob/claude-statusline.git\ncd claude-statusline\nnpm install \u0026\u0026 npm run build\nnode scripts/setup.js\n# Restart Claude Code\n```\n\n## Visual Modes\n\nThe progress bar automatically changes based on context usage:\n\n| Condition | Mode | Effect |\n|-----------|------|--------|\n| Context \u003c 70% | `normal` | Subtle theme colors |\n| Context 70–85% | `warning` | Yellow tones |\n| Context 85–90% | `critical` | Red tones |\n| Context \u003e 90% | `rainbow` | Per-character rainbow gradient |\n\n## Themes\n\n| Theme | Style |\n|-------|-------|\n| `default` | Subtle cyan |\n| `rainbow` | Pink-purple tones |\n| `nord` | Nordic cool blues |\n| `catppuccin` | Mocha warm tones |\n| `dracula` | Deep purple-blue |\n| `gruvbox` | Retro warm tones |\n| `tokyo-night` | Tokyo night blue-purple |\n| `solarized` | Classic Solarized Dark |\n| `one-dark` | Atom One Dark |\n| `monokai` | Sublime Monokai |\n\n## Available Commands\n\n| Command | Usage |\n|---------|-------|\n| `/claude-statusline:setup` | Register statusline in `~/.claude/settings.json` |\n| `/claude-statusline:customize` | Interactive wizard or quick edit (e.g. `dracula + dot + powerline`) |\n| `/claude-statusline:customize show` | View current configuration |\n\n## Configuration\n\n### Plugin Skill (Recommended)\n\nUse natural language to configure — no manual JSON editing needed:\n\n```\n/claude-statusline:customize dracula + dot + powerline\n/claude-statusline:customize show current\n/claude-statusline:customize reset\n```\n\nRun without arguments for an interactive wizard:\n\n```\n/claude-statusline:customize\n```\n\n### Config File\n\nConfig files are loaded in priority order:\n\n1. `./claude-statusline.json` — Project-level (highest priority)\n2. `~/.claude/claude-statusline.json` — User-level\n\n```json\n{\n  \"theme\": \"dracula\",\n  \"separator\": \"powerline\",\n  \"barStyle\": \"dot\",\n  \"responsive\": true,\n  \"colors\": {\n    \"opus\": \"#FF79C6\"\n  },\n  \"segments\": {\n    \"rate-limit\": {\n      \"enabled\": true,\n      \"showFiveHour\": true,\n      \"showSevenDay\": true,\n      \"showResetTime\": true\n    }\n  },\n  \"rainbow\": {\n    \"contextThreshold\": 90,\n    \"alwaysOn\": false\n  }\n}\n```\n\nOnly include the fields you want to override — everything else uses theme defaults.\n\n\u003cdetails\u003e\n\u003csummary\u003eFull config reference\u003c/summary\u003e\n\n```json\n{\n  \"theme\": \"default\",\n  \"colorMode\": \"auto\",\n  \"separator\": \"none\",\n  \"barStyle\": \"block\",\n  \"responsive\": true,\n  \"colors\": {},\n  \"layout\": {\n    \"lines\": 2,\n    \"line1\": [\"model\", \"project\", \"git\", \"worktree\", \"promotion\"],\n    \"line2\": [\"context-bar\", \"session\", \"rate-limit\"]\n  },\n  \"segments\": {\n    \"context-bar\": { \"enabled\": true, \"width\": 20, \"showPercentage\": true },\n    \"session\": { \"enabled\": true, \"showCost\": true, \"showDuration\": true },\n    \"git\": { \"enabled\": true, \"cacheSeconds\": 5 },\n    \"project\": { \"enabled\": true },\n    \"model\": { \"enabled\": true },\n    \"worktree\": { \"enabled\": true },\n    \"rate-limit\": {\n      \"enabled\": true,\n      \"cacheSeconds\": 60,\n      \"barWidth\": 8,\n      \"barStyle\": \"inherit\",\n      \"showFiveHour\": true,\n      \"showSevenDay\": true,\n      \"showResetTime\": true,\n      \"showBar\": true,\n      \"rainbow\": false\n    },\n    \"promotion\": { \"enabled\": true }\n  },\n  \"rainbow\": {\n    \"contextThreshold\": 90,\n    \"onAgent\": true,\n    \"onWorktree\": true,\n    \"alwaysOn\": false\n  }\n}\n```\n\n\u003c/details\u003e\n\n### Refresh Interval\n\n\u003e Requires Claude Code **v2.1.97+**\n\nBy default, Claude Code only invokes the statusline command after each turn completes. Dynamic segments (context bar, rate limit, session duration) therefore stay frozen during long-running turns. To make the statusline update on a timer, add `refreshInterval` to `~/.claude/settings.json`:\n\n```json\n{\n  \"statusLine\": {\n    \"type\": \"command\",\n    \"command\": \"node /path/to/claude-statusline/dist/index.js\",\n    \"refreshInterval\": 30\n  }\n}\n```\n\n`refreshInterval` is measured in seconds. Recommended value: `30` — balances responsiveness against startup overhead (~50–100 ms per tick).\n\nNote: `refreshInterval` is a **Claude Code core setting**, not a plugin config — it lives in `settings.json`, not `claude-statusline.json`. The setup script preserves any `refreshInterval` you have set when re-registering the statusline.\n\n### Custom Colors\n\nOverride any of the 13 color keys with hex values (`#RGB` or `#RRGGBB`):\n\n`opus`, `sonnet`, `haiku`, `progressNormal`, `progressWarning`, `progressCritical`, `progressEmpty`, `gitClean`, `gitDirty`, `worktree`, `project`, `session`, `resetTime`\n\n```json\n{\n  \"colors\": {\n    \"opus\": \"#FF6B6B\",\n    \"progressNormal\": \"#50FA7B\"\n  }\n}\n```\n\nPriority: `colors` field \u003e theme definition \u003e defaults.\n\n## Segments\n\n| Segment | Content |\n|---------|---------|\n| `model` | Model name with color (Opus purple / Sonnet blue / Haiku green) |\n| `context-bar` | Progress bar + percentage (rainbow gradient at high usage) |\n| `session` | Duration + cost |\n| `git` | Branch name + dirty status (5s cache) |\n| `project` | Project folder name |\n| `worktree` | Worktree label (when current_dir ≠ project_dir) |\n| `rate-limit` | 5h/7d quota usage + mini progress bar + reset countdown (native stdin, OAuth fallback) |\n| `promotion` | Time-limited promotion label (auto-hidden when inactive) |\n| `status` | Claude service status indicator (cached) |\n\n## Uninstall\n\nRemove the `statusLine` field from `~/.claude/settings.json`, then restart Claude Code.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbouob%2Fclaude-statusline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbouob%2Fclaude-statusline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbouob%2Fclaude-statusline/lists"}