@babarot/c-c-statusline
v0.2.5
Published
A Deno-powered status line for Claude Code CLI showing model, context usage, rate limits, and more
Downloads
587
Maintainers
Readme
c-c-statusline
A Deno-powered status line for Claude Code CLI.
Shows model info, context usage, rate limits, git status, session duration, and more — right in your terminal.

Install
Downloads a precompiled binary from GitHub Releases. No runtime dependencies needed.
# curl
curl -fsSL https://raw.githubusercontent.com/babarot/c-c-statusline/main/bin/install.sh | bash
# npx
npx @babarot/c-c-statusline
# Deno
deno run -A https://raw.githubusercontent.com/babarot/c-c-statusline/main/bin/install.tsConfigure
Config file (recommended)
Generate ~/.claude/statusline.yaml with defaults:
# After install
~/.claude/c-c-statusline --init-config
# Or during install
curl -fsSL https://raw.githubusercontent.com/babarot/c-c-statusline/main/bin/install.sh \
| bash -s -- --init-configThen edit to your liking:
# ~/.claude/statusline.yaml
options:
bar-style: block
path-style: short
theme: tokyo-night-storm
time-style: relative
ctx-format: 'ctx {used}/{total} ({pct}%)'
git-symbols:
stash: "-"
untracked: "?"settings.json stays clean — no flags in the command:
// ~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "\"$HOME/.claude/c-c-statusline\""
}
}CLI flags
CLI flags override config file values. Pass flags during install to bake them into settings.json:
curl -fsSL https://raw.githubusercontent.com/babarot/c-c-statusline/main/bin/install.sh \
| bash -s -- --bar-style block --path-style short --theme tokyo-nightThis writes the flags directly into the command:
// ~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "\"$HOME/.claude/c-c-statusline\" --bar-style block --path-style short --theme tokyo-night"
}
}Options
| Option | Values | Default | Description |
|---|---|---|---|
| bar-style | dot, block, fill | dot | Progress bar style |
| path-style | parent, full, short, basename | parent | Directory display style |
| theme | See Themes | default | Color theme |
| time-style | absolute, relative | absolute | Reset time format |
| ctx-format | Format string | ctx {used}/{total} ({pct}%) | Context display format |
| vim-mode | auto, always, off | auto | Vim mode indicator display |
| git-symbols | Map or key=val,... | See below | Override git status symbols |
bar-style
| Input | Output |
|---|---|
| --bar-style dot | ●●●●○○○○○○ |
| --bar-style block | ▰▰▰▰▱▱▱▱▱▱ |
| --bar-style fill | ████░░░░░░ |
path-style
For /Users/you/src/github.com/you/project:
| Input | Output |
|---|---|
| --path-style parent | you/project |
| --path-style full | ~/src/github.com/you/project |
| --path-style short | ~/s/g/you/project |
| --path-style basename | project |
time-style
| Input | Output |
|---|---|
| --time-style absolute | 8:00pm, Mar 12, 2:00pm |
| --time-style relative | 1h 30m left, 2d 5h left |
ctx-format
Use {used}, {total}, {pct}, {compact} placeholders.
| Placeholder | Description |
|---|---|
| {used} | Tokens used (e.g. 28k) |
| {total} | Context window size (e.g. 200k) |
| {pct} | Usage percentage (e.g. 14) |
| {compact} | Remaining % until auto-compact (based on 80% usable threshold) |
| Input | Output |
|---|---|
| --ctx-format 'ctx {used}/{total} ({pct}%)' | ctx 28k/200k (14%) |
| --ctx-format '{pct}% ({used}/{total})' | 14% (28k/200k) |
| --ctx-format '{pct}% compact:{compact}%' | 14% compact:83% |
| --ctx-format '{used} of {total}' | 28k of 200k |
vim-mode
Shows the current Vim mode when Claude Code's Vim keybinding is enabled. The indicator is appended to the end of line 1.
| Value | Behavior |
|---|---|
| auto | Show only in NORMAL mode (hides in INSERT to reduce noise) |
| always | Show in all modes (NORMAL, INSERT, etc.) |
| off | Never show |
Mode colors: NORMAL uses the theme's primary color, INSERT uses success (green).
# ~/.claude/statusline.yaml
options:
vim-mode: autoThemes
Built-in color themes using 24-bit True Color (RGB). Each theme defines 8 semantic color roles (primary, secondary, success, warning, caution, danger, muted, accent).
| Theme | Description |
|---|---|
| default | Original palette |
| tokyo-night | Tokyo Night Dark |
| tokyo-night-storm | Tokyo Night Storm |
| tokyo-night-light | Tokyo Night Light |
| catppuccin-mocha | Catppuccin Mocha |
| dracula | Dracula |
| solarized-dark | Solarized Dark |
| gruvbox-dark | Gruvbox Dark |
| nord | Nord |
| one-dark | One Dark |
| github-dark | GitHub Dark |
| kanagawa | Kanagawa |
| rose-pine | Rosé Pine |
Git symbols
Override any git status symbol. In the config file, use a map; with CLI flags, use key=val,... format.
| Key | Default | Description |
|---|---|---|
| unstaged | * | Unstaged changes |
| staged | + | Staged changes |
| stash | $ | Stash entries exist |
| untracked | % | Untracked files |
| ahead | ↑ | Ahead of upstream |
| behind | ↓ | Behind upstream |
| Input | Output |
|---|---|
| --git-symbols "stash=-,untracked=?" | (main *+ -?) |
| --git-symbols "unstaged=~,staged=+,stash=-,untracked=?,ahead=+,behind=-" | (main ~+ -? +1-2) |
Config file:
options:
git-symbols:
stash: "-"
untracked: "?"What it shows
Line 1: Model name, context usage (tokens + %), directory, git status, session duration, effort level
Lines 2+: Rate limit usage (current 5-hour window, weekly, extra credits when active)
Git status
Inspired by git-prompt.sh. Displays branch name and rich status indicators:
(main *+$% ↑1↓2|REBASE 3/5)| Symbol | Meaning |
|---|---|
| * | Unstaged changes |
| + | Staged changes |
| $ | Stash entries exist |
| % | Untracked files |
| ↑N | N commits ahead of upstream |
| ↓N | N commits behind upstream |
| \|REBASE | Rebase in progress (with step/total) |
| \|MERGING | Merge in progress |
| \|CHERRY-PICKING | Cherry-pick in progress |
| \|REVERTING | Revert in progress |
| \|BISECTING | Bisect in progress |
| \|AM | git am in progress |
Detached HEAD is shown in red with a tag or short SHA.
Uninstall
# curl
curl -fsSL https://raw.githubusercontent.com/babarot/c-c-statusline/main/bin/install.sh | bash -s -- --uninstall
# npx
npx @babarot/c-c-statusline --uninstall
# Deno
deno run -A https://raw.githubusercontent.com/babarot/c-c-statusline/main/bin/install.ts --uninstallLicense
MIT
