SkillAgentSearch skills...

Barista

A modular statusline for Claude Code CLI - real-time context usage, rate limits, costs, git status, and 20+ customizable modules

Install / Use

/learn @pstuart/Barista
About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop

README

Barista ☕

Serving up fresh stats for your Claude Code sessions.

A feature-rich, modular statusline for Claude Code CLI that brews real-time development information including context usage, rate limits, costs, and more.

Barista Version Shell Script License

<p align="center"> <img src="demo.gif" alt="Barista Demo" width="800"> </p>

What's New in v1.6.1 🆕

  • Hex-Encoded Keychain Fix - Handles macOS 15+ and recent Claude Code versions that store OAuth credentials as hex-encoded data in the Keychain (community contribution by @gcko)
  • Progressive fallback: tries plain JSON, then hex-decoding via xxd, then regex extraction

v1.6.0

  • Rate Limit 429 Backoff - Automatically backs off API calls after receiving 429 responses
  • Version Display - Shows current Barista version in installer and statusline
  • Update Checker - Enhanced update checking from GitHub releases

v1.5.0

  • Smart Terminal Layout - New LAYOUT_MODE setting with intelligent line wrapping
    • smart (default) - Wraps at separator boundaries when content exceeds terminal width
    • newline - Forces Claude's right-side info to next line
    • wrap - Pads output to line boundary
    • truncate - Cuts output with "..." to fit on same line
    • none - No adjustments, natural terminal behavior
  • Prevents awkward mid-module line breaks on wide statuslines
  • Configurable RIGHT_SIDE_RESERVE and TERMINAL_WIDTH settings

v1.4.0

  • Custom Config Directory - Respects CLAUDE_CONFIG_DIR environment variable for users who relocate their Claude configuration from ~/.claude/
  • All paths (cache, logs, usage history, user config) resolve dynamically
  • No changes needed if using the default location

v1.3.0

  • Enhanced Color Themes - 5 distinct visual themes that actually look different:
    • default - Standard emoji (🟢🟡🟠🔴)
    • minimal - Subtle geometric shapes (◦ ◐ → ⎇)
    • vibrant - Bold heart colors (💚💛🧡❤️)
    • monochrome - Pure ASCII ([OK] [~~] [!!] [XX])
    • nerd - Nerd Font icons (requires Nerd Font)
  • Improved Spacing - Status indicators now have proper spacing in normal/verbose modes
  • Smart Compact Mode - Separator padding and status spacing automatically removed in compact mode
  • Fixed Installer Preview - Preview now shows actual sample data instead of just icons

v1.2.0

  • Memory Optimizations - Fixed unbounded history file growth, added file size caps
  • Interactive Update Check - Installer now prompts to check for updates on startup with version display
  • 4-Level Rate Limit Colors - Visual indicators at 50%/75%/95% thresholds (🟢→🟡→🟠→🔴)
  • Monorepo Performance - Git module now limits output to prevent memory spikes in large repos

v1.1.0

  • Auto-Update Checking - Barista checks GitHub for updates and can self-update
  • Interactive Installer - Arrow key navigation with space to toggle selections
  • Customizable Separators - Choose from pipe, arrow, bullet, and more
  • Color Themes - Default, minimal, vibrant, or monochrome
  • Display Modes - Normal, compact, or verbose output
  • Live Preview - See your statusline before installing
  • Bash 3.2 Compatible - Works with macOS default bash (no brew required)

What's On The Menu ☕

Core Modules (The House Blend)

| Module | What It Serves | |--------|----------------| | directory | Current working directory name | | context | Visual progress bar showing context usage with auto-compact warnings | | git | Branch name, dirty status, staged/modified/untracked indicators | | project | Auto-detects Node.js, Nuxt, Next.js, Vite, Rust, Go, Python, Swift, and more | | model | Current Claude model and output style | | cost | Session cost with burn rate ($/hour) and tokens per minute (TPM) | | rate-limits | Real-time 5-hour and 7-day rate limit tracking with projections | | time | Current date and time | | battery | Battery percentage (macOS) |

System Modules (The Espresso Shots)

| Module | What It Serves | |--------|----------------| | cpu | CPU usage percentage | | memory | RAM usage | | disk | Disk space usage | | network | IP address and network info | | uptime | System uptime | | load | System load average | | temperature | CPU temperature (requires osx-cpu-temp) | | brightness | Screen brightness | | processes | Process count |

Dev Tools (The Specialty Drinks)

| Module | What It Serves | |--------|----------------| | docker | Docker container status | | node | Node.js version | | weather | Current weather via wttr.in | | timezone | Multiple timezone clocks |

Fresh Brew Sample

📁 myproject | 📊 ██████░░ 75%🔴 (10k→⚡) | 🌿 main [●+] 📝 3 | ⚡ Nuxt 🚀 | 🤖 Claude Opus 4.5 | 💰 $2.50 @$5.00/h | 5h:45%🟢 7d:78%🟠 | 📅 01/12 🕐 04:30 PM | 🔋 85%

