Use this when you want to connect to a T3 Code server from another device such as a phone, tablet, or separate desktop app.
Use a trusted private network that meshes your devices together, such as a tailnet.
That gives you:
- a stable address to connect to
- transport security at the network layer
- less exposure than opening the server to the public internet
There are two ways to expose your server for remote connections: from the desktop app or from the CLI.
If you are already running the desktop app and want to make it reachable from other devices:
- Open Settings → Connections.
- Under Manage Local Backend, toggle Network access on. This will restart the app and run the backend on all network interfaces.
- The settings panel will show the address the server is reachable at (e.g.
http://192.168.x.y:3773). - Use Create Link to generate a pairing link you can share with another device.
Use this when you want to run the server without a GUI, for example on a remote machine over SSH.
Run the server with t3 serve.
npx t3 serve --host "$(tailscale ip -4)"t3 serve starts the server without opening a browser and prints:
- a connection string
- a pairing token
- a pairing URL
- a QR code for the pairing URL
From there, connect from another device in either of these ways:
- scan the QR code on your phone
- in the desktop app, enter the full pairing URL
- in the desktop app, enter the host and token separately
Use t3 serve --help for the full flag reference. It supports the same general startup options as the normal server command, including an optional cwd argument.
Note The GUIs do not currently support adding projects on remote environments. For now, use
t3 project ...on the server machine instead. Full GUI support for remote project management is coming soon.
The remote device does not need a long-lived secret up front.
Instead:
t3 serveissues a one-time owner pairing token.- The remote device exchanges that token with the server.
- The server creates an authenticated session for that device.
After pairing, future access is session-based. You do not need to keep reusing the original token unless you are pairing a new device.
Use t3 auth to manage access after the initial pairing flow.
Typical uses:
- issue additional pairing credentials
- inspect active sessions
- revoke old pairing links or sessions
Use t3 auth --help and the nested subcommand help pages for the full reference.
- Treat pairing URLs and pairing tokens like passwords.
- Prefer binding
--hostto a trusted private address, such as a Tailnet IP, instead of exposing the server broadly. - Anyone with a valid pairing credential can create a session until that credential expires or is revoked.
- Use
t3 authto revoke credentials or sessions you no longer trust.