Run Codex or OpenCode from your phone. clawdex-mobile ships the bridge CLI plus bundled Rust bridge binaries for supported hosts, and the mobile app pairs to that bridge over Tailscale or local LAN.
This project is for trusted/private networking only. Do not expose the bridge publicly.
- Mobile chat for Codex and OpenCode
- Live run updates over WebSocket
- Approval and clarification flows in-app
- Voice-to-text, attachments, terminal, and Git actions
- One mobile shell backed by a private host bridge
Before you start:
- Node.js 20+
- npm 10+
gitcodexinPATHfor the default Codex flowopencodeinPATHif you want the OpenCode flow
Install the mobile app:
- Android APK: https://github.com/Mohit-Patil/clawdex-mobile/releases/latest
- iOS: https://apple.co/4rNAHRF
Install the CLI and start the bridge:
npm install -g clawdex-mobile@latest
clawdex initThen open the mobile app and connect using the printed bridge URL/token or pairing QR.
clawdex init now writes config, starts the bridge in the background, and returns you to the shell. Bridge logs go to .bridge.log.
The npm package is bridge-only. It does not install Expo or the mobile source tree. On supported macOS, Linux, and Windows hosts it uses bundled bridge binaries, so normal startup does not compile Rust. The current interactive setup helpers are still macOS/Linux-oriented.
Typical operator flow:
npm install -g clawdex-mobile@latest
clawdex init
clawdex stopOpenCode is supported directly from the CLI now.
npm install -g opencode-ai
npm install -g clawdex-mobile@latest
clawdex init --engines codex,opencodeThat writes BRIDGE_ENABLED_ENGINES=codex,opencode to .env.secure, so the mobile app can control both harnesses from one bridge.
Notes:
clawdex initwithout flags now lets you multi-select harnesses in the wizard with Space, then Enter to continue.- Use
clawdex init --engine codexorclawdex init --engine opencodeif you want a single-harness setup. - Use
clawdex init --engines codex,opencodeif you want both non-interactively.
If you are working from source:
npm install
npm run setup:wizard
npm run mobileFor an OpenCode-first repo checkout:
npm run setup:wizard -- --engine opencodeUse npm run setup:wizard -- --no-start if you only want to write config.
clawdex init [--engine codex|opencode] [--engines codex,opencode] [--no-start]clawdex stopclawdex upgrade/clawdex updateclawdex versionnpm run setup:wizardnpm run secure:bridgenpm run mobilenpm run iosnpm run androidnpm run stop:servicesnpm run teardown
- Setup + operations: https://github.com/Mohit-Patil/clawdex-mobile/blob/main/docs/setup-and-operations.md
- Troubleshooting: https://github.com/Mohit-Patil/clawdex-mobile/blob/main/docs/troubleshooting.md
- Realtime sync limits/mitigations: https://github.com/Mohit-Patil/clawdex-mobile/blob/main/docs/realtime-streaming-limitations.md
- Voice transcription internals: https://github.com/Mohit-Patil/clawdex-mobile/blob/main/docs/voice-transcription.md
- EAS builds: https://github.com/Mohit-Patil/clawdex-mobile/blob/main/docs/eas-builds.md
- Open-source/license notes: https://github.com/Mohit-Patil/clawdex-mobile/blob/main/docs/open-source-license-requirements.md
