Skip to content
 
 

Repository files navigation

FishXCode CCLINE

English | 中文

A high-performance Claude Code status line tool maintained by fishxcode, written in Rust with Git integration, usage tracking, interactive TUI configuration, and Claude Code enhancement utilities.

Language:Rust License:MIT

Screenshots

FishXCode CCLINE

The statusline shows: Model | Directory | Git Branch Status | Context Window Information

Features

Core Functionality

  • 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 TUI Features

  • 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)

Claude Code Enhancement

  • 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

Installation

Quick Install (Recommended)

Install from the public npm registry (works on all platforms and is the recommended option for most users):

# Install globally
npm install -g @fishxcode/ccline

# Or using yarn
yarn global add @fishxcode/ccline

# Or using pnpm
pnpm add -g @fishxcode/ccline

Use npm mirror for faster download:

npm install -g @fishxcode/ccline --registry https://registry.npmmirror.com

Installation Sources

FishXCode CCLINE is published through multiple distribution channels:

  • npmjs: recommended for normal users and direct global installation
  • GitHub Packages: useful if you prefer GitHub-hosted package distribution
  • GitHub Releases: direct binary downloads for manual installation

Install from GitHub Packages:

npm config set @fishxcode:registry https://npm.pkg.github.com
npm install -g @fishxcode/ccline

If the package is private in your GitHub Packages setup, you will also need a GitHub token with package read access.

After installation:

  • ✅ Global command ccline is available everywhere
  • ⚙️ Follow the configuration steps below to integrate with Claude Code
  • 🎨 Run ccline -c to open configuration panel for theme selection

Claude Code Configuration

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

Update

npm update -g @fishxcode/ccline

If you installed from GitHub Packages, keep the same scoped registry when updating:

npm config set @fishxcode:registry https://npm.pkg.github.com
npm update -g @fishxcode/ccline
Manual Installation (Click to expand)

Alternatively, download from Releases:

Linux

Option 1: Dynamic Binary (Recommended)

mkdir -p ~/.claude/ccline
wget https://github.com/fishxcode/CCometixLine/releases/latest/download/ccline-linux-x64.tar.gz
tar -xzf ccline-linux-x64.tar.gz
cp ccline ~/.claude/ccline/
chmod +x ~/.claude/ccline/ccline

Requires: Ubuntu 22.04+, CentOS 9+, Debian 11+, RHEL 9+ (glibc 2.35+)

Option 2: Static Binary (Universal Compatibility)

mkdir -p ~/.claude/ccline
wget https://github.com/fishxcode/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/ccline

Works on any Linux distribution (static, no dependencies)

macOS (Intel)

mkdir -p ~/.claude/ccline
wget https://github.com/fishxcode/CCometixLine/releases/latest/download/ccline-macos-x64.tar.gz
tar -xzf ccline-macos-x64.tar.gz
cp ccline ~/.claude/ccline/
chmod +x ~/.claude/ccline/ccline

macOS (Apple Silicon)

mkdir -p ~/.claude/ccline  
wget https://github.com/fishxcode/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

Windows

# Create directory and download
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\ccline"
Invoke-WebRequest -Uri "https://github.com/fishxcode/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\"

Build from Source

git clone https://github.com/fishxcode/CCometixLine.git
cd ccline
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"

Usage

Theme Override

# 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

Claude Code Enhancement

# 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.js

Request History

# Show daily successful request counts and totals for the current project
ccline --requests-history

# Show only the most recent 30 days
ccline --requests-history --requests-history-days 30

This command reads Claude project history for the current working directory and resolves request stats config in this order:

  • nearest ancestor .claude/settings.json
  • ~/.claude/settings.json
  • legacy ~/.claude/ccline/config.toml fallback

The output shows the resolved project root and the config source actually used.

Default Segments

Displays: Directory | Git Branch Status | Model | Context Window

Git Status Indicators

  • Branch name with Nerd Font icon
  • Status: Clean, Dirty, Conflicts
  • Remote tracking: ↑n Ahead, ↓n Behind

Model Display

Shows simplified Claude model names:

  • claude-3-5-sonnetSonnet 3.5
  • claude-4-sonnetSonnet 4

Context Window Display

Token usage percentage based on transcript analysis with context limit tracking.

Configuration

FishXCode CCLINE supports full configuration via TOML files and interactive TUI:

  • Configuration file: ~/.claude/ccline/config.toml
  • Interactive TUI: ccline --config for real-time editing with preview
  • Theme files: ~/.claude/ccline/themes/*.toml for custom themes
  • Automatic initialization: ccline --init creates default configuration

Available Segments

All segments are configurable with:

  • Enable/disable toggle
  • Custom separators and icons
  • Color customization
  • Format options

Supported segments: Directory, Git, Model, ContextWindow, Usage, Cost, Session, OutputStyle, Update

Session Request Count Configuration

The Session segment can now show successful request counts as either its primary or secondary metric, with configurable timezone-aware reset windows.

The recommended place for request stats rules is Claude Code settings JSON instead of ccline TOML:

{
  "ccline": {
    "requestStats": {
      "scope": "project_window",
      "resetHour": 8,
      "resetMinute": 0,
      "timezoneOffsetMinutes": 480
    }
  }
}

You can place that in the current project's .claude/settings.json or in ~/.claude/settings.json.

[[segments]]
id = "session"
enabled = true

[segments.icon]
plain = "⏱️"
nerd_font = "󱦻"

[segments.colors]
icon = { c16 = 2 }
text = { c16 = 2 }

[segments.styles]
text_bold = false

[segments.options]
primary_metric = "duration"
secondary_metric = "successful_requests"

Available values:

  • primary_metric / secondary_metric: duration, line_changes, successful_requests, none
  • JSON request stats config scope: session or project_window
  • JSON request stats config timezoneOffsetMinutes: timezone offset in minutes, so UTC+8 is 480

Model Configuration (models.toml)

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

Requirements

  • 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

Development

# Build development version
cargo build

# Run tests
cargo test

# Build optimized release
cargo build --release

Roadmap

  • TOML configuration file support
  • TUI configuration interface
  • Custom themes
  • Interactive main menu
  • Claude Code enhancement tools

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Related Projects

  • tweakcc - Command-line tool to customize your Claude Code themes, thinking verbs, and more.

License

This project is licensed under the MIT License. The upstream project remains MIT-licensed, so this fork keeps the required copyright and license notice.

Star History

Star History Chart

About

Claude Code statusline tool written in Rust

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages