Skip to content
← All posts

OpenCode mobile: use OpenCode from your phone with Sesori

Illustration of a developer using Sesori on a phone in a sunny field

OpenCode is an open-source, model-agnostic, terminal-native AI coding agent. It runs in your terminal, on your laptop. When you close the lid or leave your computer, it is harder to follow the session, answer a question, or change direction.

Sesori is the mobile client we built for that workflow. It is not a separate IDE, cloud sandbox, or parallel copy of your setup. Your OpenCode session continues to run against your repository on your machine; Sesori gives you a phone-sized way to follow it and reply. This post explains what that looks like and how to set it up.

Why OpenCode mobile matters

The important part of an AI coding session is often thinking, not typing. Reading a diff, deciding whether the agent’s plan is right, redirecting it, and checking a test run need attention and a small amount of input—not always a 16-inch screen.

If you’ve ever pulled out your phone to check on a long OpenCode run, you’ve already felt the gap. The problem is not only wanting to work on the go. It is also not wanting to constantly check in on the work from your computer just to see whether the agent is done, answer a question, or approve the next step. SSHing into your own laptop from a phone keyboard is not a real workflow. tmux in Termius is closer, but you still do not get voice, diff rendering, or session continuity. The right experience should work while you are waiting in line, waiting to get your car fixed, or anywhere else you are away from your desk. Sesori is what the OpenCode mobile experience would look like if it were built for the phone from day one.

What the OpenCode mobile workflow actually does

It does three things.

It surfaces your active OpenCode session on your phone. Whatever the agent is doing on your laptop, whether that is planning, editing files, running shell commands, or waiting for a permission request where OpenCode exposes one, shows up live in the mobile app. You see the same stream you would see in your terminal, formatted for a screen you can hold.

It lets you reply. Type a prompt, or hit the mic button and say it. The phone sends it to the Bridge running on your laptop, which feeds it straight into the OpenCode session. The agent does not know or care that the prompt came from a phone two cities away. To it, it is just another turn.

It keeps the session alive when the phone is offline. This is the part most people do not realize they want until they have it. If you lose signal in a tunnel, OpenCode keeps running on your laptop. When the phone reconnects, anything the agent produced in the gap streams in. You do not lose a turn.

OpenCode mobile setup

The setup has four steps: OpenCode and Sesori Bridge run on your laptop, and the Sesori app runs on your phone under the same account.

1. Install OpenCode and connect your model provider.

curl -fsSL https://opencode.ai/install | bash
opencode auth login

2. Install Sesori Bridge on your laptop.

curl -fsSL https://sesori.com/install.sh | bash

3. Run the Bridge.

sesori-bridge

The Bridge starts and manages its local OpenCode connection, then waits for the app to attach. Ordinary session payloads travel through an end-to-end encrypted relay, using X25519 for key exchange and XChaCha20-Poly1305 for authenticated encryption. The relay sees opaque payloads, while the Bridge, your coding harness, and model provider remain separate parts of the trust model. The Bridge source is available under the FSL-1.1-ALv2 license if you want to inspect it.

4. Install Sesori on your phone and sign in with the same account. Sesori is live on the App Store and Google Play, so OpenCode mobile is available on both iPhone and Android. Once you sign in, the session running on your laptop shows up on the phone automatically. No QR code and no copied and pasted token.

That’s it. The full instructions, including troubleshooting, live in the docs.

What OpenCode mobile feels like in practice

The thing that surprised us most was how continuous it feels. You start an OpenCode prompt at your desk, leave the desk, keep going on the phone, and come back later if you want. It is still one session. There is no “import,” no “sync,” and no second copy of the codebase floating around. You are not tied to the desk anymore, and you do not need to carry the whole setup with you. The session still lives where it always lived: on your machine.

Voice is the other thing worth calling out. Typing a long prompt on a phone keyboard is miserable; speaking one takes three seconds. We expected to use voice for short interjections (“yes, do that”, “no, try jest instead”) and ended up using it for full prompts, because it is just faster. Voice uses hosted transcription: submitted audio is processed to create a transcript, which you can review before sending it as a prompt.

Common questions

Do I need to connect Sesori to an existing OpenCode server? No. Sesori Bridge starts and manages its own local OpenCode connection for you. The setup is intentionally simple: install OpenCode, install the Bridge, run sesori-bridge, then open the app on your phone.

Does Sesori run OpenCode in the cloud? No. OpenCode runs on your laptop, against your repository, using your model API keys. Sesori is a remote-control layer, not a hosted development workspace. Ordinary session payloads between the phone and Bridge are end-to-end encrypted; your coding harness, model provider, and optional hosted features retain their own data paths.

Does the laptop need to be on? Yes. The Bridge has to be running for the phone to see the session, the same way your laptop has to be running for OpenCode to do anything. Sleeping laptop = paused session. We’ve thought about a “wake-on-prompt” mode for the future, but right now it’s intentional: you control when the Bridge is reachable.

Is there an Android version? Yes. Sesori is on iOS and Android with feature parity, and the workflow is the same on both.

Try OpenCode mobile

Sesori is available now, and the Bridge source is available under the FSL-1.1-ALv2 license. If you already use OpenCode and the workflow above sounds like something you’d want, the fastest way to try it is:

curl -fsSL https://sesori.com/install.sh | bash
sesori-bridge

Then install Sesori from the App Store or Google Play, sign in, and pick up the session from your phone. If you’d rather poke at the architecture first, the docs cover everything from the wire protocol to the threat model.

This is the workflow that made us want to keep using OpenCode on the move.

Coming soon