TermLink

Install on Linux

One npm package, @termlink/cli. No package manager beyond npm itself, no systemd unit, nothing to install first besides Node.js.

1. Node.js 22 or later

Check what you have, and get it with nvm if it is too old — your distro's package manager often ships an older Node than TermLink needs:

node -v
# need v22 or newer?
nvm install 22

amd64 and arm64 both work the same from here — the second one covers a Raspberry Pi or an ARM cloud instance. npm picks the right prebuilt binary for your machine on its own.

2. Install TermLink

npm install -g @termlink/cli

If that fails with a permissions error, npm's global prefix is probably pointed at a system directory your user cannot write to — the fix is to point it at your own home directory rather than reaching for sudo; npm's own docs cover that. Nothing blocks the binary itself from running once it is installed — Linux has no equivalent of Gatekeeper or SmartScreen.

Had TermLink on this machine before September 13, 2026? That was a downloaded binary rather than an npm package, and it has no start command. This install does not delete it, so run which termlink afterwards and remove the old file if it still comes first on your PATH.

3. Sign in and share a terminal

termlink login     # opens Google sign-in
cd ~/work          # sessions can only open inside this folder
termlink start     # run the host here — or just: termlink
termlink whoami    # which account am I on?

The cd line is doing real work. The folder you start the host in is the boundary: a session can only open inside it, and nothing above it is reachable. Which folder underneath it a session opens in is something you pick in the web client, and --allow-root adds a second folder if you want one.

On a headless box, termlink login still needs a browser to complete Google sign-in — follow the URL it prints from whatever machine you are sitting at.

termlink start offers terminal, Claude, and Codex sessions by default; you pick which one to open from the web client. The full option list — --providers, --allow-root, --shell, and the rest — is in the CLI reference.

4. Keeping it up after you log out

This is the step people skip on a remote server. TermLink runs in the terminal you started it in. Close the SSH session and the process goes with it, and the machine shows as offline.

tmux new -s termlink
termlink start
# Ctrl-b d to detach; the session keeps running

screen works the same way. There is deliberately no daemon mode: nothing is installed as a service, so nothing is left behind when you uninstall the package.

Outbound only

The machine dials out over HTTPS and never accepts an inbound connection, so there is no firewall rule to add and no port to forward. A network that blocks outbound 443 will stop it — how that works.

Something not working? Troubleshooting lists what each message means. Installing somewhere else — macOS or Windows.