Skip to content

[FEATURE] Support standalone buddy display and composable status lines #73

Description

@malammar

Feature Request: Support standalone buddy display and composable status lines

Problem

Currently, claude-buddy takes over the entire statusLine configuration in Claude Code settings. This conflicts with users who already have custom status lines (e.g., showing git branch, emojis for context usage, Node.js version, etc.).

The buddy's multi-line ASCII art display also doesn't fit well in a single-line status bar format, making it difficult to show both the buddy and traditional status information simultaneously.

Image

Use Cases

  1. Standalone buddy viewer: Users want to run the buddy display in a separate terminal/tmux pane while keeping their existing status line
  2. Composable status lines: Users want to show compact status info (git, context, model) alongside a simplified buddy indicator (e.g., just eyes or name)
  3. Side-by-side display: Users want the full animated buddy experience without sacrificing their workflow information

Current Workaround

Created a wrapper script that continuously runs statusline/buddy-status.sh in a loop:

#!/bin/bash
clear
tput civis
trap 'tput cnorm; exit' INT TERM EXIT

while true; do
    tput cup 0 0
    echo '{}' | /home/mustafa/Downloads/claude-buddy/statusline/buddy-status.sh
    sleep 1
done

Users can run this in a tmux pane alongside Claude Code.

Image

Proposed Solutions

Option 1: Built-in standalone mode

Add a --watch or --standalone flag to the buddy CLI that runs continuously:

claude-buddy show --watch
# or
buddy --standalone

Option 2: Compact status line mode

Provide a single-line buddy display option that shows just:

  • Eyes + name (e.g., ◉◉ Ember)
  • Current reaction as tooltip/inline text

This could coexist with other status line content.

Option 3: Composable status line helper

Provide a function/script that returns just the buddy rendering without taking over the entire statusLine, allowing users to combine it with their own scripts:

# In user's custom statusline script
my_status_info="$(show_git_and_context)"
buddy_status="$(claude-buddy status --inline)"
echo "$my_status_info  $buddy_status"

Option 4: Document the pattern

Simply document the workaround approach and provide example scripts for:

  • Running buddy in a tmux pane
  • Integrating buddy into existing status line scripts
  • Creating aliases for easy launching

Benefits

  • Users can keep their existing status line configurations
  • Better support for tmux/split-pane workflows
  • More flexible integration options
  • Buddy remains visible even when status line space is limited

Related

This came up while trying to preserve a custom status line showing:

  • 🌑 Moon phases (context window usage)
  • Git branch and dirty state
  • Node.js version
  • Model name

All of which are useful workflow information that shouldn't be replaced by the buddy display.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions