Skip to main content

Beautiful, informative status line for Claude Code — zero dependencies, cross-platform

Project description

claude-status

Zero-dependency status line for Claude Code. One command. Every metric. All platforms.

PyPI version Python 3.8–3.14 License: MIT CI Platform

Line 1:  [████████░░░░░░░░░░░░] │ in:245K out:18K │ cache:41% │ $0.73 │ burn:36K/min │ (200K)
Line 2:  12m05s │ +247 -38 │ ⎇ feat/statusline │ NORMAL │ [Explore] │ wt:fix/bug-123

Quick Start

pip install claude-status
claude-status --install

Restart Claude Code. That's it — two lines of pure signal at the bottom of your terminal.

Why claude-status?

  • Zero dependencies — pure Python stdlib. No psutil, no colorama, no compilation. Installs in under 2 seconds
  • Two-line layout — glanceable metrics on line 1, context details on line 2. Nothing gets truncated
  • Every metric that matters — 14 data points including burn rate (tokens/min), a metric no other statusline tracks
  • Cross-platform — tested on Windows, macOS, and Linux across Python 3.8–3.14 (21 CI jobs)
  • Instant setup--install auto-configures Claude Code. No manual JSON editing

Features

Line 1 — Metrics at a Glance

Feature What You See Why It Matters
Context Bar [████████░░░░░░░░░░░░] Green/yellow/red adaptive — know your context budget instantly
Token Counts in:245K out:18K Human-readable (K/M) — no squinting at raw numbers
Cache Efficiency cache:41% See how much prompt cache is saving you
Cost $0.73 Session cost in real-time — cents for small, dollars for large
Burn Rate burn:36K/min Tokens/min consumption — unique to claude-status
Context Size (200K) Know if you're on 200K or 1M context
Context Warning !CTX Bold red alert when you exceed 200K tokens

Line 2 — Session Context

Feature What You See Why It Matters
Duration 12m05s Wall-clock session time
Lines Changed +247 -38 Git-diff style — green additions, red removals
Git Branch ⎇ feat/statusline Green for main/master, yellow for feature branches
Vim Mode NORMAL Blue for NORMAL, green for INSERT (when vim mode is on)
Agent [Explore] Shows which subagent is active
Worktree wt:fix/bug-123 Worktree branch indicator

Themes

default — full detail, clean separators

[████████░░░░░░░░░░░░] │ in:245K out:18K │ cache:41% │ $0.73 │ burn:36K/min │ (200K)
12m05s │ +247 -38 │ ⎇ feat/statusline

minimal — just the essentials

●●●●●●●●·············· in:245K out:18K $0.73
12m05s ⎇ feat/statusline

powerline — Nerd Font separators

████████░░░░░░░░░░░░  in:245K out:18K  cache:41%  $0.73  burn:36K/min  (200K)
12m05s  +247 -38  ⎇ feat/statusline

Preview all themes live: claude-status --demo

Installation

pip (recommended)

pip install claude-status
claude-status --install

pipx (isolated — no venv pollution)

pipx install claude-status
claude-status --install

uvx (fast, modern)

uvx claude-status --install

From source (contributors)

git clone https://github.com/mkalkere/claude-statusline.git
cd claude-statusline
pip install -e .
claude-status --install

What --install does

Reads your ~/.claude/settings.json, adds the statusLine entry, preserves everything else. Use --theme to pick a theme:

claude-status --install --theme powerline

Command not found? Ensure your Python scripts directory is in PATH. Fallback: python -m claude_statusline --install

CLI Reference

Command Description
claude-status --install Auto-configure Claude Code settings
claude-status --install --theme powerline Install with a specific theme
claude-status --demo Preview all 3 themes with sample data
claude-status --doctor Diagnostics: Python version, OS, terminal, current settings
claude-status --version Show version
claude-status --help Show usage

Manual Configuration

Add to ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "claude-status"
  }
}

With a theme:

{
  "statusLine": {
    "type": "command",
    "command": "claude-status --theme minimal"
  }
}

How It Works

Claude Code pipes session JSON to your statusLine command via stdin on every render cycle. claude-status parses it, formats 14 metrics across 2 lines, and prints to stdout. No daemon, no database, no background process — just a pure stdin-to-stdout pipe that runs in milliseconds.

Comparison

claude-status claude-statusline ccstatusline
Language Python Python Node.js
Dependencies 0 2 (psutil, colorama) npm
Install time ~2s ~10s ~15s
Cross-platform Windows, macOS, Linux Windows, macOS, Linux Partial
Themes 3 100 1
Burn rate Yes No No
Two-line layout Yes Yes No
Auto-install --install init Manual
Analytics/Dashboard No Yes No
Background daemon No Yes No

Our philosophy: Do one thing well. Show every metric you need, nothing you don't. Install in 2 seconds, work everywhere, break never.

Uninstall

pip uninstall claude-status

Then remove "statusLine" from ~/.claude/settings.json.

Contributing

See CONTRIBUTING.md.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_status-0.1.4.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_status-0.1.4-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file claude_status-0.1.4.tar.gz.

File metadata

  • Download URL: claude_status-0.1.4.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claude_status-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5d50d927aa79935ffc2fff0858d86d736e76f5e36a50dbb4873ad0af2a0b960c
MD5 7a131efb8798aea255a0a53eaba1f35d
BLAKE2b-256 f8958a3eb7345d3dae3afbb39f99a3296ab3f396865330512d92dd927ef09429

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_status-0.1.4.tar.gz:

Publisher: publish.yml on mkalkere/claude-statusline

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claude_status-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: claude_status-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claude_status-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9be899165c6a1cf06dbdac9fdb97d351b8d93d45417009622f2c2c2182e2e811
MD5 e705f4b59e7f87149c6cf9f29bb31f8e
BLAKE2b-256 576c3b8e4f02a40c5cc59cc99669832ed93011c5618dfc704d1d9f16ee13c445

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_status-0.1.4-py3-none-any.whl:

Publisher: publish.yml on mkalkere/claude-statusline

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page