End-to-end encrypted

Want to control your claude while sitting on the toilet?

Run any command on your machine, scan the link it prints, and drive it from your phone. The relay in the middle only ever forwards ciphertext — your keystrokes stay yours.

$ curl -fsSL https://onlytty.com/install.sh | sh -s -- claude
End-to-end encrypted No inbound ports Survives bad Wi-Fi Open source

how it works

Three steps. No port forwarding, no agents, no accounts.

01

Run it

onlytty -- claude — or just onlytty to share your whole shell. It keeps running in your terminal and prints a link plus a QR code.

02

Scan it

Open the link on your phone. The session secret rides in the URL #fragment, which the browser never sends to a server — so the relay can't read a thing. It does stay in your browser history, so treat the link like a password.

03

Drive it

Watch live, or tap take control to type — anyone with the link can, so share it like a key (or start --control view-only). Lose signal? It reconnects and picks up where you left off.

end-to-end encrypted

The relay forwards bytes it can't read.

Keys are derived from the secret in the link's #fragment — which the browser never sends to the server. Your machine and your phone hold the keys; the relay in the middle only ever sees ciphertext.

Your machine
$ onlytty -- claude
 Read auth.ex
 Edited auth.ex +18 −4
 Ran mix test  ✓ 24 passed
What the relay sees
opaque AEAD frames — no keys, ever
Your phone
$ onlytty -- claude
 Read auth.ex
 Edited auth.ex +18 −4
 Ran mix test  ✓ 24 passed

Use cases

What you'll actually use it for.

Drive your AI agent

Kick off Claude, Codex, or aider at your desk, then approve its plans and answer its questions from your phone while it works.

On-call from anywhere

Pager goes off at dinner? Tail the logs, bounce the service, kill the runaway process — no scramble for a laptop.

Pair or demo, read-only

Send a watch-only link so a teammate can follow your terminal live — debugging, onboarding, a quick demo — with no screen-share app.

Keep long jobs on a leash

Start a migration, build, or training run, then keep an eye on it — and Ctrl-C it — from the couch.

Security & trust

A remote terminal you don't have to be nervous about.

No inbound ports

The CLI dials out over TLS. Nothing listens on your machine, so your firewall stays exactly as shut as it is now.

Nothing persisted

Live sessions live in memory and vanish when you exit the command. No accounts, no history, nothing written to disk, no logs of your bytes.

Survives bad Wi-Fi

Your phone rides out dropouts, sleep, and dead zones — lose signal on the subway, resurface, and the viewer reconnects right where you left off.

The link is the key

Anyone with the full link can watch and take control. Start it read-only, or add a passphrase the link alone can't decrypt.

Works with any CLI

If it runs in a terminal, OnlyTTY shares it — agents, editors, REPLs, TUIs, or your whole shell.

FAQ

Questions you're right to ask

Is this an OnlyFans thing?
No. OnlyTTY is a developer tool with a cheeky name. The only content here is your own terminal, and the only subscriber is you. The joke is the branding; the end-to-end encryption is completely real.
Can the server see my terminal?
No. The session secret lives in the link's #fragment, which browsers never send to the server. Keys are derived from it, so the relay only ever forwards ciphertext. Read the protocol and security model yourself.
Do I have to open a port or install an agent?
No inbound ports and no daemon. The onlytty CLI dials out over WebSocket/TLS, so nothing listens on your machine. It's a single Go binary.
Who can take control of my session?
Anyone with the full link. The link is the key: whoever opens it can watch — and can tap take control to type. Read-only is just the default view, not a per-person gate, so share the link like a password. Want watch-only? Start with --control view-only. Want a second factor? Add --passphrase, and the link alone won't decrypt. Either way, exit the command to stop sharing instantly.
What can I actually control?
Anything that runs in a terminal: AI coding agents, editors, REPLs, database shells, ops TUIs, or your whole $SHELL. Browse the full list for ready-made guides.
Is it really free and open source?
Yes. The relay and the CLI are open source — audit the code or run your own relay with one docker compose up and automatic HTTPS. No accounts, no tracking.
How long does a session last, and what if my connection drops?
As long as you keep it running — there's no expiry by default. Your phone or laptop rides out flaky networks, sleep, and dead zones, reconnecting on its own, so you can drop off Wi-Fi and pick right back up. Want it to self-destruct on a clock? Set --ttl. When you exit the command, it's gone — the relay stores nothing.

Get started

Your terminal is about to go public. To exactly one fan: you.

Try it, it takes less than a minute. Install the open-source CLI, then share a command — or your whole shell. It prints a link and a QR; scan it and you're live.

Install + run
$ curl -fsSL https://onlytty.com/install.sh | sh -s -- claude
Your whole shell
$ onlytty
One command
$ onlytty -- claude
Watch-only
$ onlytty --control view-only -- htop