If you run multiple AI coding agents at the same time, you’ve probably faced this problem: too many terminal tabs, no clear way to know which agent is waiting for your input, and constantly switching between tabs just to check their status.

A few months ago, I started running Claude Code in one terminal and Codex in another, and within a week, I had five tabs open. Some were idle and waiting for me, but I couldn’t tell which ones without opening each tab individually.

I tried using tmux status bars with custom scripts to track idle panes, and it worked to some extent, but it took time to set up and still couldn’t tell whether an agent was blocked or actively working. That’s exactly the problem herdr is designed to solve.

herdr is a terminal multiplexer built specifically for running AI coding agents, not just regular shell sessions. It’s a single Rust binary created by developer Ogulcan Celik and has been one of the top trending projects on GitHub since late June 2026, gaining more than 10,000 stars in a short time.

If you’ve used tmux before, herdr will feel familiar, and the difference is that herdr monitors what your AI agents are doing and shows at a glance which ones are working, blocked, or finished.

TecMint Weekly Newsletter

Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.

Check your email for a magic link to get started.

Something went wrong. Please try again.

What herdr Actually Does

At its core, herdr is a session manager that runs in your terminal and keeps your processes running even if you disconnect, much like tmux or screen.

You can create workspaces, split them into panes, run different commands in each pane, and detach from the session whenever you want. The server continues running in the background, so closing your laptop won’t stop your sessions.

What makes herdr different is its built-in awareness of AI coding agents that detects tools such as Claude Code, Codex, Amp, Devin CLI, and several other coding agents by looking at process names and terminal output patterns and then groups each pane into one of four states shown in the sidebar: blocked, working, done, or idle.

There’s no need to configure hooks or write custom scripts. You simply start an agent in a pane, and herdr automatically figures out its current state.

Each pane is also a real terminal, not a simulated one, which is more important than it may sound. Many graphical agent managers redraw terminal output inside their own interface, and full-screen terminal applications often don’t display correctly in those environments. herdr avoids this issue because it isn’t an application that wraps around a terminal—it is the terminal.

If you want a structured way to run Claude Code on production systems, the Claude Code for Linux Sysadmins course on Pro TecMint covers the complete workflow, including safe credential handling for automated sessions.

Prerequisites

Before installing herdr, make sure you have the following:

  • A Linux system running a reasonably recent distribution. Ubuntu, Debian, Fedora, RHEL, Rocky Linux, and Arch Linux all work well because herdr is distributed as a static binary.
  • A terminal emulator that you already use. herdr runs inside your existing terminal and doesn’t replace it.
  • curl installed, which is needed to download and run the installation script.
  • At least one AI coding agent, such as Claude Code, Codex, or Amp, if you want to use herdr’s agent detection features.
  • Optional SSH access to a remote server if you plan to run AI agents on remote machines.

You also don’t need root or administrator privileges for a standard installation. The install script places the herdr binary in your user path instead of system directories.

Step 1: Install herdr

The quickest way to install herdr on Linux is by using the official installation script:

curl -fsSL https://herdr.dev/install.sh | sh

You’ll see output similar to this:

Installing herdr Using Official Script

Here’s what the command does:

  • curl -fsSL downloads the installation script quietly, follows redirects, and stops if the download fails.
  • | sh sends the downloaded script directly to the shell and executes it.

Note: If herdr is available through your preferred package manager, you can install it that way instead.

On Ubuntu or Debian systems with Homebrew (Linuxbrew) installed, run:

brew install herdr

On RHEL or Rocky Linux systems with mise installed, run:

mise use -g herdr

If you use Nix, you can run herdr without permanently installing it:

nix run github:ogulcancelik/herdr

After installation, verify that herdr is available in your PATH:

herdr --version

If you see a “command not found” error, your shell may not have picked up ~/.local/bin yet. Add it to your PATH in ~/.bashrc or ~/.zshrc, then reload your shell.

Step 2: Launch herdr and Understand the Interface

Start herdr by running:

herdr

The first time you run it, herdr starts a background server process and opens a workspace with a single pane. From this point on, everything happens inside that terminal window. You can use both your keyboard and mouse to navigate.

Like tmux, herdr uses a prefix key system. Press Ctrl+b, release it, and then press another key to perform an action. This approach prevents herdr from intercepting keystrokes that your shell or AI agents may need.

Some useful keyboard shortcuts are:

  • Ctrl+b, then Shift+N – Create a new workspace.
  • Ctrl+b, then c – Open a new tab in the current workspace.
  • Ctrl+b, then v or - – Split the current pane vertically or horizontally.
  • Ctrl+b, then w – Switch between workspaces.
  • Ctrl+b, then q – Detach from the session while keeping everything running.
  • Ctrl+b, then ? – Display the complete list of keyboard shortcuts.

You’ll also notice a sidebar on the left side of the screen that lists all open panes. This is where herdr’s agent-awareness feature becomes useful, as it displays the status of your AI agents once they are running in their own panes.

Step 3: Run Your First Agent Inside herdr

