A native macOS terminal · built on Ghostty
Tandem is a terminal where two or more Macs share the same live session: same cells, same cursor, same scrollback, one authoritative shell. Your agent sessions stop being trapped in the laptop that started them.
the cursor belongs to exactly one person at a time; the other Mac watches live
Sessions
Most terminal tabs today are Claude or Codex sessions. Tandem treats them that way: every session leads with an AI title, a two-line summary, and a quiet project · branch line. Start an agent in any directory with one keystroke, or resume a past session by name.
Healthy is silent. No green dots, no "Live" badges; only reconnecting and offline get a marker.
A session hosted on your other Mac appears as an ordinary, quietly cloud-marked tab.
Hand-off
Make Local pulls a session onto the Mac you're on; Make Remote pushes it to another machine or a cloud runner. Not a screen share and not a copy: the repo, the whole agent conversation, and the background jobs move, then the old host steps down atomically.
A running process isn't secretly duplicated. Hand-off is checkpoint and restore, with a staged review before anything switches.
Exactly one accepted host at a time; stale output from an old host is rejected, not merged.
Sharing
Invite someone into a live session read-only, or grant write turns: the first device to type holds a short renewable turn, the other waits its turn rather than interleaving keystrokes. The owner can revoke instantly.
Roles are explicit: owner, editor, viewer, external. Everyone sees who holds the turn.
Secrets are masked before the renderer, before persistence, before anything leaves the machine.
When the network drops you get a calm "Reconnecting…", never a lost session.
The rules it never breaks
Each session has exactly one live host. No active-active shells, ever.
Output is journaled before it's sent, deduplicated by id, and gap-filled exactly on reconnect.
Redaction happens before rendering, storage, or relay. A shared screen never shows your keys.
Commit, push, install, and host transfer are confirmed by a person. Always.
Everywhere you are
AppKit and Metal over the pinned Ghostty engine. Real keyboard, IME, selection, links, and command blocks; a terminal, not a web view.
Watch a session from the couch, approve a hand-off, grant a write turn, or nudge an agent along. Reading first, typing when you must.
A read-only browser view for sharing with people who'll never install anything. Same session, same masking, zero setup.
Runs beautifully with Relay. Relay keeps your agent's accounts and models flowing; Tandem keeps the terminal they live in shareable and movable. Cloud runners show up in both.
About Relay →ok, the simple version
Tandem lets two computers hold the same terminal at once. It's always properly someone's turn, and you can carry the whole game to a different TV without losing your place.
Type on one Mac and the letters appear on both, exactly the same, at the same time. It's not a video of the screen. It is the screen.
Started homework on the big computer, want to finish in bed? Pick the session up and carry it over. Your robot helper doesn't even notice it moved.
When a friend joins, only one of you can type at a time. The computer is the referee, so there is literally no way to fight over the keyboard. Sorry.
If a password shows up on screen, Tandem covers it before anyone else can see. Even your best friend. Especially your best friend.
It's in beta, which is grown-up for "mostly finished".
(It is not your turn. Mira has 4 minutes left.)