Your machines
The Termio server
What runs on a machine so sessions outlive the app — how termiod is installed, kept alive, updated in place, and inspected when something looks wrong.
Every session runs inside termiod, the Termio server, on the machine that owns
it — including the ones on this Mac. The app, the iPhone companion and the CLI
are all viewers: they attach to a session and detach from it. Nothing about a
session belongs to the window you were looking at.
That is the whole reason quitting Termio does not kill your agents.
What it is
termiod is a session host, not a window manager. It owns the PTY, keeps the
scrollback, and hands a viewer a snapshot when one attaches. Locally a viewer
reaches it over a Unix socket; remotely the app opens an SSH pipe to the same
binary on the far box. One protocol, both ways — which is why a session on a VPS
behaves like a session here.
Panes, splits and layout are the app's business and never the server's.
Getting it onto a machine
Adding a box under Settings ▸ Devices and pressing Set Up copies one
binary into ~/.local/bin over SSH and starts it. There is no package to
install and no root involved.
termiod deploy # install or update it here, then verify
termiod deploy --host mybox # same, over your own SSH configdeploy is the only install path, and it is a reconcile: run it against a box
in any state and it ends in the same one. Termio reads ~/.ssh/config to find
the host, so a machine you can already ssh to needs nothing new. See
Devices.
Keeping it running
termiod service install # launchd on macOS, systemd --user on LinuxWithout a service the server lives as long as your login session. With one it comes back after a crash and after a reboot, which is what you want on a box you only ever reach remotely.
Updating without dropping sessions
A new build replaces the running one in place: the process keeps its id and its PTYs, and the sessions never notice.
termiod handoffThat is also what happens when the app updates itself — the reason a Termio update does not cost you your running agents.
Looking at it
Three commands answer nearly every "is it me or is it Termio" question:
| Command | What it tells you |
|---|---|
termiod status | What this machine has: the binary, its version, and whether a daemon is answering on the socket. |
termiod list | The sessions the host is holding — add --host <box> to ask another machine. |
termiod logs | What the server recorded while nobody was attached. -f follows it; --path prints the file for a bug report. |
termiod is the server's own command, and separate from the
termio command-line tool the app installs for you. You rarely
need termiod by hand — the app runs these for you — but it is there when a
box is misbehaving and you want to look rather than guess.
Stopping it
termiod stopIt declines while a command is still running or a viewer is attached, so a stray
stop cannot take an agent's work with it. Sessions end when their process ends,
or when you close them.
Devices
Run your agents on machines you already own — this Mac, the Mac mini on the desk, a VPS. Termio copies one binary there over SSH, sets up the agents, and the sessions keep running whether or not you’re attached.
Workspaces
A workspace is the sidebar’s scope — it holds projects and loose terminals, remembers the session you left it on, and belongs to exactly one machine.