GitHub - berggren/tss: Tailscale Host Selector · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
berggren
tss
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>7 Commits<br>7 Commits
cmd/tss
cmd/tss
.gitignore
.gitignore
.goreleaser.yml
.goreleaser.yml
AGENTS.md
AGENTS.md
DEVELOPER.md
DEVELOPER.md
LICENSE
LICENSE
MAINTAINER.md
MAINTAINER.md
README.md
README.md
go.mod
go.mod
go.sum
go.sum
release.sh
release.sh
View all files
Repository files navigation
Tailscale Host Selector
tss is a fast, interactive way to search, pick, and connect to your Tailscale peers from the terminal. It installs as tss, and works two ways: an interactive TUI picker, or a one-shot CLI that fuzzy-matches a name and connects you straight away.
brew install berggren/tap/tss
Features
Interactive TUI : Real-time filtering of peers by name or IP, with online/offline status and last-seen times.
One-shot CLI : Pass a name and connect immediately — with exact, prefix, substring, and fuzzy (typo-tolerant) matching.
Resilient connections : Connects via Mosh for reliability over flaky networks, automatically falling back to SSH.
Auto-discovery : Reads your peers from the Tailscale daemon (tailscale status), including standard macOS install locations.
Prerequisites
A Unix-like OS (macOS, Linux, BSD)
Tailscale installed and authenticated
SSH client installed
Optional: Mosh client installed
Installation
Homebrew (macOS and Linux)
brew install berggren/tap/tss
That taps berggren/homebrew-tap and installs a prebuilt binary. To upgrade later:
brew upgrade tss
Go
Install with Go (requires Go 1.24+):
go install github.com/berggren/tss/cmd/tss@latest
From source
Or build from source:
git clone https://github.com/berggren/tss.git<br>cd tss<br>go build -o tss ./cmd/tss<br>mv tss /usr/local/bin/
Verify it runs:
tss --version
Usage
Interactive picker (TUI)
Run tss with no arguments to open the picker. Type to filter, use the arrow keys to select, and press Enter to connect:
tss
Direct connect (CLI)
Pass a peer name (or IP) to connect in one shot. tss fuzzy-matches against your peers, so you don't need the exact hostname:
Given a peer named web-server:
tss web-server # exact match — connects to "web-server"<br>tss web # prefix match — resolves to "web-server" and connects<br>tss serv # substring match — resolves to "web-server"<br>tss web-servr # fuzzy match — tolerates the typo, resolves to "web-server"
When tss resolves your input to a different name, it tells you before connecting:
$ tss web<br>Resolved "web" to "web-server" (prefix match)
If the input is ambiguous or matches no online peer, tss falls back to the interactive picker, pre-filled with what you typed — so you can refine the selection instead of guessing.
Documentation
DEVELOPER.md — building from source, running tests, the code map, and a walkthrough of how the TUI works.
MAINTAINER.md — cutting releases and versioning policy.
About<br>Tailscale Host Selector<br>Resources<br>Readme<br>Apache-2.0 license<br>Activity<br>Stars<br>3 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.