Built for your Tailscale tailnet
Run Tailminal on the devices you want to control. They discover each other through Tailscale, connect directly, and need no token exchange in the default mode. Use the CLI, the built-in web UI, or the HTTP/WS API.
$ tailminal exec laptop -- adb devices List of devices attached emulator-5554 device $ tailminal attach laptop laptop ~ ▌
Run a command on any node and stream stdout/stderr live. Exit codes propagate — perfect for scripts and CI-style checks.
Interactive shells that survive disconnects. Detach on your laptop, reattach from your PC with full scrollback replay.
tailminal exec and tailminal attach are plain stdin/stdout subprocesses. Any agent framework can spawn them — zero SDK integration.
Open any node in a browser to see discovered devices and start a live terminal. The quick-command box runs on the node serving the page.
Protected API routes trust loopback and Tailscale connections; LAN and public-interface requests are rejected. Token authentication remains available as an explicit opt-in.
Rename devices in the web UI without changing Tailscale or shared config. Aliases stay in that browser for that site address.
Every node runs the same server. Tailminal reads tailscale status,
prefers MagicDNS names, and checks which online devices are actually running
Tailminal. There is no central Tailminal service.
npm install -g tailminal
tailminal serve
# listens on port 7601 and creates the default config
tailminal hosts
tailminal exec laptop -- uname -a
tailminal attach laptop
# or open http://laptop:7601
No token or peer list is required with the defaults. The host list separates devices that are online in Tailscale from devices where Tailminal is reachable. Manual peers remain available for fixed addresses and stable display labels.
Tailminal ready Tailscale online, Tailminal unavailable Offline or unreachable
Current release: 0.2.2 · View on npm
Don't scrape this page — fetch /llms.txt. It contains the full
setup guide, API surface, and copy-paste integration patterns written for
machines.