Mobile app
Pragma Go — pair your phone or open a browser and run the same workspace from anywhere.
Pragma Go is the mobile client (iOS, iPadOS, Android, and the web). It talks to the same host as the desktop through the gateway — a localhost HTTP server the desktop starts — exposed over a tunnel you configure.
Installing Pragma Go
- iOS — download Pragma Go on the App Store.
- Android — install the APK with Obtainium, below.
- Web — nothing to install; see Pragma Go on the web.
Android with Obtainium
Pragma Go for Android is not on the Play Store. Every pragma-go release on GitHub
carries a signed APK instead, and Obtainium
installs it straight from there and notifies you when a new one ships.
-
Install Obtainium from its releases page or F-Droid. Android asks you to allow installs from that source the first time.
-
In Obtainium, tap Add app and enter the source URL:
https://github.com/pragma-sh/pragma -
Set the additional options. The same repository publishes the desktop app and every agent plugin, so Obtainium needs to be told which releases are Pragma Go's:
Option Value Filter release titles by regular expression ^pragma-goFilter APKs by regular expression \.apk$Fallback to older releases On Version detection Use release date as version string -
Tap Add, then Install, and accept Android's install prompt.
-
Open Pragma Go and pair it with your desktop.
Why release date for the version?
A pragma-go release tag numbers the mobile release, not the app's own version string, so the two
do not match. Tracking by release date means Obtainium offers exactly one update per new release
instead of reporting an update that never goes away.
Updates arrive the same way: Obtainium checks in the background, notifies you, and installs the new APK over the old one with your data intact.
Pairing a device
Settings → Pragma Go:
- Turn on Remote access. Pragma starts the tunnel and shows a QR code.
- Scan it with Pragma Go. The payload contains the tunnel URL, the gateway token, and the gateway API version, which the app checks before it stores the connection.
Prefer manual? Expand Manual for copyable URL and Token rows.
The tunnel command lives in ~/.pragma/config.json under tunnel; the default uses
ngrok http {port}. Any command that prints a URL works — urlPattern tells Pragma how
to read it back. Regenerate token invalidates every paired device.
Pragma Go on the web
Enable web access serves the Pragma Go web build from the same gateway. When the tunnel is active you get a Web app link — it carries the token in the URL fragment (#), which browsers never send to a server, so the link can be pasted into a browser on any machine. The warning is real: the link contains the token, treat it like a password.
What you can do from the phone
- Create worktrees and launch agents — sessions appear on the desktop as background tabs.
- Watch running sessions and read scrollback.
- Answer questions and approve commands — the same prompts the desktop shows, answered from wherever you are.
- Read and comment on scratchpads, including embedded whiteboards, which the host renders for the phone.
- Your custom agents and their icons resolve exactly as they do on the desktop.
Notifications
Agent status drives push notifications to paired devices, using the same wording and sound choices as the desktop. If the desktop is focused, pushes are suppressed — one device needs the answer, not both.
Security model
The gateway binds to localhost. Only the tunnel you configure exposes it, every /v1 route
requires the bearer token, and the web bundle itself is served unauthenticated — it is public
code, the data routes are not.