With different separators:

📁 myproject › 📊 ████░░░░ 50%🟢 › 🌿 main › 🤖 Opus    # Arrow style
📁 myproject • 📊 ████░░░░ 50%🟢 • 🌿 main • 🤖 Opus    # Bullet style
DIR: myproject | CTX: ####---- 50%[OK] | GIT: main      # ASCII mode

Temperature Gauge

Context Usage (3-level): | Indicator | Usage | Status | |-----------|-------|--------| | 🟢 | Below 60% | Smooth sipping | | 🟡 | 60-75% | Getting warm | | 🔴 | Above 75% | Boiling over |

Rate Limits (4-level): | Indicator | Usage | Status | |-----------|-------|--------| | 🟢 | Below 50% | Plenty of headroom | | 🟡 | 50-75% | Moderate usage | | 🟠 | 75-95% | High usage | | 🔴 | Above 95% | Critical, near limit |

Requirements

  • Claude Code CLI - Installation Guide
  • Bash 3.2+ - Works with macOS default bash
  • jq - JSON processor (required)
  • bc - Basic calculator (usually pre-installed)
  • macOS - For battery and OAuth keychain access (Linux support partial)
# Install dependencies on macOS
brew install jq

Installation

Quick Brew

# Clone the repo
git clone https://github.com/pstuart/Barista.git
cd Barista

# Run the installer
./install.sh

The interactive installer features:

  • Arrow key navigation - Use ↑/↓ to move, Space to toggle, Enter to confirm
  • Module categories - Core, System, Dev Tools, and Extra modules
  • Display customization - Icons, separators, colors, and themes
  • Live preview - See your statusline before installing
  • Automatic backup - Your previous statusline is saved

Installer Options

# Installation
./install.sh                 # Interactive installation with keyboard navigation
./install.sh --defaults      # Install with core modules, no prompts
./install.sh --minimal       # Quick install with minimal modules
./install.sh --force         # Same as --defaults, no confirmation

# Display options
./install.sh --no-emoji      # Install without emojis (ASCII mode)
./install.sh --no-color      # Install without colors

# Updates
./install.sh --check-update  # Check if a newer version is available
./install.sh --update        # Download and install the latest version
./install.sh --version       # Show current version

# Other
./install.sh --uninstall     # Uninstall and restore previous statusline
./install.sh --help          # Show all options

Staying Up to Date

Barista automatically checks for updates when you run the installer. You can also manually check:

./install.sh --check-update   # Check for updates
./install.sh --update         # Update to latest version

Manual Brew

  1. Copy barista to your Claude directory:

    CLAUDE_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}"
    cp -r barista "$CLAUDE_DIR/barista"
    chmod +x "$CLAUDE_DIR/barista/barista.sh"
    
  2. Configure Claude Code settings:

    Edit your settings.json (in $CLAUDE_CONFIG_DIR or ~/.claude/):

    {
      "statusLine": {
        "type": "command",
        "command": "~/.claude/barista/barista.sh"
      }
    }
    
  3. Restart Claude Code to taste your fresh statusline.

Customization

Interactive Display Preferences

The installer lets you customize:

| Setting | Options | |---------|---------| | Icon Style | Emoji icons or ASCII text | | Status Indicators | 🟢🟡🔴 Emoji, ●●● Dots, or [OK][WARN] ASCII | | Progress Bars | ████░░ Blocks, ▓▓▓░░ Shaded, ●●●○○ Circles, #### Hash | | Separators | | Pipe, ║ Double, › Arrow, • Bullet, : Colon | | Color Themes | Default, Minimal, Vibrant, Monochrome | | Display Mode | Normal, Compact, Verbose |

Configuration Files

Edit barista.conf or create a user override config in your Claude config directory:

# Default location
~/.claude/barista.conf

# Or if using a custom config directory
$CLAUDE_CONFIG_DIR/barista.conf

Custom Config Directory

If you've moved your Claude configuration from the default ~/.claude/, set the CLAUDE_CONFIG_DIR environment variable:

export CLAUDE_CONFIG_DIR="/path/to/my/claude-config"

Barista will automatically use that directory for:

  • User config overrides (barista.conf)
  • Cache files (barista-cache/)
  • Debug logs (barista.log)
  • Rate limit history (.usage_history)

No other configuration changes are needed.

Per-Directory Overrides

Create .barista.conf in any project directory to customize the statusline for that project:

# ~/myproject/.barista.conf
# Minimal statusline for this large monorepo
DISPLAY_MODE="compact"
MODULE_WEATHER="false"
MODULE_ORDER="directory,context,git,model"

Configuration i

View on GitHub
GitHub Stars22
CategoryDevelopment
Updated12d ago
Forks3

Languages

Shell

Security Score

95/100

Audited on Mar 18, 2026

No findings