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)

  1. Installnpm i -g ccstatusline (or using Bun). The package ships with pre‑built binaries for the supported platforms.
  2. Run – After installing, the status line appears automatically when you start the Claude Code CLI. You can also invoke ccstatusline directly to preview a configuration.
  3. Configure – Press e in 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).
  4. 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