Skip to content

Another computer's agents

Pair your terminal with another computer to open its sessions, send messages and answer questions from the same agents list as your local sessions.

On the computer whose agents you want to see, run inside Tatu:

Terminal window
/remote setup Workstation
/remote pair

Skip setup if you already did it. Press c to copy the tatu://pair?... invitation below the QR code.

  1. On your current computer, run tatu agents, or press Ctrl+G inside Tatu.
  2. Choose + Add a computer.
  3. Paste the invitation and confirm the computer and relay shown.

The invitation expires after 60 seconds. If it expires before you finish, run /remote pair on the other computer again. Both computers need a version of Tatu with the encrypted channel; an older one is refused with a message that says to make a new invitation or to update.

Its agents appear under the computer’s name. Select a session to open it. Pairing follows the computer, so sessions you start there later appear too.

In a session opened through a paired computer, type:

Terminal window
/preview

/preview list opens the same panel in place of the editor. It lists the previews the other computer has explicitly published, by name, host ports and access state. Ask the main agent to publish one with its preview tool, or start the server separately and run /preview publish 4321 Site in that session’s terminal on the other computer. For a page that calls an API or hot-reload server on another port, publish both ports, page first: /preview publish 5173,3000 Web and API. Merely starting a server grants no access.

  • ↑/↓ selects a preview; selection alone opens nothing.
  • Enter prepares access and opens your system browser. Repeating it reuses access to the same preview.
  • c prepares access and copies the actual local URL without opening a browser.
  • x ends only this terminal’s access, not the publication or server.
  • Esc closes only the panel. Access continues, and your draft and conversation scroll stay intact.

A new preview gets one quiet hint per conversation, without taking focus, moving the scroll or opening anything automatically. An empty panel means nothing is published; opening, open, offline and error states appear in the panel. The local command cannot publish or revoke: those actions remain on the computer running the agent. Ask the main agent to revoke with its tool when working remotely.

One preview can be open per session on this device. Preparing another closes the previous access. Every published port must be free on the computer running your terminal: Tatu listens on the original numbers on IPv4 loopback and IPv6 loopback when available. Any conflict on either stops the whole attempt and releases all its listeners. There is no automatic fallback to other ports; free the ports and retry. Using the original numbers preserves absolute localhost URLs for published API and WebSocket/hot-reload ports. Project origin checks and hot-reload settings may still need configuration. HTTPS previews are not supported.

The browser opens http://localhost:<page-port> on your terminal’s computer, not the agent’s computer. Requests travel encrypted end to end through the relay, without a public preview URL. Other local programs can use the loopback listeners while access is open; use a trusted computer and stop access when done. External links follow your normal browser’s navigation, but never grant access to extra ports on the other computer. This differs from the restricted WebView in the Tatu app; the app’s preview controls and port fallback are unchanged.

Closing a browser tab does not reliably stop access. Use x in the panel. Switching agents or conversations, quitting Tatu, a connection loss or reset, and preview or device revocation end access. Reconnection refreshes the list but never reopens the browser or restores the tunnel; open it explicitly again.

If starting the browser fails, the URL stays available: press c to copy it. With SSH_CONNECTION or SSH_TTY set, Tatu does not launch a browser and shows SSH: localhost is on the SSH machine; manual port forwarding is required. The URL is on the machine running Tatu over SSH, not the laptop displaying your terminal. Forward the published ports manually if you want to use the laptop’s browser; Tatu does not set up SSH forwarding.

Both computers need preview support and end-to-end encryption enabled. No new preview setting is needed. This local terminal command does not make /preview available in the phone app.

In an attached session, use /btw Why did we choose this parser?, or /btw to open the panel without a model call. Follow-ups use its own field, with the same panel keys as a local terminal. The main agent can keep working.

Side exchanges belong to that session on the other computer and are shared with its other attached interfaces. Your panel, drafts and scroll position stay local; remote updates do not open it. Closing or disconnecting does not stop the answer; reconnect syncs it without resending. Shutting down the session host or switching its conversation (new, resume, fork or branch) discards the exchanges.

An older host shows This host does not support /btw; update it to use the feature. The question is never sent as an ordinary main message as a fallback. See Context and cost for the shared history limits, extra provider charges and usage-only persistence.

Your terminal stores its own identity in ~/.tatu/remote/client.json and the computers it follows in ~/.tatu/remote/hosts.json. Keep these files. Replacing client.json means pairing this terminal again with every computer. These are separate from identity.json, which identifies this computer’s own sessions.

Select a paired computer and press Ctrl+X to remove it, then confirm. Tatu also tries to remove its access on the other side.

On the other computer, /remote devices lists this terminal as tatu on <hostname>. If removal could not reach it, that entry can remain. Run /remote revoke <id> there to cut off access; your terminal then shows access revoked.

A paired terminal can ask the other computer’s daemon to open sessions and manage worktrees. Choose + New session and select that computer. Its daemon must already be reachable through the relay: your terminal never starts a daemon on another computer.