TabDesk

Linux desktop · AI agents and terminals

All your projects, one tab each

TabDesk is a Linux desktop for AI coding agents. Every directory under your projects folder becomes a tab with its own real terminal, already running the CLI that project is set to start — or a plain shell, when what you want is a terminal. Each tab pulses while its terminal is writing and turns green once it falls quiet.

For the hours you have eight sessions going at once — three agents working through their tasks, a build watching itself, an ssh session on a switch in the corner. Eight things running don't need eight windows to watch. They need a rail that tells you which one wants you.

TabDesk
Three terminals working.

Features

What you get

The rail

Every project folder becomes a tab, most recently changed at the top. Opening one starts a terminal already in that directory, running whatever that project is set to start.

One CLI per project

Each project picks what its terminal starts — Claude Code, Codex, Gemini CLI, opencode, Aider, Cursor Agent or a plain shell. The menu lists what is actually installed on the machine, and the choice is remembered with the project.

The your-turn signal

A background tab pulses while its terminal writes and turns green once it has been quiet for a moment. It reads the output itself, so it flags a finished agent, a finished build and a finished rsync alike.

Yellow, above the green ones, is the tab that has stopped on a question — a tool to approve, options to choose between. Claude Code reports that itself through a hook, so the session that cannot go on without you is the one you see first.

Grid of 1–6

Show up to six panels at once and follow several sessions side by side. The panel you click takes the keyboard — as does the tab you select.

Real terminals

Each panel is an actual xterm reparented into the window, not a browser emulation. Curses apps, colour, mouse reporting, ssh, tcpdump and full-screen TUIs behave exactly as they do anywhere else.

Live preview

Run the project next to the terminal — static HTML, Node, Python, Rust, Go. TabDesk finds the port it binds and renders it. Hover any element to see where it comes from in the source.

Follows your desktop

Colours are derived from your live GTK theme and the interface speaks your system language. Change either in system settings and TabDesk changes with it, without a restart.

How it looks

The whole window

The rail on the left, terminals in the middle, the project itself in the dock on the right. Along the bottom: token usage if you run an agent that reports it, plus CPU, RAM and a clock.

TabDesk with the tab rail on the left, a terminal in the middle and a live preview of the project on the right.
One project open, the preview running, the system bar along the bottom.

Requirements

What it needs

System
Linux on X11. The embedded terminals are X11 windows reparented into the panels, which Wayland does not allow.
Dependencies
xterm and xdotool for the terminals, python3-gi for the GTK colours. All pulled in by the package.
Install
A signed .deb from an apt repository. Updates arrive with apt upgrade or through the chip in the system bar.
Version
0.4.0

Questions

Asked and answered

What is TabDesk?

TabDesk is a Linux desktop application for running AI coding agents across many projects. Every directory under your projects folder becomes a tab with its own real terminal — the agent CLI that project uses, or a plain shell — and a tab turns green when its terminal has been quiet for a moment, so you know which one is waiting for you.

Which AI CLIs does TabDesk support?

Each project picks what its terminal starts: Claude Code, OpenAI Codex, Gemini CLI, opencode, Aider, Cursor Agent, or a plain shell. TabDesk only offers the ones actually installed on the machine, found by looking them up on PATH, and remembers the choice per project.

Does TabDesk work on Wayland?

No. The terminals are real xterm windows reparented into the panels through X11, which Wayland does not allow. TabDesk requires a Linux desktop running X11.

How does the your-turn signal work?

TabDesk watches how much each terminal writes. A background tab pulses while output is flowing and turns green once it has been quiet for a moment. Because it reads output rather than asking the program, it flags a finished agent, a finished build and a finished rsync the same way.

How do I get TabDesk?

From a signed apt repository — the command is at the bottom of this page. It works on Debian, Ubuntu and Kali; there is a tarball for everything else. Updates then arrive with the rest of your system, through apt upgrade.

Is TabDesk a terminal multiplexer like tmux?

It solves a neighbouring problem. tmux multiplexes sessions inside one terminal; TabDesk is a desktop window that arranges several real terminals, one per project, and tells you which of them has stopped producing output. The panes are ordinary xterm windows, so tmux runs inside them as usual.

Access

Get TabDesk

TabDesk installs from a signed apt repository, on Debian, Ubuntu and Kali. One command fetches the signing key, checks it, and adds the source:

curl -fsSL https://cdn.thern.io/tabdesk/install.sh | sudo bash

Reading a script before running it as root is a good habit, and this one is written to be read — the step-by-step instructions carry the key fingerprint to verify it against, the apt lines to paste by hand, and a plain tarball for machines that are not Debian-based.

info@thern.io