Legbar – live AI agent sessions beside GitHub CI, in one terminal Legbar, a new open-source terminal tool from developer gmhoward9289-ops, displays live AI agent sessions and GitHub CI status side-by-side in one screen, merging data from the roost and leghorn discovery layers to prevent discrepancies. The tool, installable via pipx, pip, npm, brew, winget, or apt, supports Python 3.9+ and works on macOS, Linux, and Windows, with features like --json output and LEGBAR_* environment variables for configuration. One screen for the whole fleet: live agent sessions beside GitHub CI , drawn from a single discovery layer so the two panes can never disagree. roost answers what are the models doing . leghorn answers what are the repos doing . Both are true at once and neither view contains the other — so watching a fleet has meant watching two windows and joining them by eye. legbar draws both lanes on one canvas. legbar 5 sessions | 1 cursor | 1 need input | 15 ci red | 125k held | 18:37:00 SESSIONS CI / PRS -------- -------- cc heron-ops-3c FB5 ------- 32% needsinput dev X roost ci cc swamp-ops-ad OP5 ------- 25% working dev X roost 56 ci: skip winget~ cc heron-ops-16 FB5 --------- 10% working dev X copilot-money~ Tests cc claude-10 OP5 --------- 8% idle Claude leghorn release cu c5468eb1 - - idle dev . leghorn 61 checks pending The short ambient loop below is the same program, idling — which is how it spends almost all of its time: Both are real legbar, unmodified, reading a staged fleet — see demo/ /gmhoward9289-ops/legbar/blob/main/demo for how it is built and how to re-record. The second contested row is the one worth looking at: a Claude session and a Cursor agent in the same working copy. Cursor writes no session marker and no claim, so a dashboard reading only Claude's session directory cannot see that collision at all. SESSIONS — every live agent on the machine. Claude Code sessions are joined by pid against ~/.claude/sessions/