Waybar Claude Status banner
jedbillyb jedbillyb

Waybar Claude Status

Development community

Description

waybar module showing live Claude Code session status (working / waiting / idle), including background jobs that need your input. Reads Claude Code's own state files. Multi-session aware, zero dependencies.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

waybar-claude-status

See what every Claude Code session is doing - right from your bar.

[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](./LICENSE) [![Shell](https://img.shields.io/badge/Bash-4+-4EAA25?style=flat-square&logo=gnu-bash&logoColor=white)](https://www.gnu.org/software/bash/) [![waybar](https://img.shields.io/badge/waybar-module-89b4fa?style=flat-square)](https://github.com/Alexays/Waybar)

A [waybar](https://github.com/Alexays/Waybar) module that shows the live status of your [Claude Code](https://claude.com/claude-code) sessions, read straight from the state Claude Code publishes about itself. Built and tested on Void Linux + sway.

The bar shows one of:

  • claude working - Claude is actively running (prompt submitted / a tool is executing)
  • claude waiting - Claude needs your attention (a permission prompt, a sandbox request, any open dialog)
  • claude idle - session is open and waiting for your next prompt
  • (nothing) - no active sessions

With several sessions in the **same** state the label gains a count, e.g. `claude working (2)`. When they **differ** it shows a per-state breakdown - `claude 1 waiting 1 working` - so a working+idle pair never reads as two working. The colour follows the highest-priority state present (**waiting > working > idle**), and the tooltip lists each session by its working directory.


Features

  • Truthful - reports the status Claude Code itself publishes, rather than reconstructing it from an event stream that has gaps
  • Realtime - an optional one-line hook signals waybar (SIGRTMIN+10) so the bar updates the instant something changes, instead of on the poll interval
  • Multi-session aware - aggregates every open session, with a count and a per-session tooltip
  • Stateless - keeps no state of its own, so there is nothing to get stuck, go stale or need pruning
  • Themeable - a CSS class per state (working / waiting / idle / none)
  • **