Inside any pane, start your AI coding agent just as you normally would. For example, to start Claude Code, run:

claude

herdr automatically detects the process by looking at its name and terminal output and then starts tracking the agent’s status and displays it in the sidebar. As the agent’s activity changes, you’ll see the status indicator update in real time.

For example:

🟡 pane-1  claude   working
🔴 pane-2  codex    blocked
🔵 pane-3  amp      done

The status indicators mean:

  • 🟡 working – The agent is actively generating a response or running a tool.
  • 🔴 blocked – The agent is waiting for your input, such as answering a question or approving a permission request.
  • 🔵 done – The agent has finished its task and is sitting at a prompt.
  • 🟢 idle – No supported agent is running in the pane, or the shell is simply idle.

This is what makes herdr useful. Instead of switching between multiple terminal tabs to figure out which agent needs your attention, you can simply glance at the sidebar and see the status of every agent at once.

Step 4: Split Panes and Build a Workspace

In real-world use, you’ll often want multiple panes open at the same time. For example, you might have an AI agent running in one pane, a log viewer in another, and a shell available for quick commands.

Press Ctrl+b, then v to split the current pane vertically. In the new pane, you can start another agent or run a monitoring command such as:

tail -f /var/log/syslog

You can resize panes by dragging the border with your mouse. If you prefer using the keyboard, press Ctrl+b followed by the arrow keys to adjust the layout.

To stay organized:

  • Press Ctrl+b, then c to create a new tab for related panes in the same project.
  • Press Ctrl+b, then Shift+N to create a separate workspace for completely different tasks.

A practical approach is to keep one workspace for each project, with its own set of AI agents and a dedicated shell pane for commands such as Git operations or system administration tasks.

Step 5: Detach, Reattach, and Keep Agents Alive

Whenever you need to close your terminal or step away from your computer, you can detach from your herdr session without stopping anything that’s running inside it.

To detach, press:

Ctrl+b, then q

All your panes keep running in the background. Any AI agents, shell sessions, or log monitoring commands continue exactly as they were.

When you’re ready to return, simply start herdr again:

herdr

This is one of herdr’s biggest advantages over regular terminal tabs. Since the session runs on the herdr server in the background, your agents and terminal processes stay alive even after you close your terminal window and can be restored when you reconnect.

Tip: This is one of herdr’s biggest advantages over regular terminal tabs. Since the session runs on the herdr server in the background, your agents and terminal processes stay alive even after you close your terminal window and can be restored when you reconnect.

Step 6: Run herdr on a Remote Server

If you run AI coding agents on a VPS or remote server, herdr can connect to that server while keeping your local terminal as the client. The agents themselves continue running on the remote machine.

Connect to a remote server with:

herdr --remote ssh://you@yourserver:2222

This is particularly useful if your workflow involves pasting screenshots or images into an AI agent. Traditional SSH sessions combined with tmux often have trouble handling image pasting correctly, while herdr’s remote mode is designed to preserve that functionality.

If your SSH server uses a non-standard port, you may need to open that port in the server’s firewall.
On Ubuntu or Debian systems:

sudo ufw allow 2222/tcp

On RHEL or Rocky Linux systems:

sudo firewall-cmd --add-port=2222/tcp --permanent
sudo firewall-cmd --reload

Here’s what these commands do:

  • sudo runs the command with administrator privileges, which are required to modify firewall rules.
  • ufw allow 2222/tcp or firewall-cmd --add-port=2222/tcp opens TCP port 2222, allowing incoming SSH connections on that port.

You can also give a remote session a name and reconnect to it later without typing the full SSH URL every time:

herdr --remote workbox
The SSH Course on Pro TecMint covers securing remote access in more detail, including key-based authentication and SSH port configuration for setups like this.

Keeping herdr Updated

If you installed herdr using the official installation script, you can update it with the built-in updater:

herdr update

If you installed herdr using a package manager, update it through that package manager instead, as herdr update only works for script-based installations.

On Ubuntu or Debian systems with Homebrew:

brew upgrade herdr

On RHEL or Rocky Linux systems with mise:

mise upgrade herdr
Conclusion

At this point, you have herdr installed, running your first agent with live state tracking in the sidebar, panes split into a real workspace, and a way to detach and reattach without losing anything, on your own machine or on a remote server over SSH. That covers the core of what most people need it for day-to-day.

Go try splitting a pane and running two different agents side by side right now, one working on a feature branch and one reviewing a pull request. Watch the sidebar as they shift between working and blocked. That’s the moment herdr’s value clicks, when you stop babysitting terminal tabs and start reading state at a glance instead.

I’m curious how this fits into setups where agents are already running inside CI pipelines or on ephemeral cloud instances rather than a persistent VPS. If you’ve tried wiring herdr’s socket API into something like that, I’d like to hear how it held up.

If this article helped, with someone on your team.

TecMint Weekly Newsletter

Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.

Check your email for a magic link to get started.

Something went wrong. Please try again.

Share.
Leave A Reply