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 Downloads

Line 1:  [████████░░░░░░░░░░░░] │ in:245K out:18K │ cache:41% │ $0.73 │ $0.73/$10 │ burn:36K/min │ (200K)
Line 2:  12m05s │ api:5m12s │ +247 -38 │ ⎇ myapp/feat/statusline │ tools:42 │ sessions:3 │ Opus 4.6 (1M context)

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 — 17 data points including burn rate (tokens/min), a metric no other statusline tracks
  • 7 built-in themes — default, minimal, powerline, nord, tokyo-night, gruvbox, rose-pine
  • Budget monitoring — set a daily spend limit, get color-coded warnings as you approach it
  • Session analytics — tool call count and today's session count at a glance
  • Cross-platform — tested on Windows, macOS, and Linux across Python 3.8–3.14 (21 CI jobs)
  • Interactive setup--setup wizard walks you through theme selection and budget config

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
Budget $0.73/$10 Color-coded daily budget tracker (green/yellow/red)
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
API Latency api:5m12s Time spent in API calls
Lines Changed +247 -38 Git-diff style — green additions, red removals
Git Branch ⎇ feat/statusline Green for main/master, yellow for feature branches
Tool Calls tools:42 Number of tool calls in current session
Sessions Today sessions:3 How many sessions you've started today
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
Model Opus 4.6 (1M context) Active model name

Themes

7 built-in themes to match your terminal aesthetic. Preview all live with claude-status --demo.

default — full detail, clean separators

[████████░░░░░░░░░░░░] │ in:245K out:18K │ cache:41% │ $0.73 │ burn:36K/min │ (200K)
12m05s │ +247 -38 │ ⎇ myapp/feat/statusline │ tools:42 │ sessions:3 │ Opus 4.6 (1M context)

minimal — just the essentials

●●●●●●●●·············· in:245K out:18K $0.73
12m05s ⎇ feat/statusline sessions:3 Opus 4.6 (1M context)

powerline — Nerd Font separators

████████░░░░░░░░░░░░  in:245K out:18K  cache:41%  $0.73  burn:36K/min  (200K)
12m05s  +247 -38  ⎇ feat/statusline  tools:42  sessions:3  Opus 4.6 (1M context)

nord — cool blue tones

tokyo-night — purple and blue accents

gruvbox — warm retro palette

rose-pine — soft muted pinks

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 --setup Interactive setup wizard (recommended for first use)
claude-status --install Auto-configure Claude Code settings
claude-status --install --theme nord Install with a specific theme
claude-status --demo Preview all 7 themes with sample data
claude-status --doctor Diagnostics: Python version, OS, terminal, current settings
claude-status --version Show version
claude-status --help Show usage

Budget Monitoring

Set a daily spending limit to get color-coded warnings as you approach it:

claude-status --setup  # interactive wizard sets this up for you

Or manually create ~/.claude/claude-status-budget.json:

{
  "daily_budget_usd": 10.00
}

The budget indicator changes color based on usage:

  • Green: under 70% of budget
  • Yellow: 70–90% of budget
  • Red (bold): 90%+ of budget

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 7 + custom 100 1
Burn rate Yes No No
Budget monitoring Yes No No
Session analytics Yes No No
Two-line layout Yes Yes No
Interactive setup --setup 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.2.0.tar.gz (25.2 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.2.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_status-0.2.0.tar.gz
  • Upload date:
  • Size: 25.2 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.2.0.tar.gz
Algorithm Hash digest
SHA256 2b47605978bd181f9be7d11937b994e1d9fe85c8d086199815d081ad6015083e
MD5 a0cdbd0c1fd1d206f5c6e8bc218950a1
BLAKE2b-256 04d8220227a6e9966d55d5e9a7334371a6537577718fca4dc3fdbf753e979fce

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_status-0.2.0.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: claude_status-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ebf15770dc95a747c99367e08dedc68c5056fd9b25fd20c6e85b63735be35d1
MD5 c0842d012dc5313cd7a6c6cf15a05a60
BLAKE2b-256 ba901ecb47d04ce84bac4c339abb495183a9343d0a1ac512dbeb58602cce7172

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_status-0.2.0-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