Skip to content

Know which agent needs you.

kittymux turns kitty into a multiplexer for AI coding agents. One glance at the tab bar says who is working, who is waiting for you and who has finished, and one click takes you there.

The demo opens its own window. Your configuration is never read or changed.

The kittymux panel listing seven made-up tabs: one needs you and says so, one is done, and one hit a usage limit and shows when it resets.
The docked panel on made-up tabs: one needs you, one has a usage limit that resets in 42 minutes.
  • 19 agents recognised
  • Local only: no server, no daemon
  • Silence is never “waiting”
  • Asks before resuming a conversation

Nine tabs. Which one is waiting?

Run a few agents side by side and the tab strip stops telling you anything. Is it done? Is it stuck? Is it asking you?

A stock kitty tab strip with nine tabs titled claude, codex, devin, Claude…, zsh, I can'… and so on; none shows a state.
Before: kitty's own tab strip. Titles are cut off and say whatever each agent last said.

The same kind of tabs, with kittymux

A stripe and the question
The tab that needs you is marked, and says what it is asking.
A project under every name
Titles are whatever the agent last said. The folder and branch say where it is.
How long it has waited
And, for a usage limit, when it lifts.
The kittymux vertical bar with nine made-up tabs: one asks 'Do you want to proceed?' and carries a stripe, another is working.
Made-up tabs. The bar lives down the side, so titles have room.

Three things it does

See

The bar names every tab by its task, marks the one that needs you with a stripe, and says how long it has waited. The usage view shows each provider’s limits, a notch where an even pace would be, and when each window resets.

The usage view: four provider tiles, and a card with a five-hour and a weekly limit, each with a gauge, a notch for even pace and the time to reset.
Made-up data.

Act

The inbox collects every question, permission request, limit and finished run as a card with Jump and Dismiss. A command palette finds a tab, an agent or an action by typing. Jump moves focus to the pane that is asking; it never types into it.

Inbox cards: a question with Jump and Dismiss buttons, a permission request, and a chart of how long agents waited on you.
Made-up data.

Come back

Save a workspace and restore it later. Each agent window asks whether to resume its own conversation. It asks first; it never resumes by itself.

kittymux sessions save
kittymux sessions restore
kittymux sessions history

How it knows, and why you can trust it

kittymux reads the bottom of each agent’s screen twice a second and combines it with the agent’s own hooks. A state needs evidence. A quiet screen is never “waiting”, and an interrupted turn is never “finished”.

Shown asStateMeaning
⊘limitedA usage limit or quota is exhausted. Nothing happens until it resets, and the tab says when.
!waitingIt is asking you something: a permission prompt or a question.
⠋workingIt is busy. The spinner turns.
✓doneIt finished while you were elsewhere. It clears when you look.
—idleAn agent is running and not doing anything.
•unreadOutput arrived in a tab that has no agent.

Try it, then install it

Look first with the demo, which opens its own window and touches nothing of yours. Or, if you already know, install in one line.

Already sure? One line.

git clone https://github.com/KitsuneKode/kittymux ~/kittymux && ~/kittymux/install.sh
  1. 1

    Look first

    Opens its own window with made-up agents. Nothing of yours is read or changed.

    git clone https://github.com/KitsuneKode/kittymux ~/kittymux && ~/kittymux/bin/kittymux demo
  2. 2

    Install

    Checks its dependencies, backs up kitty.conf and adds a few include lines. It never overwrites a key of yours.

    ~/kittymux/install.sh
  3. 3

    Check

    Lists anything that is off, and how to fix it.

    kittymux doctor

The keys you will use

All keys
ctrl+alt+b
Open the sidebar deck: hover a tab to preview it, click to jump.
ctrl+alt+shift+b
Dock the panel at the screen edge so it is always in view (Wayland).
ctrl+alt+shift+space
Open the command palette: find a tab, an agent or an action by typing.
ctrl+alt+y
Jump to the next agent waiting on you, longest wait first.
ctrl+alt+e
Number every pane on screen, then press a digit to focus it.
ctrl+alt+1…9
Focus pane 1 to 9 of this tab.
alt+1…9
Jump to tab 1 to 9.
alt+shift+h
Make the pane narrower by 3 columns. alt+shift+l makes it wider.
ctrl+alt+shift+q
Take a quick look at the agent that has waited longest, without leaving this tab.
ctrl+alt+v
Pick from one list: what needs you, every agent, closed conversations or a new agent.
ctrl+alt+shift+o
Start spawn mode, then press c for Claude, x for Codex or d for Devin to open it in a new tab.
ctrl+alt+/
Show every key, searchable, without leaving kitty.

What it is not, yet

Where it has run
Tested on kitty 0.49.1 and 0.49.2, on Arch Linux with Hyprland (Wayland). That is the author’s daily setup, including the docked panel.
Not verified
macOS (agent detection reads /proc, which is Linux-only), kitty 0.48 and other compositors for the docked panel. Windows is not supported: kitty has no Windows build.
What it never does
It sends nothing off your machine and runs no server or always-on daemon. Live usage quotas are opt-in. Notifications and the inbox never type into an agent.

The full list, with what each agent CLI has been checked against, is on Platforms and compatibility.

Questions people ask first

Does it send my data anywhere?

No. There is no server, no network listener and no always-on daemon. It reads pane text and agent state locally and never transmits it. Live usage quotas are opt-in.

Will it type into my agents?

Notifications, the inbox and the panel never do: Jump moves focus, Dismiss hides a card. Only a key you press for it sends text, such as the one that sends a prompt to an agent pane.

Which agents does it recognise?

19 agent CLIs are in its table. Claude Code, Codex and Devin have been checked against live sessions. Some others follow each tool's documented hints, and a few get only their logo and what their hooks or window title report. The platforms page says which is which.

Do I have to leave tmux?

No. tmux stays for remote work. kittymux is for the terminal in front of you.

Does it need Wayland?

Only the docked panel does (it needs wlr-layer-shell). The tab bar, the scanner and the deck were tested on X11 in a virtual display.

Keep kittymux going

kittymux is free and MIT-licensed. It is built and tested on one person’s daily setup, so every star, sponsor and bug report decides what gets fixed next.

Star it on GitHub
A star is the quickest way to say it helped, and it helps other kitty users find it.
Sponsor the work
Sponsorship pays for the slow parts: checking each new agent CLI against real sessions and keeping the docs true.
Report what looks wrong
If an agent shows the wrong state, open an issue with what was on its screen. That is how the markers get verified.

Stop hunting through tabs.

Run the demo first. It opens its own window and leaves your setup alone.

Getting started