A high-performance Claude Code statusline tool written in Rust with Git integration, usage tracking, interactive TUI configuration, and Claude Code enhancement utilities.
The statusline shows: Model | Directory | Git Branch Status | Context Window Information
Works with multiple AI coding agents, not just Claude Code:
| Agent | Integration | Notes |
|---|---|---|
| Claude Code | Native statusLine command |
Full feature set (incl. transcript-based segments) |
| pi | Native statusLine command |
Honors pi's context_window payload (correct limits + token breakdown) |
| Kimi Code CLI (K3 / K2.7) | ccline --kimi reads kimi-code sessions |
No statusline hook upstream yet; also works via Claude Code + Moonshot endpoint |
| Codex CLI | ccline --codex reads rollout sessions |
Codex has no external statusline hook; use in tmux / sidecar pane |
Claude Code — add to ~/.claude/settings.json:
{
"statusLine": { "type": "command", "command": "~/.claude/ccline/ccline", "padding": 0 }
}pi — add to ~/.pi/agent/settings.json (requires the pi-statusline package):
{
"packages": ["npm:pi-statusline"],
"statusLine": { "type": "command", "command": "~/.claude/ccline/ccline" }
}ccline automatically uses pi's context_window payload, so the context limit
and token breakdown are exact for whatever model pi is running (Kimi K3 1M,
GLM, etc.).
Kimi (K3 / K2.7) — the Kimi Code CLI has no statusline hook yet, so ccline pulls status from its session files, same as codex mode:
ccline --kimi # auto-detect: newest session, prefers current dir
ccline --kimi-session ~/.kimi-code/sessions/<wd>/<session> # pin a session
# tmux popup example
bind C-k display-popup -w 90% -h 10 -E "while :; do clear; ~/.claude/ccline/ccline --kimi; sleep 5; done"Model display name and context limit are read from kimi-code's own
~/.kimi-code/config.toml, so they stay correct when you switch models.
Alternatively run Kimi models through Claude Code via Moonshot's Anthropic-compatible endpoint; ccline then renders natively:
export ANTHROPIC_BASE_URL="https://api.moonshot.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="$MOONSHOT_API_KEY"
export ANTHROPIC_MODEL="kimi-k3" # or kimi-k2.7-code
claudeCodex CLI — codex cannot run external statusline commands, so ccline pulls status from codex session files instead. Run it anywhere you like (tmux status bar, sidecar pane):
ccline --codex # auto-detect: newest session, prefers current dir
ccline --codex-session /path/to/rollout-....jsonl # pin a specific session
# tmux status bar example
set -g status-interval 5
set -g status-right "#(cd #{pane_current_path} && ~/.claude/ccline/ccline --codex)"
# or a live sidecar pane
watch -n 5 '~/.claude/ccline/ccline --codex'See docs/multi-agent.md for protocol details, payload dialects, and per-agent capability notes.
- Git integration with branch, status, and tracking info
- Model display with simplified Claude model names
- Usage tracking based on transcript analysis
- Directory display showing current workspace
- Minimal design using Nerd Font icons
- Interactive main menu when executed without input
- TUI configuration interface with real-time preview
- Theme system with multiple built-in presets
- Segment customization with granular control
- Configuration management (init, check, edit)
- Context warning disabler - Remove annoying "Context low" messages
- Verbose mode enabler - Enhanced output detail
- Robust patcher - Survives Claude Code version updates
- Automatic backups - Safe modification with easy recovery
Install via npm (works on all platforms):
# Install globally
npm install -g @cometix/ccline
# Or using yarn
yarn global add @cometix/ccline
# Or using pnpm
pnpm add -g @cometix/cclineUse npm mirror for faster download:
npm install -g @cometix/ccline --registry https://registry.npmmirror.comAfter installation:
- ✅ Global command
cclineis available everywhere - ⚙️ Follow the configuration steps below to integrate with Claude Code
- 🎨 Run
ccline -cto open configuration panel for theme selection
Add to your Claude Code settings.json:
Cross-Platform (Recommended)
{
"statusLine": {
"type": "command",
"command": "~/.claude/ccline/ccline",
"padding": 0
}
}Note for Windows users: Starting from Claude Code v2.1.47+, Unix-style path parsing is supported on Windows. The
~symbol is automatically expanded to your user home directory. Do not use%USERPROFILE%- it no longer works reliably in v2.1.47+.
- Recommended:
~/.claude/ccline/ccline(works on all platforms)- Alternative:
"ccline"(requires npm global installation)
Fallback (npm installation):
{
"statusLine": {
"type": "command",
"command": "ccline",
"padding": 0
}
}Use this if npm global installation is available in PATH
npm update -g @cometix/cclineManual Installation (Click to expand)
Alternatively, download from Releases:
mkdir -p ~/.claude/ccline
wget https://github.com/Haleclipse/CCometixLine/releases/latest/download/ccline-linux-x64.tar.gz
tar -xzf ccline-linux-x64.tar.gz
cp ccline ~/.claude/ccline/
chmod +x ~/.claude/ccline/cclineRequires: Ubuntu 22.04+, CentOS 9+, Debian 11+, RHEL 9+ (glibc 2.35+)
mkdir -p ~/.claude/ccline
wget https://github.com/Haleclipse/CCometixLine/releases/latest/download/ccline-linux-x64-static.tar.gz
tar -xzf ccline-linux-x64-static.tar.gz
cp ccline ~/.claude/ccline/
chmod +x ~/.claude/ccline/cclineWorks on any Linux distribution (static, no dependencies)
mkdir -p ~/.claude/ccline
wget https://github.com/Haleclipse/CCometixLine/releases/latest/download/ccline-macos-x64.tar.gz
tar -xzf ccline-macos-x64.tar.gz
cp ccline ~/.claude/ccline/
chmod +x ~/.claude/ccline/cclinemkdir -p ~/.claude/ccline
wget https://github.com/Haleclipse/CCometixLine/releases/latest/download/ccline-macos-arm64.tar.gz
tar -xzf ccline-macos-arm64.tar.gz
cp ccline ~/.claude/ccline/
chmod +x ~/.claude/ccline/ccline# Create directory and download
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\ccline"
Invoke-WebRequest -Uri "https://github.com/Haleclipse/CCometixLine/releases/latest/download/ccline-windows-x64.zip" -OutFile "ccline-windows-x64.zip"
Expand-Archive -Path "ccline-windows-x64.zip" -DestinationPath "."
Move-Item "ccline.exe" "$env:USERPROFILE\.claude\ccline\"git clone https://github.com/Haleclipse/CCometixLine.git
cd CCometixLine
cargo build --release
# Linux/macOS
mkdir -p ~/.claude/ccline
cp target/release/ccometixline ~/.claude/ccline/ccline
chmod +x ~/.claude/ccline/ccline
# Windows (PowerShell)
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\ccline"
copy target\release\ccometixline.exe "$env:USERPROFILE\.claude\ccline\ccline.exe"# Temporarily use specific theme (overrides config file)
ccline --theme cometix
ccline --theme minimal
ccline --theme gruvbox
ccline --theme nord
ccline --theme powerline-dark
# Or use custom theme files from ~/.claude/ccline/themes/
ccline --theme my-custom-theme# Disable context warnings and enable verbose mode
ccline --patch /path/to/claude-code/cli.js
# Example for common installation
ccline --patch ~/.local/share/fnm/node-versions/v24.4.1/installation/lib/node_modules/@anthropic-ai/claude-code/cli.jsDisplays: Directory | Git Branch Status | Model | Context Window
- Branch name with Nerd Font icon
- Status:
✓Clean,●Dirty,⚠Conflicts - Remote tracking:
↑nAhead,↓nBehind
Shows simplified Claude model names:
claude-3-5-sonnet→Sonnet 3.5claude-4-sonnet→Sonnet 4
Token usage percentage based on transcript analysis with context limit tracking.
CCometixLine supports full configuration via TOML files and interactive TUI:
- Configuration file:
~/.claude/ccline/config.toml - Interactive TUI:
ccline --configfor real-time editing with preview - Theme files:
~/.claude/ccline/themes/*.tomlfor custom themes - Automatic initialization:
ccline --initcreates default configuration
All segments are configurable with:
- Enable/disable toggle
- Custom separators and icons
- Color customization
- Format options
Supported segments: Directory, Git, Model, Usage, Time, Cost, OutputStyle
Location: ~/.claude/ccline/models.toml (auto-created on first run)
This file configures how model IDs are displayed and their context window limits. Claude models (Sonnet, Opus, Haiku) are automatically recognized with version extraction — you only need this file for overrides or third-party models.
# Model entries: simple substring matching on the model ID
# These take priority over built-in Claude model recognition
[[models]]
pattern = "glm-4.5"
display_name = "GLM-4.5"
context_limit = 128000
[[models]]
pattern = "kimi-k2"
display_name = "Kimi K2"
context_limit = 128000
# Context modifiers: matched independently and composable with model entries
# Overrides context_limit and appends display_suffix to the display name
# e.g., model "Opus 4" + modifier " 1M" = "Opus 4 1M"
[[context_modifiers]]
pattern = "[1m]"
display_suffix = " 1M"
context_limit = 1000000- Git: Version 1.5+ (Git 2.22+ recommended for better branch detection)
- Terminal: Must support Nerd Fonts for proper icon display
- Install a Nerd Font (e.g., FiraCode Nerd Font, JetBrains Mono Nerd Font)
- Configure your terminal to use the Nerd Font
- Claude Code: For statusline integration
# Build development version
cargo build
# Run tests
cargo test
# Build optimized release
cargo build --release- TOML configuration file support
- TUI configuration interface
- Custom themes
- Interactive main menu
- Claude Code enhancement tools
Contributions are welcome! Please feel free to submit issues or pull requests.
- tweakcc - Command-line tool to customize your Claude Code themes, thinking verbs, and more.
This project is licensed under the MIT License.
