npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

claude-statusline-amdo

v1.0.5

Published

Custom statusline for Claude Code. Forked from Owloops/claude-powerline

Readme

Claude Powerline

A vim-style powerline statusline for Claude Code with real-time usage tracking, git integration, and custom themes.

License:MIT npm downloads npm version Install size

Mentioned in Awesome Claude Code

Features

Usage Tracking

  • Real-time session costs
  • 5-hour billing window monitoring
  • Daily budget alerts with percentages
  • Token breakdown (input/output/cached)

Git Integration

  • Branch status with clean/dirty indicators
  • Commits ahead/behind remote tracking
  • Repository info (SHA, tags, stash count)
  • Working tree staged/unstaged/untracked counts

Customization

  • 5 built-in themes (dark, light, nord, tokyo-night, rose-pine)
  • Custom color configuration
  • Powerline and minimal separator styles
  • Multi-line layouts to prevent cutoff

Performance Metrics

  • Average and last response times
  • Session duration tracking
  • Message count monitoring
  • Context usage with auto-compact threshold

Installation

Setup

Requires Node.js 18+ and Claude Code.

1. Install powerline fonts:

npx -y @owloops/claude-powerline --install-fonts

2. Add to your Claude Code settings.json:

{
  "statusLine": {
    "type": "command", 
    "command": "npx -y @owloops/claude-powerline@latest --style=powerline",
  }
}

3. Start a Claude session - the statusline appears at the bottom during conversations.

Claude Code with powerline

Using npx automatically downloads and runs the latest version without manual updates.

[!NOTE]
If you encounter font issues, use --style=minimal (default) which works without powerline fonts.

Usage

Once added to Claude Code settings, the statusline runs automatically. For customization:

CLI Options:

  • --theme - dark (default), light, nord, tokyo-night, rose-pine, custom
  • --style - minimal (default), powerline
  • --config - Custom config file path
  • --install-fonts - Install powerline fonts
  • --help - Show help

Examples:

claude-powerline --theme=nord --style=powerline
claude-powerline --config=/path/to/config.json

Environment Variables:

export CLAUDE_POWERLINE_THEME=dark
export CLAUDE_POWERLINE_STYLE=powerline
export CLAUDE_POWERLINE_CONFIG=/path/to/config.json
export CLAUDE_POWERLINE_DEBUG=1  # Enable debug logging

Configuration

Get example config:

# Download full-featured example config
curl -o ~/.claude/claude-powerline.json https://raw.githubusercontent.com/Owloops/claude-powerline/main/.claude-powerline.json

Config locations (first found wins):

  • ./.claude-powerline.json - Project-specific
  • ~/.claude/claude-powerline.json - User config
  • ~/.config/claude-powerline/config.json - XDG standard

Override priority: CLI flags → Environment variables → Config files → Defaults

Config files reload automatically and no restart needed.

Available Segments

| Segment | Description | Key Options | |---------|-------------|-------------| | directory | Current working directory | showBasename | | git | Branch, status, repository info | showSha, showWorkingTree, showTag, showStashCount, showOperation, showTimeSinceCommit, showUpstream, showRepoName | | model | Current Claude model | - | | session | Real-time usage for conversation | type: cost|tokens|both|breakdown | | block | 5-hour billing window usage | type, burnType: cost|tokens|both|none | | today | Daily usage with budget monitoring | type | | context | Context window usage | - | | tmux | Tmux session info | - | | metrics | Performance analytics | showResponseTime, showLastResponseTime, showDuration, showMessageCount | | version | Claude Code version | - |

Segment Configuration

Directory

Shows current working directory name.

"directory": {
  "enabled": true,
  "showBasename": false
}

Options:

  • showBasename: Show only folder name instead of full path

Git

Shows branch, status, and repository information.

"git": {
  "enabled": true,
  "showSha": true,
  "showWorkingTree": false,
  "showOperation": false,
  "showTag": false,
  "showTimeSinceCommit": false,
  "showStashCount": false,
  "showUpstream": false,
  "showRepoName": false
}

Options:

  • showSha: Show abbreviated commit SHA
  • showWorkingTree: Show staged/unstaged/untracked counts
  • showOperation: Show ongoing operations (MERGE/REBASE/CHERRY-PICK)
  • showTag: Show nearest tag
  • showTimeSinceCommit: Show time since last commit
  • showStashCount: Show stash count
  • showUpstream: Show upstream branch
  • showRepoName: Show repository name

