Installation
A single binary on your laptop. Your existing SSH setup on the other end.
Build from source today
Tailmux is in early development. The release installer is prepared, but it needs the first published GitHub release before the download command below will work. Until then, use a source build with Go 1.26.6 or later:
git clone https://github.com/sean-brydon/Tailmux.git
cd Tailmux
go build -o bin/tailmux ./cmd/tailmux
./bin/tailmux --versionKeep the built binary at a stable path. The daemon and SSH proxy invoke it again later, so go run is not suitable for normal use.
Install a release
Once a release is published, its assets include install.sh, four platform archives, and checksums.txt.
curl -fsSL https://github.com/sean-brydon/Tailmux/releases/latest/download/install.sh -o /tmp/install-tailmux.sh
sh /tmp/install-tailmux.shThe installer detects your platform, verifies the archive's SHA-256 checksum, and installs tailmux into ~/.local/bin. It does not require sudo or change your shell startup files.
Add that directory to your shell's PATH if it is not already there:
export PATH="$HOME/.local/bin:$PATH"
tailmux --versionSave the export in your shell configuration to make it persistent.
Choose a version or location
sh /tmp/install-tailmux.sh --version v0.1.0
sh /tmp/install-tailmux.sh --bin-dir "$HOME/bin"v0.1.0 is an example tag, not a claim that this release already exists. You can also set TAILMUX_VERSION and TAILMUX_INSTALL_DIR.
Supported platforms
| System | Architecture | Release archive |
|---|---|---|
| macOS | Apple silicon | tailmux_darwin_arm64.tar.gz |
| macOS | Intel | tailmux_darwin_amd64.tar.gz |
| Linux | ARM64 | tailmux_linux_arm64.tar.gz |
| Linux | x86-64 | tailmux_linux_amd64.tar.gz |
OpenSSH must be installed locally. Tailmux's daemon currently uses Unix sockets; Windows is not supported.
Update without losing identities
Run the installer again. Then stop the old daemon before reconnecting:
tailmux stop
tailmux login personalThe profile's state remains on disk, so an ordinary update reuses its existing Tailscale identity. Stopping the daemon disconnects local SSH transports and stops forwards; remote Herdr and tmux sessions keep running. Recreate forwards after restarting. Reopen tailmux terminal after updating to refresh its generated configuration.
Dependencies by workflow
| Workflow | Local requirements | Remote requirements |
|---|---|---|
| SSH and forwarding | OpenSSH | SSH access; local forwarding permitted for tunnels |
herdr attach and herdr sessions | OpenSSH | Herdr on the SSH command PATH |
herdr open | OpenSSH and Herdr | Herdr on the SSH command PATH |
orca | OpenSSH and Orca CLI | Orca runtime, Xvfb/Electron dependencies, firewall; systemd user unit for serve |
terminal | OpenSSH, fzf, and tmux or Zellij | tmux on the SSH command PATH |
Tailmux does not install these dependencies. The terminal integration has been tested with tmux 3.7c, Zellij 0.45.1 and fzf 0.74.3; it uses modern Zellij CLI features. Remote Zellij is not required. No remote Tailmux service is needed for forwarding.
Remote requirements
Each host needs Tailscale connectivity and SSH access for your user. For herdr attach and herdr sessions, install Herdr and make sure it is available to non-interactive SSH shells. See persistent sessions.