v1.9.0
Added
-
Subagent rows (
subagent-statusline.sh) — per-sub-agent row renderer for the Claude Code agent panel. Replaces the defaultname · description · tokensrow with a theme-aware line: status icon (◐CYAN running /✓GREEN completed /✗RED stopped /·GRAY unknown), label/name, description truncated to fit terminal width, k/M token count, and cwd basename. Readscolumnsandtasks[]from thesubagentStatusLinestdin contract; emits one compact JSON line per task. Handles unknown statuses and all edge cases (empty tasks, malformed stdin) gracefully with zero output and exit 0. Theme-aware: reads~/.claude/.statusline-config.jsonand applies the same color presets as the main statusline. -
install.sh: symlinkssubagent-statusline.shinto the config dir and writes thesubagentStatusLinekey tosettings.jsonalongsidestatusLine(both--forceand fresh installs) -
uninstall.sh: removes thesubagent-statusline.shsymlink and deletes thesubagentStatusLinekey fromsettings.json -
commands/setup.md: Step 7 now writes bothstatusLineandsubagentStatusLinekeys -
README.md: new "Subagent rows" section (after Powerline) describing the row format and how to disable -
test/subagent.bats: 19 new tests covering JSON contract, icon/color per status, description truncation, k/M token formatting, label-over-name preference, cwd basename, theme presets, and all edge cases -
Quota forecast —
pacemodule gains a newpace_display: "eta"config key. ETA mode computes the burn rate from elapsed time and used percentage, then projects when the 5h quota will exhaust. If exhaustion is before the reset:⌛ ~17:40(RED if within 1h, YELLOW otherwise). If quota will outlast the reset:⌛ ok(GREEN). The existing"delta"mode is the default and unchanged. -
Daily budget module (
daily, opt-in) — cross-session spend for the current day. Stores per-session costs in~/.claude/.ccvitals-daily/YYYY-MM-DD.json, sums all sessions, and displaysΣ $4.20. Optionaldaily_budgetconfig key (number, USD) adds a budget denominator and colors: GREEN <50%, YELLOW <80%, MAGENTA <100%, RED ≥100%. Day-files older than 7 days are pruned automatically. Hidden when no session_id or no cost in stdin. -
Weekly per-model split —
weeklymodule gainsweekly_split: trueconfig key. When the OAuth usage cache hasseven_day_opus/seven_day_sonnetutilization, renders7d O:42% S:18%(colored per standard thresholds) instead of the single progress bar. Falls back to the bar when per-model keys are absent or the cache is missing. -
Compactions module (
compactions, opt-in) — counts{"type":"system","subtype":"compact_boundary"}entries in the transcript using a fastgrep -con the full file. Displays↯ 2(GRAY). Hidden when count is 0 or transcript is absent. -
Session tokens module (
tokens, opt-in) — cumulative session input/output token counts using an incremental cache keyed by session_id (~/.claude/.ccvitals-tokens/<id>.txt). On each render only new transcript lines are processed; totals accumulate. Displays⇅ 1.2M/45k(in/out, k/M formatted). Resets on transcript shrink (compact). Hidden when transcript is absent. -
install.sh: menu extended to 24 entries (22=daily, 23=compactions, 24=tokens);--allnow includes all 24 modules;KNOWN_MODULESupdated -
commands/setup.mdandcommands/configure.md: new modules added to optional lists;pace_display,daily_budget,weekly_splitdocumented