_ _ _ _
___ ___ ___| |_ __ _| |_ _ _ ___| (_)_ __ ___
/ __/ __/ __| __/ _` | __| | | / __| | | '_ \ / _ \
| (_| (__\__ \ || (_| | |_| |_| \__ \ | | | | | __/
\___\___|___/\__\__,_|\__|\__,_|___/_|_|_| |_|\___|
π¨ A highly customizable status line formatter for Claude Code CLI Display model info, git branch, token usage, and other metrics in your terminal
- Recent Updates
- Features
- Localizations
- Quick Start
- Windows Support
- Usage
- Development
- Contributing
- License
- Related Projects
- π New Git PR widget - Added a
Git PRwidget with clickable PR links plus optional status and title display for the current branch. - π§° Major Git widget expansion - Added
Git Status,Git Staged,Git Unstaged,Git Untracked,Git Ahead/Behind,Git Conflicts,Git SHA,Git Origin Owner,Git Origin Repo,Git Origin Owner/Repo,Git Upstream Owner,Git Upstream Repo,Git Upstream Owner/Repo,Git Is Fork,Git Worktree Mode,Git Worktree Name,Git Worktree Branch,Git Worktree Original Branch, andCustom Symbol. - π€ Claude Account Email widget - Added a session widget that reads the signed-in Claude account email from
~/.claude.jsonwhile respectingCLAUDE_CONFIG_DIR. - π§Ό Global Minimalist Mode - Added a global toggle in
Global Overridesthat forces widgets into raw-value mode for a cleaner, label-free status line. - π Smarter widget picker search - The add/change widget picker now supports substring, initialism, and fuzzy matching, with ranked results and live match highlighting.
- π Better terminal width detection - Flex separators and right-alignment now work more reliably when ccstatusline is launched through wrapper processes or nested PTYs.
- π¨ Powerline theme continuity - Built-in Powerline themes can now continue colors cleanly across multiple status lines instead of restarting each line.
- π New Token Speed widgets - Added three widgets: Input Speed, Output Speed, and Total Speed.
- Each speed widget supports a configurable window of
0-120seconds in the widget editor (wkey). 0disables window mode and uses a full-session average speed.1-120calculates recent speed over the selected rolling window.
- Each speed widget supports a configurable window of
- π§© New Skills widget controls (v2.2.1) - Added configurable Skills modes (last/count/list), optional hide-when-empty behavior, and list-size limiting with most-recent-first ordering.
- π Usage API proxy support (v2.2.2) - Usage widgets honor the uppercase
HTTPS_PROXYenvironment variable for their direct API call to Anthropic. - π§ New Thinking Effort widget (v2.2.4) - Added a widget that shows the current Claude Code thinking effort level.
- π Better macOS usage lookup reliability (v2.2.5) - Improved reliability when loading usage API tokens on macOS.
- β¨οΈ New Vim Mode widget (v2.2.5) - Added a widget that shows the current vim mode, with ASCII and optional Nerd Font icon display.
- π Git widget link modes (v2.2.6) -
Git Branchcan render clickable GitHub branch links, andGit Root Dircan render clickable IDE links for VS Code and Cursor. - π€ Better subagent-aware speed reporting - Token speed calculations continue to include referenced subagent activity so displayed speeds better reflect actual concurrent work.
Older updates (v2.1.10 and earlier)
v2.1.0 - v2.1.10 - Usage widgets, links, new git insertions / deletions widgets, and reliability fixes
- π§© New Usage widgets (v2.1.0) - Added Session Usage, Weekly Usage, Block Reset Timer, and Context Bar widgets.
- π More accurate counts (v2.1.0) - Usage/context widgets now use new statusline JSON metrics when available for more accurate token and context counts.
- πͺ Windows empty file bug fix (v2.1.1) - Fixed a Windows issue that could create an empty
c:\dev\nullfile. - π New Link widget (v2.1.3) - Added a new Link widget with clickable OSC8 rendering, preview parity, and raw mode support.
- β New Git Insertions widget (v2.1.4) - Added a dedicated Git widget that shows only uncommitted insertions (e.g.,
+42). - β New Git Deletions widget (v2.1.4) - Added a dedicated Git widget that shows only uncommitted deletions (e.g.,
-10). - π§ Context format fallback fix (v2.1.6) - When
context_window_sizeis missing, context widgets now infer 1M models from long-context labels such as[1m]and1M contextin model identifiers. - β³ Weekly reset timer split (v2.1.7) - Added a separate
Weekly Reset Timerwidget. - βοΈ Custom config file flag (v2.1.8) - Added
--config <path>support so ccstatusline can load/save settings from a custom file location. - π£ Unicode separator hex input upgrade (v2.1.9) - Powerline separator hex input now supports 4-6 digits (full Unicode code points up to
U+10FFFF). - π³ Bare repo worktree detection fix (v2.1.10) -
Git Worktreenow correctly detects linked worktrees created from bare repositories.
- π§ Memory Usage widget (v2.0.29) - Added a new widget that shows current system memory usage (
Mem: used/total). - β‘ Block timer cache (v2.0.28) - Cache block timer metrics to reduce JSONL parsing on every render, with per-config hashed cache files and automatic 5-hour block invalidation.
- π§± Git widget command refactor (v2.0.28) - Refactored git widgets to use shared git command helpers and expanded coverage for failure and edge-case tests.
- πͺ Windows UTF-8 piped output fix (v2.0.28) - Sets the Windows UTF-8 code page for piped status line rendering.
- π Git Root Dir widget (v2.0.27) - Added a new Git widget that shows the repository root directory name.
- π·οΈ Session Name widget (v2.0.26) - Added a new widget that shows the current Claude Code session name from
/rename. - π Current Working Directory home abbreviation (v2.0.26) - Added a
~abbreviation option for CWD display in both preview and live rendering. - π§ Context model suffix fix (v2.0.26) - Context widgets now recognize the
[1m]suffix across models, not just a single model path. - π§ Widget picker UX updates (v2.0.26) - Improved widget discovery/navigation and added clearer, safer clear-line behavior.
- β¨οΈ TUI editor input fix (v2.0.26) - Prevented shortcut/input leakage into widget editor flows.
- π Repo docs update (v2.0.26) - Migrated guidance from
CLAUDE.mdtoAGENTS.md(with symlink compatibility).
- Fix miscalculation in the block timer
- Remaining Mode - You can now toggle the Context Percentage widgets between usage percentage and remaining percentage when configuring them in the TUI by pressing the 'u' key.
- πΎ Emoji Support - You can now paste emoji into the custom text widget. You can also turn on the merge option to get emoji labels for your widgets like this:
- π No Line Limit - Configure as many status lines as you need - the 3-line limitation has been removed
- π³ Git Worktree widget - Shows the active worktree name when working with git worktrees
- π» Hide 'no git' message toggle - Git widgets now support hiding the 'no git' message when not in a repository (toggle with 'h' key while editing the widget)
- π― Widget Alignment - Auto-align widgets across multiple status lines in Powerline mode for a clean, columnar layout (toggle with 'a' in Powerline Setup)
- π Current Working Directory - Display the current working directory with configurable segment display
- Set the number of path segments to show (e.g., show only last 2 segments:
.../Personal/ccstatusline) - Supports raw value mode for compact display
- Automatically truncates long paths with ellipsis
- Set the number of path segments to show (e.g., show only last 2 segments:
- π° Session Cost Widget - Track your Claude Code session costs (requires Claude Code 1.0.85+)
- Displays total session cost in USD
- Supports raw value mode (shows just
$X.YZvsCost: $X.YZ) - Real-time cost tracking from Claude Code session data
- Note: Cost may not update properly when using
/resume(Claude Code limitation)
- π Bug Fixes
- Fixed Block Timer calculations for accurate time tracking across block boundaries
- Improved widget editor stability with proper Ctrl+S handling
- Enhanced cursor display in numeric input fields
- β±οΈ Block Timer - Track your progress through 5-hour Claude Code blocks
- Displays time elapsed in current block as hours/minutes (e.g., "3hr 45m")
- Progress bar mode shows visual completion percentage
- Two progress bar styles: full width (32 chars) or compact (16 chars)
- Automatically detects block boundaries from transcript timestamps
- β‘ Powerline Mode - Beautiful Powerline-style status lines with arrow separators and customizable caps
- π¨ Built-in Themes - Multiple pre-configured themes that you can copy and customize
- π Advanced Color Support - Basic (16), 256-color (with custom ANSI codes), and truecolor (with hex codes) modes
- π Widget Merging - Merge multiple widgets together with or without padding for seamless designs
- π¦ Easy Installation - Install directly with
npxorbunx- no global package needed - π€ Custom Separators - Add multiple Powerline separators with custom hex codes for font support
- π Auto Font Install - Automatic Powerline font installation with user consent
- π Real-time Metrics - Display model name, git branch, token usage, session duration, block timer, and more
- π¨ Fully Customizable - Choose what to display and customize colors for each element
- β‘ Powerline Support - Beautiful Powerline-style rendering with arrow separators, caps, and custom fonts
- π Multi-line Support - Configure multiple independent status lines
- π₯οΈ Interactive TUI - Built-in configuration interface using React/Ink
- π Fast Widget Picker - Add/change widgets by category with search and ranked matching
- βοΈ Global Options - Apply consistent formatting across all widgets (padding, separators, bold, minimalist mode, and color overrides)
- π Cross-platform - Works seamlessly with both Bun and Node.js
- π§ Flexible Configuration - Supports custom Claude Code config directory via
CLAUDE_CONFIG_DIRenvironment variable - π Smart Width Detection - Automatically adapts to terminal width with flex separators
- β‘ Zero Config - Sensible defaults that work out of the box
The localizations in this section are third-party forks maintained outside this repository. They are not maintained, reviewed, or endorsed by this repository, so review their code and releases before using them.
- π δΈζη (Chinese): ccstatusline-zh
# Run the configuration TUI with npm
npx -y ccstatusline@latest
# Or with Bun (faster)
bunx -y ccstatusline@latestConfigure ccstatusline
The interactive configuration tool provides a terminal UI where you can:
- Configure multiple separate status lines
- Add/remove/reorder status line widgets
- Customize colors for each widget
- Configure flex separator behavior
- Edit custom text widgets
- Install/uninstall to Claude Code settings
- Preview your status line in real-time
π‘ Tip: Your settings are automatically saved to
~/.config/ccstatusline/settings.json
π§ Custom Claude Config: If your Claude Code configuration is in a non-standard location, set the
CLAUDE_CONFIG_DIRenvironment variable:# Linux/macOS export CLAUDE_CONFIG_DIR=/custom/path/to/.claude
π Usage API proxy: Usage widgets honor the uppercase
HTTPS_PROXYenvironment variable for their direct API call to Anthropic.
πͺ Windows Support: PowerShell examples, installation notes, fonts, troubleshooting, WSL, and Windows Terminal configuration are in docs/WINDOWS.md.
Claude Code settings.json format
When you install from the TUI, ccstatusline writes a statusLine command object to your Claude Code settings:
{
"statusLine": {
"type": "command",
"command": "npx -y ccstatusline@latest",
"padding": 0
}
}Other supported command values are:
bunx -y ccstatusline@latestccstatusline(for self-managed/global installs)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If ccstatusline is useful to you, consider buying me a coffee:
MIT Β© Matthew Breedlove
Matthew Breedlove
- GitHub: @sirmalloc
- tweakcc - Customize Claude Code themes, thinking verbs, and more.
- ccusage - Track and display Claude Code usage metrics.
- codachi - A tamagotchi-style statusline pet that grows with your context window.
- Built for use with Claude Code CLI by Anthropic
- Powered by Ink for the terminal UI
- Made with β€οΈ for the Claude Code community
Give a β if this project helped you!





