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.
- 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
- 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
- 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)
| 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) |
| 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 |
| Module | What It Serves |
|---|---|
| docker | Docker container status |
| node | Node.js version |
| weather | Current weather via wttr.in |
| timezone | Multiple timezone clocks |
π 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
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 |
- 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# Clone the repo
git clone https://github.com/pstuart/Barista.git
cd Barista
# Run the installer
./install.shThe 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
# 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 optionsBarista 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-
Copy barista to your Claude directory:
cp -r barista ~/.claude/barista chmod +x ~/.claude/barista/barista.sh
-
Configure Claude Code settings:
Edit
~/.claude/settings.json:{ "statusLine": { "type": "command", "command": "~/.claude/barista/barista.sh" } } -
Restart Claude Code to taste your fresh statusline.
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 |
Edit barista.conf or create ~/.claude/barista.conf for user 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 is loaded in order of precedence:
- Built-in defaults
~/.claude/barista/barista.conf~/.claude/barista.conf(user overrides).barista.conf(per-directory overrides)
# =============================================================================
# GLOBAL SETTINGS
# =============================================================================
SEPARATOR=" | " # Section separator (or " βΊ ", " β’ ", etc.)
DISPLAY_MODE="normal" # "normal", "compact", "verbose"
COLOR_THEME="default" # "default", "minimal", "vibrant", "monochrome"
USE_ICONS="true" # Enable emoji icons
STATUS_STYLE="emoji" # "emoji", "ascii", "dots"
# Progress bar customization
PROGRESS_BAR_WIDTH=8
PROGRESS_BAR_FILLED="β" # Or "β", "β", "#"
PROGRESS_BAR_EMPTY="β" # Or "β", "β", "-"
# =============================================================================
# MODULE ENABLE/DISABLE
# =============================================================================
# Core modules (on by default)
MODULE_DIRECTORY="true"
MODULE_CONTEXT="true"
MODULE_GIT="true"
MODULE_PROJECT="true"
MODULE_MODEL="true"
MODULE_COST="true"
MODULE_RATE_LIMITS="true"
MODULE_TIME="true"
MODULE_BATTERY="true"
# System modules (off by default)
MODULE_CPU="false"
MODULE_MEMORY="false"
MODULE_DISK="false"
MODULE_NETWORK="false"
MODULE_LOAD="false"
# =============================================================================
# RATE LIMIT SETTINGS (v1.2.0+)
# =============================================================================
RATE_SHOW_USAGE_STATUS="true" # Show 4-level color indicators
RATE_LOW_THRESHOLD=50 # Green/yellow boundary
RATE_MEDIUM_THRESHOLD=75 # Yellow/orange boundary
RATE_HIGH_THRESHOLD=95 # Orange/red boundary
# Custom order
MODULE_ORDER="directory,context,git,project,model,cost,rate-limits,time,battery"Espresso (Minimal):
DISPLAY_MODE="compact"
SEPARATOR=" βΊ "
MODULE_ORDER="directory,context,git,model"Americano (Developer):
MODULE_CPU="true"
MODULE_MEMORY="true"
MODULE_DOCKER="true"
MODULE_ORDER="directory,git,docker,cpu,memory,model,cost,rate-limits,battery"Decaf (ASCII-only):
USE_ICONS="false"
STATUS_STYLE="ascii"
SEPARATOR=" | "
PROGRESS_BAR_FILLED="#"
PROGRESS_BAR_EMPTY="-"Monochrome (Minimal colors):
COLOR_THEME="monochrome"
STATUS_STYLE="dots"
SEPARATOR=" β’ "~/.claude/barista/
βββ barista.sh # Main entry point
βββ barista.conf # Configuration file
βββ VERSION # Version tracking
βββ modules/
βββ utils.sh # Shared utility functions
βββ directory.sh # Directory module
βββ context.sh # Context window module
βββ git.sh # Git module
βββ project.sh # Project detection module
βββ model.sh # Model info module
βββ cost.sh # Cost & TPM module
βββ rate-limits.sh # Rate limits module
βββ time.sh # Date/time module
βββ battery.sh # Battery module
βββ ... # Additional modules
Create a new file in modules/ following this recipe:
# =============================================================================
# My Custom Module - Description
# =============================================================================
module_mycustom() {
local input="$1" # JSON input from Claude Code
# Your logic here
echo "π― My Output"
}Then add to barista.conf:
MODULE_MYCUSTOM="true"
MODULE_ORDER="...,mycustom,..."- Ensure you're using Claude Code with a Pro/Team subscription
- Check you're on macOS with credentials stored in Keychain
- Verify you're logged in (
claude login)
- Check file permissions:
chmod +x barista.sh - Verify module files exist in
modules/directory - Enable debug mode:
DEBUG_MODE="true"
- Make sure you're running in a proper terminal (not a script)
- Try a different terminal emulator if issues persist
echo '{"workspace":{"current_dir":"'$PWD'"},"model":{"display_name":"Test"},"output_style":{"name":"default"},"context_window":{"context_window_size":200000,"current_usage":{"input_tokens":10000}}}' | ~/.claude/barista/barista.sh./install.sh --uninstallThis will offer to restore your previous statusline if one was backed up.
- Inspired by cc-statusline by @chongdashu
- Built for use with Claude Code by Anthropic
MIT License - See LICENSE for details.
Patrick D. Stuart
- Website: patrickstuart.com
- GitHub: @pstuart
- Twitter: @pstuart
Enjoy your fresh brew! β
Barista v1.3.0 - Because your Claude Code deserves a great statusline.
