Skip to content

Releases: pstuart/Barista

v1.7.0: Smart 429 backoff with retry-after header

08 Mar 01:37

Choose a tag to compare

What's New

  • Smart 429 Backoff — Parses the retry-after header from API 429 responses instead of using a hardcoded 300s backoff. The API typically returns ~3600s (1 hour), so this prevents repeated failed retries during cooldown.
  • Cooldown Indicator — Shows ⏸ API cooldown 59m in the status bar when rate-limited with no cached data, instead of silent -- values.
  • Stale Data Marker — When serving cached data during API backoff, appends ⏸42m so you know the data is stale and when the API will be retried.
  • Cleaner Projection Display — Projection indicator (🟢/🟡/🔴) is now hidden when usage is healthy. Only appears at warning (≥80%) or critical (≥100%) levels, eliminating the redundant double-green-circle display.
  • Installer Fix — Added missing descriptions for version and update modules that were showing as "? Unknown module" in the interactive installer.

Context

The Anthropic OAuth usage API (/api/oauth/usage) has been returning aggressive 429 rate limits with retry-after: ~3600 since early March 2026 (anthropics/claude-code#31021). This release makes Barista handle that gracefully.

Full Changelog

v1.6.1...v1.7.0

v1.6.1: Hex-encoded keychain credential support

06 Mar 13:50

Choose a tag to compare

What's New

  • 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, PR #3)
  • Progressive fallback: tries plain JSON → hex-decoding via xxd → regex extraction
  • Updated README with v1.6.0 and v1.6.1 changelogs

Full Changelog

v1.6.0...v1.6.1

v1.6.0: Rate limit 429 backoff, version display, update checker

05 Mar 20:40

Choose a tag to compare

What's New

Rate Limit 429 Backoff

  • Detects HTTP 429 responses from the Anthropic usage API and backs off for 5 minutes (configurable via RATE_BACKOFF_SECONDS)
  • Switched from ad-hoc /tmp cache to the shared cache_get/cache_set system
  • Increased default cache TTL to 120 seconds (RATE_CACHE_TTL)
  • Serves stale cached data (up to 24 hours) when the API is unavailable

Version Display Module

  • Shows ☕ v1.6.0 on the statusbar for the first 2 minutes after startup
  • Auto-hides after the startup window (VERSION_SHOW_DURATION)

Update Checker Module

  • Checks GitHub releases once per day for newer versions
  • Shows ⬆ v1.7.0 (or whatever the new version is) on the statusbar when an update is available
  • Configurable check interval via UPDATE_CHECK_INTERVAL

New Configuration Options

Option Default Description
RATE_CACHE_TTL 120 Cache TTL for API responses (seconds)
RATE_BACKOFF_SECONDS 300 Backoff after 429 (seconds)
VERSION_SHOW_DURATION 120 Seconds to show version on startup
UPDATE_CHECK_INTERVAL 86400 Seconds between update checks

v1.5.0 - Smart Terminal Layout

29 Jan 03:51

Choose a tag to compare

What's New

Smart Terminal Layout Modes

New LAYOUT_MODE setting with intelligent line wrapping that prevents awkward mid-module line breaks:

  • smart (default) - Wraps at separator boundaries when content exceeds terminal width minus reserve
  • 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

Configuration

LAYOUT_MODE="smart"          # Layout mode selection
TERMINAL_WIDTH=""            # Manual override (empty = auto-detect)
RIGHT_SIDE_RESERVE=20        # Space reserved for Claude's right-side display

Upgrade

./install.sh --update

Or pull the latest changes and re-run the installer.

v1.4.0: Support custom CLAUDE_CONFIG_DIR

24 Jan 01:31

Choose a tag to compare

What's New

Barista now respects the CLAUDE_CONFIG_DIR environment variable for users who have moved their Claude configuration directory from the default ~/.claude/.

Changes

  • All paths (cache, logs, usage history, user config) now resolve via $CLAUDE_CONFIG_DIR with fallback to $HOME/.claude
  • Installer writes the correct dynamic path into settings.json based on actual install location
  • Modules include their own fallback for robustness if sourced independently
  • Updated README and CLAUDE.md with configuration documentation

Usage

Users with a custom config directory just need to export the variable:

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

Barista will automatically use that directory for all its files. No configuration changes needed — it just works.

v1.3.2

22 Jan 15:38

Choose a tag to compare

Bug Fixes

  • Weather module: Fixed spacing between weather condition icon and temperature display

Changed Files

  • modules/weather.sh - Added space after weather icon

v1.3.1

14 Jan 22:24

Choose a tag to compare

Bug Fixes

  • Fix spacing around status indicators in rate limits display
  • Added space after % and before time remaining (Xh Xm) for better readability
  • Output now formats as: 5h:50% 🟢 (3h 41m) instead of 5h:50%🟢(3h 41m)

v1.3.0 - Enhanced Color Themes

14 Jan 22:01

Choose a tag to compare

What's New

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)

