sirmalloc/ccstatusline
🚀 Beautiful highly customizable statusline for Claude Code CLI with powerline support, themes, and more.
What is ccstatusline?
ccstatusline is a Node‑JS package that adds a highly‑customizable status line to the Claude Code command‑line interface (the official CLI for Anthropic’s Claude model). It reads data from Claude Code – such as the current model, token usage, git information, sandbox state, and more – and renders it as a colourful, configurable line at the bottom of your terminal.
Why you might want it
- Live AI‑session metrics – see how many tokens you’ve spent, how much context is left, and weekly usage without leaving the terminal.
- Git integration – branch name, PR/MR links, file‑status counts, and CI status are displayed alongside the AI info.
- Highly tweakable – choose which widgets appear, their order, colours, gradients, Powerline separators, and even minimal‑mode raw values.
- Cross‑platform – works on macOS, Linux and Windows (with special handling to hide helper windows).
- Exportable configuration – settings can be saved to or loaded from JSON, making it easy to share a layout across machines.
Core features (as described in the README)
| Category | Widgets / Capabilities |
|---|---|
| Model & usage | Model name, token input/output, total tokens, usage percentages, weekly usage, extra‑usage (pay‑as‑you‑go) widgets, context window size, compaction counters, cache‑hit/read/write rates. |
| Git & CI | Branch name, root directory, PR/MR links (GitHub & GitLab), status (ahead/behind, conflicts, staged/unstaged/untracked files), CI check summary, clickable links, width‑capped display with ellipsis. |
| Environment | Current working directory (with optional glyph), sandbox status, voice‑input status, Claude account email, session name, memory usage, terminal width override. |
| Visual | Powerline and flex separators, per‑widget or line‑wide colour gradients, custom glyphs, dim styling, minimalist raw‑value mode, gradient presets, custom Unicode separators. |
| Controls | TUI editor for adding, re‑ordering, cloning, or deleting widgets; fuzzy widget picker; colour picker; configuration import/export; version flag (ccstatusline --version). |
| Performance | Non‑blocking Git/CI refreshes using a disk cache, background refresh of stale data, cached block‑timer metrics, configurable cache TTLs, safe handling of invalid settings.json. |
| Platform niceties | Windows UTF‑8 handling, hidden helper processes, environment‑variable proxy support for usage API, safe handling of pinned global installs. |
How to get started (quick‑start)
- Install –
npm i -g ccstatusline(or using Bun). The package ships with pre‑built binaries for the supported platforms. - Run – After installing, the status line appears automatically when you start the Claude Code CLI. You can also invoke
ccstatuslinedirectly to preview a configuration. - Configure – Press
ein the TUI to open the editor, add or remove widgets, change colours, or switch to Powerline mode. Settings are stored in~/.config/ccstatusline/settings.json(or a custom path via--config). - Export / import – Use the Config import/export widget (v2.2.27) to dump the current layout to JSON, edit it, and re‑import.
Who maintains it?
The repository is owned by sirmalloc and shows active maintenance (frequent releases, a commit‑activity graph, and a “Maintained? yes” badge). It is also listed in the Awesome Claude Code collection and referenced by the ClaudeLog knowledge base.
License
MIT – you can freely use, modify, and redistribute the code.
TL;DR
ccstatusline is a terminal UI add‑on that turns Claude Code’s CLI into a dashboard, showing model usage, git context, CI status, and many other metrics, all highly configurable via a JSON‑backed TUI. It’s a genuine, actively‑maintained open‑source tool for developers who work with Claude in the terminal.
Related
- Project
- Project
- Project
- Project
- Project