Your shell. Your guests.
Type together
Host your terminal, let teammates join from any terminal or a browser — watch together, and when you allow it, type together. End-to-end encrypted, per-guest permissions, and a trail of who typed what.
$ go install github.com/tylerbroqs/cotty/cmd/cotty@latest
0x8b39b55857cea6d173af2b5bb1144c2633739960Pair programming, minus the screen share.
First-class sessions with per-guest permissions, live presence, accountability and real encryption — not a Zoom window of your terminal.
Host anywhere, join from anything
cotty host spawns your shell in a PTY and serves it over a websocket. Your local terminal stays attached as usual. Guests join with cotty join — or straight from a browser, no install needed.
Guests can't type. Until you say so.
View-only by default. Grant, revoke and kick live — try it:
E2EE by default
Relayed sessions are sealed with AES-256-GCM. The relay forwards ciphertext it cannot read.
NAT-friendly relay
The host dials out to cotty relay. No port forwarding on either side — home, office or coffee shop.
Record & replay
-record session.cast writes asciicast v2 — play it with cotty replay or asciinema.
An audit trail of who typed what
Every keystroke that reached the shell, attributed to the participant who typed it — plus joins, leaves, permission changes and kicks. Rejected input never runs, so it's never logged.
Live presence & session codes
Everyone sees who joins, who leaves and who's typing. Every session is protected by a random join code, and guests leave with Ctrl-].
The relay sees noise.
The host generates a 256-bit session key and puts it in the join URL's fragment — the part after # that clients strip before any request is made.
One PTY. Everyone attached.
The host process owns the PTY. Local keystrokes — and guest keystrokes, if allowed — are written to it. Everything the PTY emits fans out to your terminal and every connected guest.
- 01HostSpawn your shell. Cotty prints a session code and a join URL.
- 02ShareSend the URL over a channel you trust — it carries the key.
- 03CollaborateGuests watch. You
allowwho types. The trail remembers.
Up and running in 30 seconds.
Requires Go 1.24+. Linux and macOS hosts; Windows guests should work too, since join uses no PTY.
Stop screen-sharing
your terminal.
Share the real thing. Open source, MIT licensed, built in the open.
0x8b39b55857cea6d173af2b5bb1144c2633739960