AGENT-BAR is a Linux top-bar indicator for AI coding agents — Kimi Code, Claude Code, Codex (beta) and Grok. It taps you on the shoulder the exact moment an agent is stuck waiting for you, counts every token live, and tells you what the day cost.
Pulsing orange badge with the count of blocked agents, plus a desktop notification carrying the exact question or permission. Never leave an agent hanging again.
Today's spend right in the panel, parsed incrementally from each CLI's own transcripts. Zero polling cost, zero agents harmed.
Context-window fill per session (ctx 73%). The early warning before a compaction eats your flow.
~$ per day and per session from an editable price table. Estimates, not invoices — vendors reprice, you stay in control.
Every session in one menu: CLI, status, tokens, time in state, pending question. Kimi, Claude and Codex side by side.
SQLite history: today, this week, top sessions. agent-bar stats in the terminal. Restarts never double-count.
| CLI | Working / done | "Needs you" | Tokens |
|---|---|---|---|
| Kimi Code | YES | YES — PermissionRequest + Notification | YES |
| Claude Code | YES | YES — Notification + PermissionRequest | YES |
| Codexbeta | YES — turn complete | NO — no such hook exists | YES — cumulative |
| Grok | YES | YES — derived from its event stream | YES — per-turn usage |
Hooks are observational and fail-open: agent-bar can never block or break your CLI sessions. GNOME, KDE Plasma, any StatusNotifier desktop. X11 and Wayland.
# Ubuntu / Debian — other distros: see README $ git clone https://github.com/686f6c61/agent-bar.git $ cd agent-bar $ ./scripts/install.sh # then watch the top bar. uninstall is one command too: $ ./scripts/uninstall.sh
The installer sets up system deps, registers hooks in the three CLIs
(your configs are backed up first) and enables a systemd user unit.
agent-bar doctor verifies everything after install.
No telemetry, no network calls, nothing leaves your machine. agent-bar only reads the session files your CLIs already write locally and shows them in your panel. The code is MIT — audit it, it's small.
No. Hooks are observational and fail-open by design: even if agent-bar crashes mid-hook, the CLI continues as if nothing happened. Grok isn't even hooked — we just watch its files.
Anything with an AppIndicator / StatusNotifierItem tray: GNOME (Ubuntu ships the extension), KDE Plasma, XFCE, Cinnamon, MATE… X11 and Wayland.
Codex only exposes a turn-complete notification — there is no waiting-for-input signal to hook. The day Codex adds one, we'll support it. Tokens and completion work fine.
Most of it is usually cache-read: the context re-sent on every model call. Open the menu or agent-bar stats for the in/out/cache breakdown, or flip "Include cache-read in totals" off in Settings to count fresh tokens only.
It's an estimate from an editable price table (vendors reprice; many CLIs are subscriptions). We compute it from fresh tokens only — input, output and cache-write. If you're on a flat plan, your marginal cost is whatever your plan says, not our number.
./scripts/uninstall.sh — removes the daemon, the systemd unit and every hook it registered. Your original CLI configs are restorable from the *.agent-bar.bak backups.