Compare

termtether and the other ways to reach a terminal

There are plenty of good ways to reach a shell on a remote machine. This page sets out where termtether fits, how it differs from SSH, mosh, self-hosted web terminals, Tailscale SSH, and Cloudflare's browser SSH — and when one of those is the better tool.

termtether in one paragraph. A small agent on your Linux or macOS machine dials out, and you open that machine's tmux sessions from any browser at sh.termtether.dev/<handle>. Your browser and your box set up a direct WebRTC (DTLS) connection — over your LAN or VPN when possible, hole-punched otherwise, through a TURN relay only as a last resort, which sees only ciphertext. The box's own identity key signs the connection, and your box itself decides who gets in. Several people can use one machine: each Unix user gets their own install and isolated terminal, or you share a box with specific GitHub accounts. On top of the terminal: alerts when an agent needs you, a Files panel, HTTP forwarding, and a layout built for phones.

At a glance

Side by side

Facts about the other tools are their general, documented behaviour; configurations vary, so check their documentation for your setup.

termtether compared with SSH, mosh, ttyd/gotty/wetty, Tailscale SSH, and Cloudflare browser SSH
QuestiontermtetherSSHmoshttyd · gotty · wettyTailscale SSHCloudflare browser SSH
Inbound port on your machineNone — the agent dials outYes, TCP 22 (or a VPN / jump host to reach it)SSH to start, then inbound UDP (60000–61000 by default)An HTTP listener you must secure yourself (TLS, auth, who can reach it)None public; reachable over your tailnetNone public; cloudflared dials out
What the device in your hand needsA browserAn SSH client and your keyA mosh clientA browserThe Tailscale client plus an SSH client; tailnet admins can also use the browser SSH console (beta)A browser
Where the encryption endsYour browser and your box (WebRTC / DTLS), once you trust the box on first connectYour client and your serverYour client and your serverWherever you terminate TLS (often a reverse proxy)WireGuard between your devices; SSH on the boxBrowser to Cloudflare, then Cloudflare Tunnel to your server; Cloudflare renders the terminal in your browser
Who you sign in asYour GitHub account, re-checked by the box against its own listKeys, passwords or certificates you manageSame as SSHWhatever you add (basic auth, an auth proxy)Your tailnet identity and its access rulesYour Cloudflare Access policy
Session survives a disconnectYes — tmux is built in; pick it up from another deviceOnly if you run tmux or screen yourselfYes, across roaming and sleep; another device needs tmux tooDepends on what the listener runsAs SSHAs SSH
Phone-friendly inputTouch toolbar (Esc, Tab, Ctrl, Alt, arrows), phone layoutDepends on your client appDepends on your client app; local echo helps on slow linksA browser terminalDepends on your client appA browser terminal
Alerts when an agent needs youWeb push from your box; approve Claude Code prompts from itNot built inNot built inNot built inNot built inNot built in
Files and web portsFiles panel (browse, upload, download); open a box's localhost web app in your browserscp / sftp; -L / -R port forwardingNo — use SSH alongside itTerminal onlyscp / sftp; any port on the tailnetTerminal; other services through Cloudflare Tunnel
Scripting and automationNot the goal — it is an interactive terminalExcellentInteractive onlyInteractive onlyExcellent (it is SSH)Via cloudflared on the client
Coordination service involvedYes — ours signs you in and introduces your browser to your box; a managed TURN relay is the fallback path. The terminal stays encrypted between your browser and your boxNoNoNoYes — Tailscale's coordination serverYes — Cloudflare, which also carries the session and renders the terminal

In more detail

One by one

vs SSH

SSH is the standard, and the right tool for most remote work. It needs a port your client can reach (or a VPN or jump host in the way), key management, and an SSH client on every device you use.

termtether needs no inbound port and only a browser on the viewing device. Identity is your GitHub account, verified on the box. tmux persistence, a phone layout and agent alerts come built in.

vs mosh

mosh is excellent on flaky, high-latency links: it survives roaming and sleep and echoes keystrokes locally. It starts over SSH, then needs inbound UDP to the server and a mosh client on your device.

termtether needs no inbound port of any kind and runs in a browser. Its sessions live in tmux, so you can pick one up from a different device.

vs ttyd, gotty, wetty

These put a terminal in a browser by running an HTTP server on your machine. Protecting that listener — TLS, authentication, who can reach it — is up to you.

termtether uses ttyd too, but on a private Unix socket on the box. The only way in is an authenticated WebRTC connection that the box itself admits, with the box's key signing the connection. Multiple boxes, files, forwarding, and push sit on top.

vs Tailscale SSH

Tailscale SSH is a good fit when every device you use is on your tailnet. The device in your hand needs the Tailscale client, and usually an SSH client too. Tailnet admins can also open a session from a browser through the admin console's SSH console (in beta).

termtether needs only a browser on the viewing device, so a borrowed laptop works. Already on Tailscale or another VPN? When your browser and box can reach each other over it, termtether connects over that path directly.

vs Cloudflare browser SSH

Cloudflare can render an SSH terminal in the browser behind Cloudflare Access, carried to your server over Cloudflare Tunnel. Your Cloudflare Access policy decides who reaches the server.

With termtether, the encrypted connection runs from your browser to your box. termtether's own sign-in also uses Cloudflare Access (with GitHub), but that only issues an identity, which your box verifies again against its own list; our coordination service can deny access, never grant it.

vs agent vendors' remote apps

If you use one vendor's coding agent and its own app or remote feature does what you need, it is a fine choice.

termtether is a full terminal on your own box: run any CLI — Claude Code, Codex, Grok, or a plain shell — side by side, signed in with your own credentials, across several machines, with files and port forwarding alongside.

Be honest

When to use something else

Last reviewed October 2026. Spotted something wrong about another tool? Tell us from your dashboard's feedback button and we'll fix it.

Try it on your own box

One line to install, GitHub to sign in.

Get started