Why Alto
The usual ways to work across many machines each give something up.
Alto keeps what each of them drops: sessions that outlive the window, a real terminal with nothing redrawing it,
access from your other computers with nothing exposed, and a mark on every tab saying who needs you.
Tabs in a regular terminal
iTerm2, Ghostty, Terminal, Windows Terminal
What you lose
Sessions die with the window, an app update or a crash. Nothing reaches them from elsewhere, and nothing tells you which session is waiting on you.
What Alto does instead
Sessions live in their own processes and outlive the app, its updates and reboots (as saved screens with Run again). Status on every tab, and remote access.
tmux or Zellij inside a terminal
tmux, Zellij, screen
What you lose
A second terminal emulator sits between the program and the screen: images, the Kitty keyboard protocol, links and scrollback all go through its copy, and copy mode replaces native selection. One server process holds every session, so its crash or upgrade can take them all. Remote use means SSH into tmux.
What Alto does instead
No second emulator: the window draws libghostty's own state, so what the program sends is what you see, with native scrolling, selection and search. One process per session, so a crash or upgrade is contained. Scripting keeps tmux's shape: new, send, capture, attach.
SSH or mosh, with tmux
ssh, mosh, Blink, Termius
What you lose
An SSH server to run and keys to manage. A flaky link stalls (mosh fixes that, but adds its own server and drops scrollback). A phone gets a cramped SSH client.
What Alto does instead
Tailscale on each device and nothing else: no server to configure, no ports to open. A slow link gets the current screen at once and a fresh snapshot when it falls behind, rather than the backlog.
A web terminal or tunnel
ttyd, port forwards, tunnel services
What you lose
A listening port somewhere reachable, and its login, become the security boundary.
What Alto does instead
Nothing listens outside your tailnet. Connections are tied to the device and user Tailscale saw, and anyone else's device has to pair and can be revoked.
Agent managers and IDE agent panels
agent dashboards, IDE agent panes
What you lose
They tie sessions to their app and usually to one agent, and bring repo, worktree and browser panels along.
What Alto does instead
Any program in any tab, agent or not. A small window with nothing that hasn't earned its place. Worktrees and repos are left to the tools that already manage them.
Agents in the cloud
hosted agents, each vendor's remote control
What you lose
Your code and credentials leave your machine, or you're tied to one vendor's agent and its own app.
What Alto does instead
Everything runs on your computers, with any agent, and every client (the app, the command line, your other computers) sees the same sessions.
What it costs
Alto is a terminal of its own, not a layer over the one you use, though alto attach
shows any session inside whatever terminal you're in. Reaching other computers needs Tailscale on each. On Windows, a
session can't yet move to a new build in place, so an update means a new tab for it (Run again resumes agents). And
it's early.
Kept deliberately small
No repo, worktree or browser panels. No planning or scheduling logic of its own: agents do that. No syncing with issue
trackers. Any of these comes only if real use shows a need.