Tailscale shipped tailcat this week at TailscaleUp 2026—an open-source CLI that works like netcat but runs over an encrypted WireGuard tunnel, without requiring a Tailscale account, login flow, or IP address configuration. The idea is simple: run a listener on one machine, share the generated token, and connect from another. Encrypted peer-to-peer networking in three commands.
The interesting part is who built this. Tailscale’s entire business rests on managed connectivity—accounts, tailnets, access policies. Tailcat deliberately strips all of that out. That is not a contradiction; it is a calculated move, and it is the right one.
How Tailcat Works
Tailcat reuses Tailscale’s open-source data plane without the control plane. Under the hood: userspace WireGuard for encryption, magicsock for NAT traversal, DERP relays for bootstrapping the connection, and gVisor’s Netstack for TCP/IP—all running without root privileges. The tailcat GitHub repository (665+ stars) covers the full architecture.
When the listener starts, it generates a connection token (format: tc1q...) that encodes the server’s WireGuard public key and relay region. The client uses that token to establish an encrypted tunnel. The initial handshake goes through a DERP relay; magicsock then attempts NAT hole-punching to upgrade to a direct peer-to-peer UDP connection. No accounts, no DNS, no firewall rules needed.
# Install
go install github.com/tailscale/tailcat/cmd/tailcat@latest
# Machine A: start listener
tailcat listen
# prints: tc1qabcxyz... (share this token)
# Machine B: connect
tailcat connect tc1qabcxyz...
# stdin/stdout piped between both machines
Tailcat also supports TCP port exposure, SOCKS5 proxying, auth-free SSH server mode, and exit node functionality. Two key strategies for keys: ephemeral (fresh per run, safer for one-shots) and saved (stable addresses across restarts, but anyone with a prior token can reconnect—understand that tradeoff before using saved keys in anything sensitive).
Where Tailcat Is Actually Useful
The most compelling use case right now is AI agents. Agents frequently need temporary access to a machine to complete a task, but they cannot navigate OAuth flows or manage credentials. Tailcat gives them ephemeral, encrypted access without joining a network or managing keys. The Tailscale team is clearly aware of this: their Aperture AI gateway product, also updated at TailscaleUp, targets the same problem from the governance side.
Beyond agents: CI/CD pipelines that need quick SSH access to a deploy target without full Tailscale deployed everywhere; developers who need to share a local dev server across networks without configuring ports or VPNs; cross-tailnet SSH when you need to reach a machine on a different tailnet temporarily. Classic netcat use cases—piping files between machines—work as expected, except the connection is now encrypted and NAT-traversing by default.
Related: AI Coding Agent Security: Six Vulnerability Classes in Three Weeks
The Vendor Lock-in Question
The obvious concern with any tool from a commercial networking company is dependency on their infrastructure. Brad Fitzpatrick, who wrote tailcat, addressed this directly on Hacker News: “There’s no vendor-lock in here and no payment or account required. If Tailscale as a company fails, tailcat keeps working if you run your own DERP server.”
That is the right answer. All components are MIT or BSD licensed. The DERP relay protocol is documented and self-hostable—no Tailscale involvement required. The only scenario where you depend on Tailscale’s infrastructure is if you use their public DERP relays, which are free and rate-limited. Use your own relay and you are genuinely independent. One commenter on HN raised the concern about malware potentially using tailcat’s infrastructure for command-and-control; rate-limiting on the public relays is the mitigant, and it is the same concern that applies to any relay-based tunneling tool.
Tailcat vs. the Alternatives
The closest conceptual match is Magic Wormhole, which uses human-readable codes and PAKE-based key exchange instead of opaque tokens. Magic Wormhole is better for one-off file transfers where you need to read the code aloud; tailcat is better for programmatic use where you can pass the token as a string. Neither replaces the other.
Compared to raw netcat: tailcat adds encryption and NAT traversal, with only minor setup overhead (installing a Go binary). Compared to socat: tailcat is simpler but less flexible for complex protocol manipulation. Compared to full Tailscale: tailcat has no audit logs, no access policies, no persistent network membership—which is precisely the point for temporary use cases. According to the official tailcat documentation, the tool deliberately omits accounts, identity, policies, and device management. Do not reach for tailcat when you need governance; reach for it when you need a quick encrypted pipe and do not want to configure anything.
Key Takeaways
- Tailcat is encrypted, NAT-traversing netcat that requires no account—install it, listen, share the token, connect.
- It runs on Tailscale’s open-source data plane (WireGuard + magicsock + DERP) and is fully self-hostable without Tailscale infrastructure.
- The strongest use case right now is AI agent access: ephemeral, account-free connectivity for tools that cannot navigate login flows.
- Use ephemeral keys for one-shot connections; saved keys allow anyone with a prior token to reconnect.
- Magic Wormhole is the closest alternative—use tailcat when you need programmatic token passing, Wormhole when you need human-readable codes.













