How to run coding agents in parallel on Linux
Give each agent its own git worktree on its own branch and start one agent per worktree in a tmux window. That works on any Linux distribution with git and tmux, and no desktop app is needed. If you want a desktop app that does the bookkeeping, Agency ships as a .deb, an .rpm and an AppImage for x86_64 and arm64.
This page gives the by-hand method first, then the install commands for Agency on Debian, Ubuntu, Fedora and Arch, then what is weaker on Linux than on macOS. Disclosure: Agency is ours, and this site is its home. The general method, with the reasoning behind each step, is in How to run coding agents in parallel.
Run agents in parallel on Linux by hand
Install git and tmux from your distribution if you do not have them, then run these
from inside your repository (here called myapp, with a main
branch). Each worktree is a second checkout in its own folder, so one agent cannot edit
another's files.
-
Create a worktree and branch for each task
git worktree add -b agent/fix-login ../myapp-fix-login main git worktree add -b agent/search ../myapp-search main -
Start one agent per worktree in tmux
Any agent CLI works, and they do not have to be the same one.
tmux new-session -d -s agents -c "$PWD/../myapp-fix-login" claude tmux new-window -t agents -c "$PWD/../myapp-search" codex tmux attach -t agentsDependencies and untracked files such as
.envare not in a fresh worktree, so set each one up before its agent starts. -
Review, merge and clean up
git diff main...agent/fix-login git merge agent/fix-login git worktree remove ../myapp-fix-login git branch -d agent/fix-login
Nothing in that list is specific to a distribution or a desktop, so it works the same over SSH on a server.
Install Agency on Linux
Agency is a free, open-source desktop app that runs the same agent CLIs in real
terminals, each run in its own worktree. Every package comes for x86_64 and arm64;
uname -m says which you have. As of 8 October 2026 the current release is
0.2.5. Install from a terminal, in the folder you downloaded to. The commands use the
x86_64 names; on arm64, use the name of the file you downloaded. The files are on the
download page.
Debian and Ubuntu
sudo apt install ./Agency_0.2.5_amd64.deb
Use apt rather than opening the file in Ubuntu's App Center, which can stall at
"Installing" on a downloaded package. The arm64 file is
Agency_0.2.5_arm64.deb.
Fedora
sudo dnf install ./Agency-0.2.5-1.x86_64.rpm
The arm64 file is Agency-0.2.5-1.aarch64.rpm.
Arch, and any other distribution
chmod +x Agency_0.2.5_amd64.AppImage
./Agency_0.2.5_amd64.AppImage
The arm64 file is Agency_0.2.5_aarch64.AppImage. The AppImage carries its
own libraries and needs only FUSE from the system. If it stops with a
libfuse error, install your distribution's FUSE package, or run it with
APPIMAGE_EXTRACT_AND_RUN=1 set. It does not add itself to your application
menu, and there is no AUR package yet.
apt and dnf fetch WebKitGTK and the other libraries Agency needs. A newer package
installs over an older one the same way, and sudo apt remove agency or
sudo dnf remove agency takes it out again. The packages are not signed.
Which Linux versions does it run on?
Any with glibc 2.34 or later, on x86_64 or arm64: Ubuntu 22.04, Debian 12 and
anything newer, and current Fedora and Arch. The floor comes from the build machine.
The packages are built on Ubuntu 22.04 (glibc 2.35) and the binary needs only
GLIBC_2.34. A build made on a newer image once installed on Debian 12 and
refused to start with version `GLIBC_2.39' not found, so the release
pipeline pins the older image. The .deb declares libc6 (>= 2.34), so a
system that is too old refuses the package instead of installing it and failing at
launch. The .rpm cannot carry that version check. To see your glibc version, run
ldd --version.
You also need git, and Agency offers to install it through your distribution's
package manager if it is missing; the desktop asks for your password. You need at least
one agent CLI on your PATH, which Agency can install for you (most install
through npm, so those need Node). There is no account to create.
What is weaker on Linux than on macOS
- The tray shows how many agents are running in its tooltip, not beside the icon. The Linux tray has no title text to put a count in.
- Clicking a desktop notification does not open the run it was about. Agency cannot hear the click on Linux.
- The window has square corners and no compositor shadow, and its menus live in Agency's own title bar instead of the system menu bar.
- The packages are not signed, and there is no AUR package yet.
None of these stops you working, but you should know them before you choose.
Doing the same with Agency
| Step | By hand | In Agency |
|---|---|---|
| Isolate each task | git worktree add per task | Every run gets its own worktree and branch |
| Start the agents | A tmux window per worktree | Pick the agent per run; each opens in a real terminal you can type into |
| Review | git diff per branch | A per-run diff, with comments you can send back to the agent |
| Merge and clean up | git merge, worktree remove, branch -d | Merge from the run, with conflict resolution in the app |
Who should not use it: anyone on Windows, an Intel Mac or a distribution older than glibc 2.34, and anyone happy in tmux who runs one or two agents at a time. The steps above are all you need there.
Questions
Is there a desktop app for coding agents on Linux?
Yes. Agency runs on Linux as a .deb, an .rpm or an AppImage, for x86_64 and arm64. It is free and open source, and it needs no account.
Can I run Claude Code agents in parallel on Linux without an app?
Yes. Make a git worktree per task and start claude in each one, in tmux
windows as shown above. Claude Code also has claude --worktree fix-login,
which makes the worktree itself.