opencodemobile
Native iOS & Android · Self-hosted · Relay built-in

Your AI coding agent,
in your pocket.

A native mobile client for opencode serve. Watch sessions stream token by token, run parallel agents in worktrees, review diffs, and open a remote shell — on your LAN or through the encrypted relay.

Works with any opencode serve instance. Direct connections need no account.

From install to connected
<1 min
From install to connected
Prompts stored on our side
0
Prompts stored on our side
Agents keep running
24/7
Agents keep running
9:41

Fix flaky auth tests

fix/flaky-auth· Connected

Run the auth test suite and fix the flaky ones.

Build · claude-sonnet · 14:32

Planning test triage…
Readtest/auth/session_test.dart
Editlib/auth/session.dart

Found the race: the refresh token is rotated before the old one is revoked. Applying a fix and re-running the suite.

Todos1 / 3
Locate flaky cases
Patch token rotation
Re-run full suite

bash · flutter test

test/features/chat/chat_controller_test.dart

DenyAllow onceAlways
claude-sonnet

Ask anything…

Built on the real opencode server protocol

opencode serve v1 APISSE event streamHTTP Basic authgit worktreesPTY over WebSocketTLS-encrypted relayFlutter nativeMaterial 3drift local timelineiOS & Android

Why mobile

Agents should not chain you to a desk

Long-running agents are the whole point. opencode mobile keeps you in the loop while life happens — commuting, away from the keyboard, or just on the couch.

Anywhere[01]

Leave the desk, not the loop

Prompts, tool calls, diffs and permission requests stream to your phone the moment they happen. Approve a command from the train, not from your chair.

Parallel[02]

Keep every agent moving

Worktrees let several agents work at once without stepping on each other. Glance at all running sessions, jump into whichever needs you next.

Private[03]

Your code is never stored by a middleman

The app connects directly to your own opencode serve instance, or through the encrypted relay when you are away. Relay traffic is encrypted in transit and never stored — your opencode password never leaves your computer.

Features

Built for the way agents actually work

opencode mobile is not a thin wrapper. It mirrors the full server model: sessions, events, worktrees, files, terminals and notifications — rendered natively.

[02]

Real-time chat

Every state change arrives over a single SSE stream. Tokens, tool calls, diffs, todos and permission requests render as they happen.

  • Token-by-token streaming with thinking cards
  • Markdown, syntax highlighting, Mermaid and LaTeX
  • Fork sessions, revert messages, share read-only links
Readtest/auth/session_test.dart

Found the race: the refresh token is rotated before the old one is revoked. Applying a fix and re-running the suite.

2/3
[01]

Connection profiles

Save multiple opencode serve endpoints and switch between them in one tap. Credentials stay isolated and encrypted.

  • HTTP Basic auth with secure credential storage
  • Auto-reconnect with guided recovery
  • Startup restore of your last server
[03]

Parallel worktrees

Register git worktrees across projects and start independent sessions inside each one. Run several agents at once without collisions.

  • Cross-project worktree registry
  • One session per worktree, fully isolated
  • Jump between tasks from the project drawer
[04]

Files & changes

Review what the agent changed without leaving your phone. Browse the whole tree and open any file with syntax highlighting.

  • Four diff scopes: turn, session, uncommitted and branch
  • File browser with search and breadcrumbs
  • Diff review with frozen line numbers and context folding
[05]

Integrated terminal

Every directory gets a real PTY over WebSocket, rendered with the same engine family used by the desktop app.

  • Full remote shell per directory
  • Tab pills and a shortcut key bar
  • Pinch to zoom, One Dark / One Light palettes

PTY connected

~/projects/opencode_mobile

$ flutter test test/features/chat

00:12 +42: All tests passed!

[06]

Control & personalize

Configure providers, models and API keys, watch MCP and LSP status, and reload the instance — all from the app.

  • Provider / model / API key management
  • Light & dark themes that follow the system
  • English, 简体中文 and 繁體中文

Showcase

Every surface, natively rendered

The four screens you will use every day — natively rendered, no web views, with Flutter performance on a real-time event stream.

9:41

Fix flaky auth tests

fix/flaky-auth· Connected

Run the auth test suite and fix the flaky ones.

Build · claude-sonnet · 14:32

Planning test triage…
Readtest/auth/session_test.dart
Editlib/auth/session.dart

Found the race: the refresh token is rotated before the old one is revoked. Applying a fix and re-running the suite.

Todos1 / 3
Locate flaky cases
Patch token rotation
Re-run full suite

bash · flutter test

test/features/chat/chat_controller_test.dart

DenyAllow onceAlways
claude-sonnet

Ask anything…

Comparison

Why not just use a browser or SSH?

Those work in a pinch. opencode mobile is built around the server's event stream and touch input, so it stays useful where a terminal or a desktop layout falls short.

Why not just use a browser or SSH?opencode mobileNative clientWeb clientSelf-hosted UISSH / TUITerminal apps
Live streaming timeline
Inline diffs & file browserDesktop layout
Permission & question prompts
Parallel worktree sessionsMultiple tabstmux
Remote PTY terminal
Push notifications & auto-approve
Touch & keyboard ergonomicsPinch & zoom
Code never stored by a middleman

The opencode web client is a separate open-source UI that you host yourself — it is not served by opencode serve. Comparison reflects typical usage and may vary with custom setups.

How it works

Up and running in four steps

Start opencode serve on your computer, install the app, and connect directly on your LAN — then add the encrypted relay only if you need it. The full walkthrough lives in the guide.

  1. 01

    Start the server

    Run opencode serve on the machine that holds your projects. Set OPENCODE_SERVER_PASSWORD to require authentication.

  2. 02

    Connect from the app

    Enter the server address, username and password, then pick the project directory you want to work in.

  3. 03

    Optional: turn on the relay

    Away from your network? Install the ocrelay client on your machine and pair it once in the app — no public IP, no port forwarding.

  4. 04

    Work as usual

    Open a session or start a new one. Everything the agent does streams back to your phone in real time.

opencode relay

Off your LAN, still connected.

The relay gives your phone a TLS-encrypted path to the opencode serve instance on your computer — no public IP, no port forwarding. Pair once in the app, connect from anywhere.

Optional companion service · Free tier included

Explore opencode relay

Pick up where your agents left off

Install the app, point it at your server, and take the next prompt from wherever you are.

Free to download · iOS & Android

Download

Join TestFlightDownload APK

Free to download · iOS & Android