v0.2.0
Better hook integration with Claude Code and Codex, and the panel now sees every agent you have running rather than just the ones in the current session.
Added
Cross-session monitoring. Agents in other Zellij sessions now appear in the panel, and Enter jumps straight to them across tabs and sessions. Rows carry a (session, pane) identity so ids can no longer collide between sessions.
Agent discovery. A process-environment scan finds agents that have never fired a hook, so an agent that was already running when you installed the hooks still shows up as found instead of being invisible. Toggle with the discover config key.
Answering permission prompts from the panel. With ZJ_AGENT_APPROVE=1, a permission prompt parks in the panel and a / r approve or reject it without leaving the panel. Opt-in, since it is the one hook that blocks a turn, and it falls through to the agent's own prompt after ZJ_AGENT_APPROVE_TIMEOUT seconds (default 30).
Richer statuses. failed (rate limit, billing, auth), idle-wait (waiting on you a while), compact (compacting context, which otherwise looks like a hang), found (seen by the scan, no hook yet), and unknown (its session is gone). Rows sort by urgency, so whatever needs you most is at the top.
More hook events. PermissionRequest, StopFailure, PreCompact / PostCompact, plus SubagentStart / SubagentStop and TaskCreated / TaskCompleted as counter deltas on the parent's row.
Notifications. The panel can pop itself open the moment an agent blocks (popup_on_waiting, on by default).
init.sh in the release. One-line install with no clone and no Rust toolchain: the installer fetches the hook and wasm from the same tag it was downloaded from, and leaves a copy at ~/.config/zj-agent-mob/install.sh so the in-panel install screen works from then on. Adds --version, --from-release, --no-download, and --dry-run.
Changed
- Task summaries read Claude's
ai-titleand Codex's session rollout, refreshed only on turn boundaries from a bounded window so multi-megabyte transcripts stay cheap. Stopshows the turn's closing message rather than the summary from before the turn.- Installer resolves symlinks and writes through to the real file, so stow-managed settings land in your dotfiles repo instead of being detached.
- Hook entries in settings carry a literal
$HOME, keeping usernames out of committed dotfiles. Older absolute-path installs migrate automatically.
Fixed
- Two-step kill: x interrupts and arms the row, and only closes the pane on a second press. Refused for agents in other sessions, where pane ids would resolve to the wrong pane.
- Highlight offsets use character rather than byte positions, so multi-byte glyphs no longer shift colouring onto the following word.
- Counters saturate at zero, so a stray
Stopcannot underflow.
Docs
Rewritten README leading with what the plugin does, a three-step quick start, and reference docs for setup, how it works, troubleshooting, and development.
Install
curl -fsSL https://github.com/mohseenrm/zj-agent-mob/releases/download/v0.2.0/init.sh | shThen bind a key and restart any running claude / codex sessions. Full instructions in the README.