zj-radar plugin

A Zellij sidebar showing the status of Claude Code, Codex and other agents per tab: working, waiting, done or failed

  • 75 ★ on the repository
  • Last commit
Plugin

Extended access

Why this level

  • The installer downloads and runs a binary, and `setup` commands edit the Zellij config and agent hooks
  • Agent hooks send statuses and command names from your sessions to the panel
All reasons and checks

marktoda/zj-radar

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add plugins/zj-radar

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The installer downloads and runs a binary, and `setup` commands edit the Zellij config and agent hooks
  • Agent hooks send statuses and command names from your sessions to the panel

This is third-party code. Review the repository files before installing.

What it does

zj-radar adds a sidebar to Zellij with the state of every agent in the session: working, waiting for you, done, failed or idle. A click on a row jumps to that tab. The panel pins itself into tab templates the same way the stock Zellij status bar does and survives layout changes. Agent hooks send a small `zj_radar.status.v1` JSON message through `zellij pipe`, and the panel only receives it and redraws. There is no pane polling, because polling is what melted the author's previous plugin. Claude Code, Codex, Opencode, pi and omp are supported, plus any script that can send JSON. Shell commands are visible too: builds and tests show an elapsed counter and dev servers keep a steady marker. Background work an agent started, such as a backgrounded test run or a subagent, gets separate lines under the agent, for now in Claude Code only. When an agent in another tab finishes or waits for you, a desktop notification arrives.

Who it is for. People who keep several agents in different Zellij tabs and lose track of which one is blocked on a permission prompt.

Good fit when

  • Eight tabs with agents are open and you need to see at once which one waits for confirmation
  • An agent works for ten minutes and you want a notification of completion from another tab
  • You want to jump to the right tab with one click or the `attention-next` key binding
  • A custom script should report status to the panel through a JSON message

Not a fit when

  • You do not work in Zellij: the panel exists only as a plugin for this terminal multiplexer
  • You need to launch and orchestrate agents: zj-radar does not start, wrap or own them
  • Your Zellij is older than 0.44.3: the plugin requires a newer one

Example request

Show in the Zellij sidebar which of my agents waits for confirmation and turn on completion notifications

Limitations

Zellij 0.44.3 or newer is required. Prebuilt CLI binaries exist for Linux and Apple Silicon macOS, while Intel macOS builds the CLI from source. Without a status sender the panel lists tabs but shows no agents, so each agent is connected with `zj-radar setup <agent>`. Codex hooks must be trusted separately with `/hooks` inside Codex. Background task lines work only with Claude Code and need `zj-radar` on PATH. Desktop notifications exist on macOS and Linux.

How to disable. Removal follows the list in the repository `docs/install.md`: the wasm plugin, the `radar` alias and the insertion into the Zellij layout. Agent hooks are removed the same way they were installed.

FAQ

Which agents are supported?

Claude Code, Codex, Opencode, pi and omp, plus any script that sends a JSON message. Each is connected with `zj-radar setup claude`, `codex`, `opencode`, `pi` or `omp`.

How can I try it without editing config?

With `zj-radar run`. It opens a throwaway Zellij session with the panel and leaves your configuration alone.

How does the panel learn an agent's status?

Agent hooks send a `zj_radar.status.v1` message through `zellij pipe`. The panel polls nothing, so there is no load on the session.

What do the status glyphs mean?

Working, needs you, done, error and idle. The meaning of each glyph and line is in the repository `docs/using.md`.

How do I update the plugin?

With `zj-radar update`: it moves the CLI and the sidebar to the latest release together.

Discussion

No questions or reviews yet.

Plugins

A local dashboard for Claude Code and Codex sessions: who is working, who waits for you, plus a 3D aquarium and Stream Deck

CLIExtended access296Repository stars

Claude Watch draws a localhost map of project logic, shows Claude Code tool calls live and answers questions

CLIExtended access69Repository stars
Official

A skill that teaches an agent to split Zentty windows into panes, read neighboring sessions, search history and notify you

SkillBroad access331Repository stars

A terminal dashboard for Claude Code and Codex: a tree of agents with live status, a tool-call feed and context headroom.

CLIMinimal access64Repository stars

Grove opens a Zellij session with one tab per git worktree, each with LazyGit, a shell and an AI agent.

CLIExtended access81Repository stars

An htop-like terminal panel for AI agents: Claude Code, Codex, OpenCode and Devin sessions, CPU, tokens and cost.

CLIExtended access94Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
zj-radar (this card)no75
tmux-ideyes567works in tmux and shows agents in a console app
ccmuxno241shows coding agents in tmux with worktree launching
cmuxno28,779a native macOS terminal with tabs and notifications

README in short

The project is presented as a column for Zellij with a three-step quick start: install the CLI, install the sidebar and start Zellij. Agent setup, the feature list, the hook-message design and a table of `config.kdl` options follow.

README badge

Report a problem