Symbols:

  • Branch • SHA • Tag • Stash • Clean • Dirty • Conflicts • ↑3 Ahead • ↓2 Behind • (+1 ~2 ?3) Staged/Unstaged/Untracked

Metrics

Shows performance analytics from your Claude sessions.

"metrics": {
  "enabled": true,
  "showResponseTime": true,
  "showLastResponseTime": false,
  "showDuration": true,
  "showMessageCount": true
}

Options:

  • showResponseTime: Average response time across all messages
  • showLastResponseTime: Time for the last response (shows 0.0s while waiting)
  • showDuration: Total time since session started
  • showMessageCount: Number of user messages sent

Symbols:

  • Average response time • Δ Last response time • Session duration • Message count

Model

Shows current Claude model being used.

"model": {
  "enabled": true
}

Context

Shows context window usage and auto-compact threshold.

"context": {
  "enabled": true
}

Display: ◔ 34,040 (79%) - tokens used and percentage remaining until auto-compact

Tmux

Shows tmux session name and window info when in tmux.

"tmux": {
  "enabled": true
}

Version

Shows Claude Code version.

"version": {
  "enabled": true
}

Display: v1.0.81

Session

Shows real-time usage for current Claude conversation.

"session": {
  "enabled": true,
  "type": "tokens"
}

Options:

  • type: Display format - cost | tokens | both | breakdown

Symbols: § Session

Block

Shows usage within current 5-hour billing window (Claude's rate limit period).

"block": {
  "enabled": true,
  "type": "cost",
  "burnType": "cost"
}

Options:

  • type: Display format - cost | tokens | both | time
  • burnType: Burn rate display - cost | tokens | both | none

Symbols: Block

Today

Shows total daily usage with budget monitoring.

"today": {
  "enabled": true,
  "type": "cost"
}

Options:

  • type: Display format - cost | tokens | both | breakdown

Symbols: Today

Budget Configuration

"budget": {
  "session": { "amount": 10.0, "warningThreshold": 80 },
  "today": { "amount": 25.0, "warningThreshold": 80 }
}

Indicators: 25% Normal • +75% Moderate (50-79%) • !85% Warning (80%+)

Multi-line Layout

Prevent segment cutoff by organizing segments across multiple lines.

{
  "display": {
    "lines": [
      {
        "segments": {
          "directory": { "enabled": true },
          "git": { "enabled": true },
          "model": { "enabled": true }
        }
      },
      {
        "segments": {
          "session": { "enabled": true },
          "today": { "enabled": true },
          "context": { "enabled": true }
        }
      }
    ]
  }
}

[!NOTE]
Claude Code system messages may truncate long status lines. Multi-line layouts prevent segment cutoff and improve readability.

Custom Colors

Create custom themes by defining segment colors.

{
  "theme": "custom",
  "colors": {
    "custom": {
      "directory": { "bg": "#ff6600", "fg": "#ffffff" },
      "git": { "bg": "#0066cc", "fg": "#ffffff" },
      "session": { "bg": "#cc0099", "fg": "#ffffff" }
    }
  }
}

Color Options:

  • bg: Background color (hex, transparent, or none)
  • fg: Foreground/text color (hex)

[!TIP]
Copy existing theme colors from src/themes/ in the repository as a starting point.

Custom Segments

Extend the statusline using shell composition for unlimited flexibility.

Simple Addition

Add custom segments using shell commands:

{
  "statusLine": {
    "type": "command",
    "command": "npx -y @owloops/claude-powerline && echo \" $(date +%H:%M)\"",
    "padding": 0
  }
}

With Colors

Use tput for terminal-compatible colors:

echo "$(tput setab 4)$(tput setaf 15) ⏱ $(date +%H:%M) $(tput sgr0)"
# setab: background (1-7) | setaf: foreground (0-15) | sgr0: reset

Advanced Script

Create ~/.local/bin/my-statusline for complex extensions:

#!/bin/bash
npx -y @owloops/claude-powerline
echo "$(tput setab 6)$(tput setaf 0) ⏱ $(date +%H:%M) $(tput sgr0)"

[!TIP]
Shell composition provides unlimited flexibility while keeping the core package secure.

Contributing

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

See CONTRIBUTORS.md for people who have contributed outside of GitHub PRs.

License

This project is licensed under the MIT License.