How to remote control Oh My Pi (OMP) from another device
You can remote control Oh My Pi (OMP) in four ways. SSH plus tmux gives you the full OMP terminal from any device and keeps the session alive when you disconnect. OMP’s built-in /collab shares one live session through an end-to-end encrypted link that opens in a browser or another OMP terminal. Third-party clients such as PinkCollab (Android) and Paseo add phone apps. Sesori gives you native iOS and Android apps, plus Sesori Desktop, for every OMP session on your computer, with push notifications. In each case, OMP keeps running on the machine that has your repository.
Pick SSH and tmux if you want the real terminal and already have a way to reach your machine. Pick /collab for a quick, free way to join or share one session in a browser. Pick a native app when you want to follow several sessions from your phone and get notified when OMP needs you. Our guide to coding from your phone compares these approaches across coding assistants.
Looking for a phone app specifically? Our OMP mobile app guide answers whether there is an official Oh My Pi app for iPhone or Android and compares the phone options side by side. This post covers remote control and remote access from any device.
1. SSH plus tmux: the full OMP terminal from anywhere
The most direct form of OMP remote access is to run OMP inside a terminal multiplexer on your machine, then attach to it over SSH from another device. tmux keeps the session running after the SSH connection drops, so a closed laptop lid on the client side or a lost phone signal doesn’t end the OMP turn.
On the machine that has your repository, start a named tmux session and run OMP inside it:
tmux new -s omp
cd ~/code/my-project
omp
Detach with Ctrl-b then d. OMP keeps working in the background.
From another computer, a tablet, or a phone SSH client, connect and reattach:
ssh you@your-machine
tmux attach -t omp
You are now in the same OMP terminal UI, with the same transcript. You can type a new prompt, interrupt a turn, or answer a question exactly as you would at your desk. If the OMP process itself has exited, omp --resume lets you pick up an earlier session from disk.
What you need to set up:
- An SSH server on the machine that runs OMP, such as OpenSSH, which is built into macOS (Remote Login) and most Linux distributions.
- A network path to that machine. A private network such as Tailscale avoids opening a port to the internet.
- tmux (or GNU screen) on the machine. tmux runs on macOS and Linux; on Windows, run OMP and tmux inside WSL.
Trade-off: it is the real terminal, so nothing is lost, but a coding-agent TUI, long diffs, and permission prompts are hard to operate on a phone keyboard. There are no notifications, so you have to check in to see whether OMP is waiting.
2. OMP’s built-in /collab: share a live session through a link
OMP ships its own remote control feature. Run /collab inside an OMP session and it prints a terminal join command, a browser link to the my.omp.sh web client, and a QR code for that link. Anyone with the full link can read the session, send prompts, and interrupt the agent with Esc; /collab view prints a read-only link instead.
/collab # start full-control sharing
/collab view # print a read-only link
/collab status # show the link and participants
/collab stop # stop sharing
From another machine with OMP installed, omp join "<link>" opens the session in that machine’s own terminal UI. On a phone, the browser link opens the web client, which you can add to the home screen.
Session payloads are encrypted with AES-256-GCM before they leave the host, so the my.omp.sh relay sees only ciphertext. The key travels in the link itself, so treat a full link like a password. The host machine still runs the agent and all tools.
Since OMP v18.1.20, you can set collab.autoStart to view or control so every interactive session hosts itself as it starts, without running /collab. omp collab list shows the live hosts on the computer without printing links, and omp collab link <instanceId|pid> prints the browser URL for one of them. The full reference is in the OMP collab docs.
Trade-off: /collab is free and built in, but each link joins one shared session, the phone client is a web page rather than a store app, and there are no push notifications. An official mobile app with push notifications is an open request in issue #11609.
3. Third-party clients: PinkCollab and Paseo
Two independent projects add phone apps for OMP sessions on your computer:
- PinkCollab is an unofficial, MIT-licensed Android app (Android 8.0 or later, installed from an APK). It runs its own Gateway on your computer, paired by QR code and reached over Tailscale Funnel by default or your own HTTPS proxy. It does not use
/collab. There is no iOS app. - Paseo is a free, Apache 2.0-licensed agent orchestrator with native iOS and Android apps plus desktop and web clients. It runs OMP alongside Claude, Codex, OpenCode, Pi, and other agents, and connects directly, through your own tunnel, or through an optional end-to-end encrypted relay. We compare it with Sesori in detail in Sesori vs Paseo.
4. Sesori: steer a running OMP session from your phone
Sesori is the remote control we build. The Sesori Bridge runs on your computer and drives OMP in its ACP mode (omp acp). The native iOS and Android apps, and Sesori Desktop on macOS and Linux, connect to the sessions OMP runs there. Your repository, toolchain, and OMP stay on your machine.
What you get with OMP:
- Steer a running OMP session from your phone. Send a follow-up mid-turn to steer it: Sesori stops the current turn and sends your message, so OMP picks up the new direction straight away.
- Push notifications when OMP needs an answer, a session sends a message, or the connection changes.
- Every project and session the connected Bridge knows about, in one list, instead of one session per link.
- Permission prompts on the phone. In default-config sessions, Sesori asks before OMP runs
bash,edit,delete, ormove. - End-to-end encryption. Ordinary session traffic between the phone and the Bridge is encrypted with X25519 and XChaCha20-Poly1305, so the relay routes ciphertext rather than code, prompts, or responses.
- Voice prompts, and the same app for the other coding assistants Sesori supports.
To set it up:
-
Install OMP on your computer and sign in to your model provider there.
-
Install Sesori Desktop on macOS or Linux and sign in; it runs the Bridge for you. On a server or Windows, use the Bridge CLI instead:
curl -fsSL https://sesori.com/install.sh | bash sesori-bridge -
Install Sesori from the App Store or Google Play and sign in with the same account.
-
Enable OMP under Settings → Harnesses, then choose it from the Coding tool list when you start a session.
The Sesori harness setup docs cover runtime installation and permissions. For the phone side in more depth, see the OMP mobile app guide.
Trade-off: the computer that runs OMP has to stay on and online, and Sesori is a separate install from OMP. Your coding assistant, model provider, and optional hosted features such as voice transcription keep their own data paths.
Oh My Pi remote control options compared
| SSH plus tmux | OMP /collab | Paseo | Sesori | |
|---|---|---|---|---|
| Setup effort | SSH server, a network path to the machine, and tmux | None beyond OMP: run /collab or set collab.autoStart |
Install Paseo on the computer, then pair the app | Install Sesori Desktop or the Bridge CLI, then sign in on the phone |
| Phone experience | Full terminal on a phone keyboard | my.omp.sh web client in the phone browser | Native iOS and Android apps | Native iOS and Android apps, plus Sesori Desktop |
| Steer a running turn | Yes, in the OMP terminal UI | Full links can prompt and interrupt | Not described on Paseo’s OMP page | Yes: a mid-turn follow-up stops the turn and sends your message |
| Notifications | None | None; push is requested in #11609 | Yes, in the store apps | Push notifications |
| Multiple sessions | One tmux window per session | One session per link; omp collab list shows local hosts |
Workspaces and parallel agents | Every project and session on the Bridge |
| Encryption | SSH transport encryption | AES-256-GCM end to end; the link is the key | Optional end-to-end encrypted relay, or direct and tunnelled connections | X25519 and XChaCha20-Poly1305 end to end |
| Cost | Free | Free, included in OMP | Free, Apache 2.0 | Free |
PinkCollab is left out of the table because it is Android only; the OMP mobile app guide compares it with the other phone options.
FAQ
Can I control Oh My Pi remotely?
Yes. OMP runs on your computer, and you can reach it from another device through SSH plus tmux, OMP’s built-in /collab link, a third-party client such as PinkCollab or Paseo, or Sesori. The OMP session keeps running on the machine that has your repository.
Does OMP have remote control built in?
Yes. /collab shares a live OMP session through an end-to-end encrypted link that another OMP terminal can join with omp join or a browser can open at my.omp.sh. Full links can prompt and interrupt the agent; /collab view links are read-only. Each link covers one session, and there are no push notifications.
How do I keep an OMP session running after I disconnect?
Run omp inside tmux (or screen) on your machine, detach with Ctrl-b then d, and reattach later with tmux attach -t omp, locally or over SSH. OMP keeps working while you are disconnected. With /collab or Sesori, the session already runs on your computer, so closing the browser tab or the phone app doesn’t stop it; the computer only needs to stay on.