Noureddine RAMDI / tmux-agent-sidebar: unified AI agent monitoring in tmux with Rust

Created Mon, 04 May 2026 10:23:02 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

hiroppy/tmux-agent-sidebar

The terminal multiplexer tmux is a staple for developers juggling multiple shells, sessions, and workflows. But when you add AI coding agents like Claude Code, Codex, or OpenCode into the mix, monitoring them across various tmux windows can quickly become chaotic. The tmux-agent-sidebar tackles this exact pain point by offering a unified sidebar that tracks and visualizes live metadata for multiple AI agents across all tmux sessions and windows.

What tmux-agent-sidebar does and how it works

tmux-agent-sidebar is a tmux plugin built in Rust providing a centralized sidebar interface within tmux. It consolidates monitoring of three distinct AI coding agents: Claude Code, Codex, and OpenCode. These agents each have different integration mechanisms — Claude Code uses a marketplace plugin system, Codex employs a badge-based setup, and OpenCode requires a symlinked JavaScript plugin — yet tmux-agent-sidebar brings them all under one roof.

Architecturally, the plugin uses a central Rust binary that communicates with per-agent hooks or plugins installed inside each AI agent’s environment. These hooks feed live metadata back to the Rust binary, which manages the sidebar’s state and rendering in real-time. The metadata tracked includes active prompts, tool calls, partial response previews, the background shell state, and Git worktree information. This provides a comprehensive, up-to-the-second view of what each agent is doing across your tmux layout.

Under the hood, the sidebar runs as a dedicated tmux pane toggled by keyboard shortcuts. It supports native desktop notifications and TPM-based installation for seamless setup. One distinctive feature is its lifecycle management of Git worktrees: users can spawn, tear down, or switch branches, windows, and worktrees directly from the sidebar with a single keystroke. This tight Git integration elevates the sidebar from a simple monitoring tool to a workspace management utility.

Architectural strengths and tradeoffs in multi-agent integration

What sets tmux-agent-sidebar apart is its bridge-style architecture coordinating multiple AI agents with diverse integration patterns. Each agent’s hook or plugin is designed specifically to communicate with the Rust binary, which acts as the single source of truth for the sidebar’s UI and state management.

This approach demands careful engineering to handle asynchronous updates and avoid race conditions, especially when agents can emit metadata at different rates or formats. The Rust codebase uses idiomatic concurrency patterns and efficient state synchronization to keep the sidebar responsive without blocking tmux’s UI.

The tradeoff here is complexity: maintaining compatibility with three different agent ecosystems means more moving parts and potential fragility if any agent changes its plugin API or internal behavior. However, the modular hook system isolates each agent’s integration, making it easier to update and extend individually without disrupting the overall sidebar.

Code quality is solid, with a clean Rust architecture that favors explicit state management and clear separation of concerns. The sidebar UI itself is minimal and pragmatic, focusing on essential metadata rather than flashy visuals, which fits well with tmux’s text-based environment.

The lifecycle management of worktrees is a notable feature, but it requires users to have some familiarity with Git worktree concepts. This could steepen the learning curve for newcomers but offers powerful workflow automation once mastered.

Quick start

1. Install the plugin

Using TPM:

set -g @plugin 'hiroppy/tmux-agent-sidebar'

Reload tmux (tmux source ~/.tmux.conf), then press prefix + I. The install wizard downloads a pre-built binary or builds from source.

2. Wire up the agent hooks

  • Claude Code — register the plugin inside Claude Code:

    /plugin marketplace add ~/.tmux/plugins/tmux-agent-sidebar
    /plugin install tmux-agent-sidebar@hiroppy
    
  • Codex — open a Codex pane, press prefix + e, click the yellow badge, copy the setup snippet, paste it into the Codex pane.

  • OpenCode — symlink just the plugin file so your existing ~/.config/opencode/plugins/ contents stay untouched:

    mkdir -p ~/.config/opencode/plugins
    ln -sf ~/.tmux/plugins/tmux-agent-sidebar/.opencode/plugins/tmux-agent-sidebar.js \
      ~/.config/opencode/plugins/tmux-agent-sidebar.js
    

Full walkthroughs for each agent setup are available in the project’s README.

3. Toggle the sidebar

Use prefix + e to toggle the sidebar in the current tmux window, or prefix + E to toggle it across all windows.

verdict

tmux-agent-sidebar solves a real problem for developers juggling multiple AI coding agents inside tmux. Its Rust-based centralized sidebar and cross-agent hook system provide a unified monitoring and management experience not commonly found in the ecosystem.

The architecture is well-crafted and pragmatic, balancing the complexity of multi-agent integration with modular plugins. The lifecycle management of Git worktrees directly from the sidebar is a standout feature but assumes some Git proficiency, which may limit accessibility for less experienced users.

If you run Claude Code, Codex, or OpenCode and want to keep tabs on their activity without juggling multiple windows or processes, tmux-agent-sidebar is worth exploring. Its reliance on tmux and Rust means it’s best suited for developers comfortable with terminal workflows and willing to invest some setup effort for better DX.

While the project handles live metadata tracking impressively, users should be aware that its multi-agent synchronization depends on the stability of individual agent plugin APIs — changes upstream could require updates to the hooks.

Overall, tmux-agent-sidebar is a solid tool to centralize AI agent visibility in tmux, with practical features that can streamline complex developer workflows involving multiple AI coding assistants.


→ GitHub Repo: hiroppy/tmux-agent-sidebar ⭐ 197 · Rust