Android app to control Codex app-server sessions running on LAN/Tailnet machines.
- Add/remove/select remote Codex servers (
ws://host:port) - Connect + initialize JSON-RPC session
- List and resume existing threads
- Start a new thread by
cwd - Send turns and stream
item/agentMessage/delta - Interrupt running turns
- Auto-handle approval requests (accept)
- Persist server list in local app storage
codex-android/
- Open
codex-androidin Android Studio. - Let Gradle sync/install requested SDK components.
- Connect phone over USB.
- Run the
appconfiguration.
cd codex-android
./gradlew :app:installDebug
adb shell am start -n com.local.codexmobile/.MainActivityor
./gradlew assembleDebug && adb install -r app/build/outputs/apk/debug/app-debug.apkThis is the machine that has your repos and will run codex app-server.
- Ensure Codex CLI is installed:
codex --version- Ensure Tailscale is up on the PC:
tailscale status
tailscale ip -4- Start app-server bound to the network interface:
codex app-server --listen ws://0.0.0.0:8390If you want it running in background:
nohup codex app-server --listen ws://0.0.0.0:8390 >/tmp/codex-app-server.log 2>&1 &- Optional quick verification on PC:
ss -lntp | grep 8390- Open
Codex Mobile. - In
Servers, add:
name: anything (for exampleworkstation)host: Tailnet IP (100.x.y.z) or MagicDNS name (my-pc.tail...)port:8390
- Tap the server chip to select it.
- Tap connect (top-right play icon).
- In
Sessions:
- set
cwdto repo path on PC (example:/home/user1/Desktop/vscode/codex) - tap
Newto start a thread, or select an existing thread to resume
- Send prompts in the message box.
- Start
codex app-serveron PC. - Open app on phone and connect.
- Start/resume thread and work.
Connect failed: confirm PC app-server is running and host/port are correct.- No response after connect: check Tailnet reachability from phone to PC.
- Session errors for path: verify
cwdexists on PC. - Reinstall app:
cd codex-android
./gradlew :app:installDebug- Uninstall and reinstall (needed when switching build PCs or signing keys change):
adb uninstall com.local.codexmobile
./gradlew assembleDebug && adb install -r app/build/outputs/apk/debug/app-debug.apk