A persistent terminal session keeps running on your computer even when your phone, browser, or network connection disconnects. CLIAnywhere lets you reconnect later and continue where you left off — the same shell, the same running processes, the same scrollback — from your phone, a browser, or back at your desk.
A conventional terminal session is tied to the connection that created it. If you are working over SSH from a laptop or a phone and the network drops, the session is closed and the shell is gone — along with whatever was running in the foreground at the time. On mobile networks this is not an edge case: switch from Wi-Fi to cellular, walk into an elevator, lock your phone, and the session you needed is dead.
Starting over is annoying when it costs you a few typed commands. It is much worse when the session was running a long build, a model training job, a deploy script, or an interactive coding agent that had accumulated an hour of context.
Terminal multiplexers such as tmux and GNU screen solve the core problem and have done so for decades: the multiplexer runs on the host, shells live inside it, and you attach and detach as you come and go. If you already live in tmux, this is a solid setup and there is little reason to change it.
The trade-off is that everything around persistence stays manual: install the multiplexer on every machine, learn its keybindings and commands, remember to start sessions inside it before you need them, and still arrange a way to reach the host from outside your network — typically SSH plus port forwarding, a VPN, or a tunnel. None of that is hard for a systems engineer; all of it is friction for everyone else, and none of it gives you a good client on your phone.
In CLIAnywhere, every session runs under the daemon on your computer from the moment it starts — there is no separate attach step to remember. Clients come and go: your desktop while you work, your phone when you leave, a browser on another machine later. Attaching never restarts the session; it opens a live view of the one the daemon is already holding.
Work at your computer as usual. The shell runs under the daemon, so persistence is already in place.
Open the app on your phone — or the Web App in any browser — and read the output that kept accumulating.
Return to your desk — or any device — and reattach to the same session, with everything still in place.
Persistence matters most for work that outlasts your attention: builds and test suites that run for tens of minutes, model training jobs, deployment scripts, and interactive AI coding agents that can run for hours. With the session held on your computer, you can walk away and check in from your phone whenever you want — the task never noticed you left.
# start a build at your desk, then leave $ npm run build ... you lock your PC's screen and head out ... # from your phone, later — same session, still running Compiled successfully in 612s $ ./deploy.sh Deploy complete.
The same applies to AI coding agents that run in a terminal. For that scenario in detail, see monitoring AI coding agents from anywhere and running Claude Code remotely from your phone.
What persistence in CLIAnywhere is built on.
| Windows host | Yes |
|---|---|
| macOS host | Yes |
| Linux host | Yes — desktop UI or headless CLI |
| iOS client | Yes |
| Android client | Yes — Google Play |
| Web client | Yes — webapp.clianywhere.com |
| Shells | bash, zsh, fish, sh, cmd, pwsh, powershell |
| Persistent sessions | Yes |
| Desktop–mobile session switching | Yes |
| File browser and download | Yes |
| Localhost / LAN web access | Yes |
| P2P direct connection | Yes — DTLS |
| Encrypted relay fallback | Yes — WSS |
| End-to-end encryption | SPAKE2 + AES-256-GCM |
| Port forwarding / public IP required | No |
| Open-source daemon | Yes |
| Account model | One account, multiple PCs, per-PC local Security Code |
Start work at your desk, come back to it on any device, whenever you are ready.