This page lists the ways to install the tailcat CLI. For what
tailcat is and how to use it, see the README.
Prebuilt binaries are on the Releases page: static Linux binaries (tar.gz) plus Debian (.deb) and RPM (.rpm) packages for amd64, arm64, and armv7, and Windows binaries (zip) for amd64 and arm64.
For macOS, install with Homebrew:
$ brew install tailcatFor Windows, install with Scoop. The package is in Scoop's main bucket, so no extra bucket is needed:
$ scoop install tailcatFor Linux distros with snapd, install from the Snap Store:
$ sudo snap install tailcatThe snap is community-maintained (packaging source at
chanchiwai-ray/tailcat-snap)
and built from the upstream release tag with the recommended build
tags. It's strictly confined: it can read and write files under your
home directory but not elsewhere, and it bundles its own OpenSSH
client for tailcat ssh and tailcat cp. As with any snap, its
config (including the tailcat key and ssh's .ssh directory) lives
under the snap's private home, ~/snap/tailcat/current, rather than
your real ~/.config and ~/.ssh.
There's a container image:
$ docker pull ghcr.io/tailscale/tailcat:latest # or :vx.y.z
$ docker run --rm -i ghcr.io/tailscale/tailcat:latestDon't add -t: a pty is a single byte stream, so it merges the
status output that tailcat writes to stderr (including the listening
address) into stdout with the tunnel data, and no redirection can
separate the two again. Use -i alone when piping through stdin.
Build from source with a Go toolchain:
$ go install github.com/tailscale/tailcat/cmd/tailcat@latestThis works on any operating system Go supports. It's the only install
method for FreeBSD and OpenBSD, which are expected to work but aren't
regularly tested; CI checks that they keep compiling. It's also the
only way to target browsers: the tailcat Go library and the web demo
(the web directory in this repo) build for js/wasm.
With Nix, from nixpkgs:
$ nix profile install nixpkgs#tailcat
$ nix-env -iA nixpkgs.tailcat # or with classic nix-envOr with Nix flakes from this repo, run it directly or install it:
$ nix run github:tailscale/tailcat
$ nix profile install github:tailscale/tailcat# Build release package from source
yay -S tailcat
# OR install the binary release
yay -S tailcat-binpixi global install tailcat
# run without installation
pixi exec tailcatThe official binaries are built with a list of build tags that omits unused Tailscale features, making them about 16% smaller. The recommended tag list is checked in as build-tags.txt (and kept accurate by a CI test), so packagers (Homebrew, AUR, NixOS, etc.) can build the same way:
$ go build -tags "$(cat build-tags.txt)" -ldflags "-s -w" ./cmd/tailcatSee build-tags.md for the details.