Zellij plugin
A vertical, grouped, collapsible tab sidebar for Zellij — with live attention indicators driven by Claude Code.
Prebuilt .wasm · verified on Zellij
0.43.1–0.44.3 · MIT
Zellij has no native vertical tabs. This renders a left sidebar that shows tabs as a collapsible tree grouped by name prefix, so many tabs stay organized at a glance.
A tab named group:label lands under group; no colon means
General. Groups collapse and expand.
jk/arrows to move, Enter to switch or toggle. ⇧J⇧K reorders groups and tabs. Mouse works too.
r on a group renames the group and re-prefixes its tabs; on a tab it renames the label. Persists across restarts.
◆ when Claude needs input, ✓ when it finishes — cleared when you focus the tab. Rolls up to collapsed headers.
An animated indicator while Claude is running in a tab. Configurable frames — preview the sets ↗.
Opt-in: name default tabs from their directory (repo:branch,
worktree-aware) by configurable rules. Your manual names always win.
Zellij can load the plugin straight from the release URL. No download, no Rust toolchain. Two files and you're running.
Put this in try-vtabs.kdl — it loads the plugin from the latest release.
layout { pane split_direction="vertical" { pane size=28 borderless=true { plugin location="https://github.com/otezz/zellij-vtabs/releases/latest/download/zellij-vtabs.wasm" } pane } pane size=1 borderless=true { plugin location="zellij:status-bar" } }
Append to ~/.cache/zellij/permissions.kdl — the in-pane grant
prompt doesn't render usably in a 28-column sidebar.
"https://github.com/otezz/zellij-vtabs/releases/latest/download/zellij-vtabs.wasm" {
ReadApplicationState
ChangeApplicationState
ReadCliPipes
}
Start a session with the layout, then name a couple of tabs
group:label to see the tree.
zellij --new-session-with-layout ./try-vtabs.kdl
Want it as your default sidebar, auto-grouping, and the Claude Code attention/working hooks? The README has the full install, config reference, and hook setup.