HomeDownload
+ Remote accessFeaturesTroubleshootingGitHub
diff --git a/docs-site/index.html b/docs-site/index.html
index ec9c4f6..9f5efd3 100644
--- a/docs-site/index.html
+++ b/docs-site/index.html
@@ -364,7 +364,7 @@ OPENCODE_SERVER_PASSWORD=yourpassword opencode serve --hostname 0.0.0.0 --port 4
Is there an iOS app?
-
No. OpenCode Mobile is Android only. There is no iOS or iPadOS build.
+
No. OpenCode Mobile is Android only. There is no iOS or iPadOS build. More on the iOS / iPhone page.
Where do my API keys live?
@@ -385,6 +385,8 @@ OPENCODE_SERVER_PASSWORD=yourpassword opencode serve --hostname 0.0.0.0 --port 4
DownloadSetup guideOpenCode on your phone
+ Remote access
+ iOS / iPhoneFeaturesComparisonvs Termux
diff --git a/docs-site/ios/index.html b/docs-site/ios/index.html
new file mode 100644
index 0000000..03a0c0b
--- /dev/null
+++ b/docs-site/ios/index.html
@@ -0,0 +1,276 @@
+
+
+
+
+
+OpenCode for iOS / iPhone — Is There an App? (Honest Answer)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
OpenCode for iOS / iPhone
+
The honest answer: there isn't an iOS app yet. OpenCode Mobile is currently Android only — there is no iPhone or iPad build, and nothing on the App Store. If you landed here hoping for an iOS download, we'd rather tell you straight than waste your time.
+
Here's the full picture: what exists today, why iOS isn't available yet, what your options are right now, and how to be the first to know if that changes.
+
+
+
+
+
+
What exists today
+
OpenCode Mobile is a free, open-source (MIT) Android client for the opencode AI coding agent. It's live now — v0.4.3 — installable via F-Droid or a direct APK. It connects your phone to an opencode server you run yourself, so your code and AI provider keys stay on your own machine, with no telemetry by default.
It's a small, volunteer open-source project. Development started on Android, and maintaining a quality second platform is real, ongoing work.
+
iOS has extra overhead. Shipping to iPhone needs a paid Apple Developer account and App Store review — a higher bar than Android's open distribution (F-Droid, direct APK).
+
Focus beats half-finished. The goal is to do one platform well rather than ship two mediocre apps. An iOS port is technically feasible but not yet committed.
+
+
No vaporware promises here. If an iOS build happens, it'll be announced on GitHub — not pre-sold on a landing page.
+
+
+
+
+
+
Your options right now if you're on iPhone
+
+
Use an Android device. Even an inexpensive or spare Android phone runs the full app today.
+
Use the opencode web/desktop interface. Since opencode runs as a server you control, you can reach it from a desktop or — unoptimized — from a mobile browser. It isn't a phone-native experience, but it works.
+
Register your interest. Open or upvote a feature request on GitHub so the demand for iOS is visible.
+
+
+
+
+
+
+
Roadmap & how to follow
+
There's no committed iOS release date. The most reliable way to hear about it — and every other release — is straight from the repo:
Watching the repo notifies you of new releases, including any future iOS news.
+
+
+
+
+
+
Frequently asked questions
+
+ Is there an OpenCode app for iOS or iPhone?
+
Not yet. OpenCode Mobile is Android only. There is no iOS, iPhone, or iPadOS build, and none on the App Store.
+
+
+ Can I use OpenCode on my iPhone at all right now?
+
There's no native iOS client. Because opencode runs as a server you control, you can open its web interface from a mobile browser, but it isn't optimized for phones. For a proper mobile experience, the Android app is the supported option.
+
+
+ Will an iOS app ever come?
+
Possibly. It's technically feasible but not committed. Demand on GitHub helps; any news will be announced there.
+
+
+ Is the Android app free and private?
+
Yes — free, open source under the MIT license, with no ads and no analytics by default. Your code and API keys stay on your own server. See the privacy policy.
+
+
+
+
+
+
+
Got an Android device? Start here
+
The app is live today on Android. Set up your server, install it, and code from your phone in minutes.
+
+
+
+
+
+
+
diff --git a/docs-site/opencode-on-phone/index.html b/docs-site/opencode-on-phone/index.html
index aad6936..4e8eb8e 100644
--- a/docs-site/opencode-on-phone/index.html
+++ b/docs-site/opencode-on-phone/index.html
@@ -287,6 +287,7 @@ footer a{margin:0 8px}
OpenCode Mobile stores credentials in the Android Keystore, and you can require biometric unlock
before each send.
+
The hardest part of running an AI coding agent from your phone isn't the app — it's reaching your opencode server when you're away from home. This page covers the three reliable ways to do it from OpenCode Mobile on Android: Tailscale (recommended), a Cloudflare Tunnel, and ngrok — with the trade-offs of each.
+
OpenCode Mobile is a thin client. The agent and your AI provider keys live on a machine you control; the app just connects to it over the network. So the goal here is simply: make your server reachable from your phone, securely, from anywhere.
+
+
Before you start: make sure opencode serve runs and you can connect on the same Wi-Fi first. If that works, remote access is only about reaching the same server from elsewhere. New here? Start with the setup guide.
+
+
+
+
+
+
+
Which method should I use?
+
+
+
Method
Best for
Open ports?
Public URL?
Cost
+
+
+
Tailscale
Your own daily use. Private, always-on, set-and-forget.
No
No (private 100.x IP)
Free
+
Cloudflare Tunnel
A stable public HTTPS URL, e.g. behind your own domain.
No
Yes (HTTPS)
Free
+
ngrok
Quick one-off testing from anywhere.
No
Yes (HTTPS)
Free tier
+
+
+
For your own phone, Tailscale is the right default: nothing is exposed to the public internet, it survives switching between Wi-Fi and cellular, and there are no ports to open. Use a tunnel only when you specifically need a public URL.
+
+
Don't port-forward the raw opencode port to the internet. Use a private mesh (Tailscale) or an authenticated tunnel. Whatever you pick, always set OPENCODE_SERVER_PASSWORD so the agent isn't open to anyone who finds the address.
+
+
+
+
+
+
+
Option 1 — Tailscale (recommended)
+
Tailscale puts your server and phone on the same private, encrypted network (a "tailnet") built on WireGuard. Your server gets a stable 100.x.x.x IP that only your devices can reach — from any network, with no ports opened.
+
+
+
Install Tailscale on your server
+
Install it on the machine running opencode and sign in:
+
curl -fsSL https://tailscale.com/install.sh | sh
+sudo tailscale up
+
Find the server's tailnet IP:
+
tailscale ip -4
+# e.g. 100.101.102.103
+
+
+
Install Tailscale on your phone
+
Install the Tailscale app from F-Droid or Google Play and sign in with the same account. Both devices now share one private network. (You don't need a VPN profile for anything else — Tailscale only routes traffic to your tailnet.)
+
+
+
Run opencode bound to the network with a password
+
Bind to 0.0.0.0 so it accepts tailnet connections, and set a password:
Tailscale already restricts who can reach the port to your own devices; the password is a second layer.
+
+
+
Connect from OpenCode Mobile
+
Open the app → Add Connection → use the Tailscale IP and port, then enter the password:
+
http://100.101.102.103:4096
+
That's it. This URL works from your home Wi-Fi, a coffee shop, or cellular — anywhere your phone has internet.
+
+
+
Tip: enable MagicDNS and you can use the machine's name instead of the IP, e.g. http://my-laptop:4096.
+
+
+
+
+
+
Option 2 — Cloudflare Tunnel
+
A Cloudflare Tunnel gives your server a public HTTPS URL with no open ports. Good when you want a stable address (optionally on your own domain) rather than a private IP.
With a tunnel you can keep opencode bound to localhost — cloudflared connects to it locally and exposes it.
+
+
+
Open a quick tunnel
+
For a throwaway URL, no account needed:
+
cloudflared tunnel --url http://localhost:4096
+
It prints a URL like https://random-words.trycloudflare.com. For a permanent URL on your own domain, use a named tunnel instead.
+
+
+
Connect from the app
+
Add a connection in OpenCode Mobile using the full HTTPS URL and your password:
+
https://random-words.trycloudflare.com
+
+
+
+
+
+
+
+
Option 3 — ngrok
+
ngrok is the fastest way to get a public URL for a quick test. Great for trying things out; for daily use prefer Tailscale or a named Cloudflare Tunnel.
+
+
+
Install ngrok and add your authtoken
+
# install per https://ngrok.com/download, then:
+ngrok config add-authtoken YOUR_TOKEN
ngrok prints a forwarding URL like https://abcd-1234.ngrok-free.app.
+
+
+
Connect from the app
+
Use the ngrok HTTPS URL and your password in OpenCode Mobile. Note the URL changes each run on the free tier.
+
+
+
+
+
+
+
+
Remote-access troubleshooting
+
+
Connects on Wi-Fi but not remotely? You're likely using the LAN IP (192.168.x.x), which only works on the same network. Switch to the Tailscale IP or your tunnel URL.
+
Tailscale shows offline? Confirm both devices are signed into the same account and listed as connected in the Tailscale admin console, then retry the 100.x IP.
+
Tunnel URL refuses the connection? The tunnel must point at the exact port opencode is listening on. If opencode is on 127.0.0.1:4096, the tunnel target must be localhost:4096.
+
HTTPS tunnel but app can't connect? Use the full https:// URL with no trailing path. Don't mix http and https.
+
Wrong password? The app password must match OPENCODE_SERVER_PASSWORD exactly.
+
Long task, flaky signal? The agent runs server-side, so work continues even if the phone disconnects. Reopen the app and reconnect to resume the session.