Each theme now sets unique status indicators, module icons, and progress bar styles.

Improved Spacing

  • Status indicators now have proper spacing in normal/verbose modes
  • 50%🟢50% 🟢

Smart Compact Mode

  • Separator padding automatically removed in compact mode
  • Status indicator spacing removed for tighter display

Fixed Installer Preview

  • Preview now shows actual sample data instead of just icons
  • e.g., 📁 myproject | 📊 ████░░░░ 50%🟢 | 🌿 main

Documentation

  • Added CLAUDE.md with comprehensive project documentation

Upgrade

cd ~/.claude/barista  # or wherever you cloned Barista
git pull
./install.sh --update

Or fresh install:

git clone https://github.com/pstuart/Barista.git
cd Barista
./install.sh

v1.2.0

13 Jan 00:50

Choose a tag to compare

Memory Optimizations

  • Fixed unbounded history file growth in rate-limits module - now only records on fresh API fetch
  • Added 50KB file size cap to prevent memory issues from accumulated history
  • Optimized git porcelain for monorepos with 500-line limit to prevent memory spikes

New Features

Interactive Update Checker

  • Version now displayed in installer banner
  • Prompts user to check for updates on startup
  • Shows clear comparison: installed vs latest version

4-Level Rate Limit Colors

Visual indicators for usage levels:

Usage Indicator
< 50% 🟢 Green
50-75% 🟡 Yellow
75-95% 🟠 Orange
≥ 95% 🔴 Red

New Configuration Options

# Rate limit usage indicators
RATE_SHOW_USAGE_STATUS="true"    # Enable/disable
RATE_LOW_THRESHOLD=50            # Green/yellow boundary
RATE_MEDIUM_THRESHOLD=75         # Yellow/orange boundary  
RATE_HIGH_THRESHOLD=95           # Orange/red boundary

Utility Addition

  • New get_status_4level() function in utils.sh for any module needing 4-level status indicators

Barista v1.1.0

12 Jan 21:43

Choose a tag to compare

Barista v1.1.0 ☕

Serving up fresh stats for your Claude Code sessions.

What's New

Auto-Update System

  • Barista now checks GitHub for updates automatically
  • --check-update to see if a newer version is available
  • --update to download and install the latest version
  • --skip-update-check to bypass automatic checking

Interactive Installer Improvements

  • Arrow key navigation - Use ↑/↓ to move through options
  • Space to toggle - Select/deselect modules easily
  • Live preview - See your statusline before installing
  • Keyboard shortcuts: a for all, n for none, Enter to confirm

Enhanced Customization

  • Separator styles - Pipe |, Double , Arrow , Bullet , and more
  • Color themes - Default, Minimal, Vibrant, Monochrome
  • Display modes - Normal, Compact, Verbose
  • Progress bar styles - Blocks, Shaded, Circles, ASCII

Compatibility

  • Now works with macOS default Bash 3.2 (no need to install newer bash)
  • Removed dependency on Bash 4.0+ associative arrays
  • Better terminal compatibility for arrow key detection

Bug Fixes

  • Fixed escape sequence detection for arrow keys
  • Added pre-install test to verify statusline works before applying config
  • Improved error handling and user feedback

Installation

git clone https://github.com/pstuart/Barista.git
cd Barista
./install.sh

Upgrading

If you already have Barista installed:

cd /path/to/Barista
./install.sh --update

Or pull manually and reinstall:

git pull
./install.sh

Full Changelog

See the README for complete documentation.