ccstatusline
sirmalloc · sirmalloc/ccstatusline
Add a customizable status line to Claude Code CLI displaying model info, Git status, and token usage.
🚀 Beautiful highly customizable statusline for Claude Code CLI with powerline support, themes, and more.
See it in action
From the author's README sirmalloc ·Source
What you can do with it
- Monitor real-time token usage and Git branch info inside the Claude Code terminal
- Customize the visual theme of your AI coding environment
- Quickly check model status and cache timers during a coding session
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
___ ___ | | __ | | _ _ | () __ ___
/ __/ __/ __| __/ ` | | | | / | | | ' \ / _
| (| (_ \ || (| | || || _ \ | | | | | /
__|/__,|_|_,|/||| |_|_|
ccstatusline
🎨 A highly customizable status line formatter for Claude Code CLI Display model info, git branch, token usage, and other metrics in your terminal
📚 Table of Contents
- Recent Updates
- Features
- Localizations
- Quick Start
- Windows Support
- Usage
- Development
- Contributing
- License
- Related Projects
🆕 Recent Updates
v2.2.32 - Safer imports, proxy handling, and rendering fixes
- 📥 Review imported commands - Config imports show new shell commands in full and require confirmation with Cancel selected by default; control characters are displayed as escaped text.
- 🔒 Private settings stay private - Saves preserve restrictive settings-file permissions, Claude settings backups inherit the source permissions, and installation stops rather than overwriting unreadable Claude settings.
- 🌐 Proxy exclusions and deadlines - Usage and Claude Status requests honor
NO_PROXYandno_proxyand have total five-second deadlines; JJ commands also time out after five seconds. - ⏳ Accurate cache timer state - Interrupts and local slash commands such as
/costno longer leave Cache Timer reportingHOT. - ⚡ Faster Git and text rendering - Git widgets skip unnecessary calls outside repositories and keep separate caches per working directory; text-width calculations reuse Unicode measurements, and Git file/URL parsing avoids quadratic slowdowns.
- 📏 Reliable styled-text truncation - Width limits remain correct when ANSI styling or hyperlinks split an emoji or another display cluster.
- 🛡️ Command and file handling - Update versions are validated before installation, fonts download into private temporary folders, branch/host names stay literal CLI arguments, and Skills logs reject unsafe session IDs.
- 🔄 Reliable usage backoff - Successful usage requests preserve rate-limit backoff written by concurrent renders.
v2.2.31 - Cost tracking, customization, and broad reliability improvements
Across the updates since the September 3 release, 64 PRs have been incorporated, plus additional security fixes and test isolation.
- 🩹 Miscellaneous bug fixes - 29 dedicated bug-fix PRs since September 3 cover usage/account caching, transcript reading, Git/JJ and directory displays, Unicode truncation, Powerline colors and layout, keyboard controls, settings recovery, hooks, and installation/update flows.
- 🔒 Security fixes - Three additional fixes restrict repository-controlled Git commands, resolve Windows helper executables from PATH, and filter terminal control sequences while preserving colors and hyperlinks.
- 💰 Session Cost Rate - Track session cost per hour of active API time or total session time, with a one-minute minimum before showing a rate.
- 📅 Extra Usage Daily Budget - Spread the remaining monthly spending limit over the remaining UTC days, with an option to skip future weekend days.
- 🏷️ Editable labels - Press
eto customize text labels. - ⚡ Faster rendering - Piped status lines skip loading the interactive TUI, reducing startup work on every repaint.
- 🧰 Maintenance - Shared widget and editor implementations, broader regression coverage, more reliable tests, dependency updates, and CI actions pinned to commit SHAs.
v2.2.29 - v2.2.30 - Faster rendering, command caching, and reliable usage
- ⚡ Faster terminal width detection - Linux can probe the terminal directly without subprocesses, portable fallbacks skip shell wrappers, and configurable caching reuses failed width probes across renders while detected widths refresh on the next render.
- 🔧 Custom command caching and timeouts - Opt into output caching for up to 60 seconds from Configure Status Line, and enforce command timeouts even when descendants retain output pipes.
- 🔣 More customizable Git/JJ symbols - Press
gto edit insertion/deletion signs, Git clean/dirty markers, and the JJ Revision prefix, including empty glyphs for compact layouts. - 🙈 Hide reset-timer placeholders - Block Reset Timer and Weekly Reset Timer can hide loading and error output through
h; useffor 12/24-hour format andofor weekly hours-only display. - 👤 Reliable usage account selection - macOS usage lookup respects the active config profile's Keychain credentials, and access-token refreshes preserve cached usage when the refresh token is unchanged.
- 📊 Unused model quotas show zero - Weekly model usage widgets recognize an explicit 0% quota even before the API supplies a reset timestamp.
- ↔️ Full-width layouts by default - New configurations and settings without an explicit flex mode now use Full width always.
- ⏱️ Bounded Git commands - Cached Git commands have a five-second timeout so a stalled Git invocation cannot block the status line indefinitely.
v2.2.28 - v2.2.29 - Service health, flexible formatting, and resilient rendering
- 🩺 Claude service health - Added a
Claude Statuswidget with live severity, a cached 48-hour incident-history strip, stale-data fallback, and graceful?output when status data is unavailable. - 🙈 Unified conditional hiding - Numeric, Git, JJ, usage, cache, and other widgets now share an
hchecklist for supported hide conditions, with automatic migration of existing settings and optional merge-target hiding for decorative text or symbols. - 🔢 Configurable number formatting - Numeric widgets can use precise, compact, or whole-number styles per widget or globally
