Show HN: Tss – Simple Tailscale Host Selector command-line tool

jbn47111 pts1 comments

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.

tailscale berggren server interactive connect from

Related Articles