Hosted terminal relay

Your terminal, on every device.
tmux on steroids.

Reach your own machine's terminal — and the coding agents running on it — from your phone, tablet, or laptop. Through a relay you sign into with GitHub. Your compute, your sessions, everywhere you are.

Install on the machine you want to reach — one line:
$ curl -fsSL https://auth.termtether.io/install | bash
$ termtether login <your-handle>
you.termtether.io
you@laptop:~/proj$ claude
● building the release… running tests… 47 passing
you@laptop:~/proj$
[main] 1:agent 2:logs 3:shellreattached from 📱
esctabctrl|~/

What it is

One relay between you and your machine

termtether puts a durable, mobile-first terminal in front of the box you already own — no VPN, no port-forwarding, no exposed SSH.

Reach anything, anywhere

A full terminal (xterm.js) in any browser — phone, tablet, or laptop. Open you.termtether.io and you're at your prompt.

tmux that never drops

Persistent sessions survive reboots and power loss. Close the tab on your laptop, reopen on your phone, land in the same window — layout, scrollback, and all.

Built for thumbs

A touch toolbar for the keys phones don't have — esc, tab, ctrl, arrows, pipe. Install it as an app (PWA) and get a push when a long job finishes.

Your coding agents, mobile

Run Claude Code, Codex, or any CLI in tmux and check on them from anywhere. Kick off a task at your desk, approve it from the couch.

Zero inbound

The connector dials out to the relay over :443 — no open ports, no NAT rules. Works behind hotel Wi-Fi, coffee-shop networks, and corporate firewalls.

Your compute, open core

The agent that runs on your box is open source; only the relay is hosted. Your sessions and files never live on our servers.

Security

Locked down by default

Access is gated on identity you already trust, and your credentials never travel further than they must.

  • GitHub-gated accessEvery session is authenticated through GitHub. Share a terminal with a teammate by username — a revocable guest grant, not a shared password.
  • Per-device credentialsEach machine you enroll gets its own credential, hashed at rest. Revoke one device without disturbing the others.
  • End-to-end encrypted, browser to boxYour terminal is encrypted the whole way. The relay routes by your handle (SNI) and passes the ciphertext straight through — it never decrypts your session, holds no keys to it, and keeps nothing.
  • Your key never leaves your boxThe TLS private key is generated on your machine; the relay only signs a certificate request, never the key. So it structurally cannot read your traffic — not "we promise not to look," we can't.
  • No exposed surfaceNothing listens for inbound connections on your machine. Dial-out only — there's no port for anyone to scan.
  • Suspend & revokeKill a device credential, drop a guest, or release a handle at any time from your dashboard.

Get started

Three commands to your terminal in the cloud

Install

curl -fsSL \
 https://auth.termtether.io/install \
 | bash

Linux (any major distro) or macOS. Run as your normal user — no sudo (it elevates itself only for system packages).

Enroll

termtether \
 login <handle>

Approve a short code in your browser, signed in with GitHub. The box needs no browser of its own.

Reach it

open https://\
 <handle>.termtether.io/

From any device. Add it to your home screen and it behaves like a native app.

Runs on Linux — Ubuntu, Debian, RHEL/Rocky, Arch, Alpine, openSUSE — and macOS (Apple Silicon & Intel; headless Mac mini or desktop).

Tether your terminal.

Sign in with GitHub — claim your handle in seconds.

Sign in with GitHub