MobileCode CLI
An opencode fork for mobile development: the agent runs the iOS simulator or Android emulator and shows the device alongside
- 244 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent builds and launches apps, runs shell commands and edits project files
- The preview runs the external serve-sim and serve-avd services through npx
- The install script downloads and installs a binary from the network
Install
Manual install
curl -fsSL https://raw.githubusercontent.com/hsandhu/mobilecode/main/install | bashThe script downloads a release binary from GitHub. Read it before running. Alternative: git clone and build from source.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent builds and launches apps, runs shell commands and edits project files
- The preview runs the external serve-sim and serve-avd services through npx
- The install script downloads and installs a binary from the network
This is third-party code. Review the repository files before installing.
What it does
MobileCode is an opencode fork that knows about mobile projects. It detects an iOS or Android project and runs the simulator or emulator preview server, and the live device renders inside the app next to the session. Everything else from opencode stays: the terminal UI, desktop app, web UI, any model provider, MCP, plugins and skills. For iOS it finds Xcode projects and workspaces, CocoaPods and Expo apps, then runs serve-sim and embeds the simulator stream. For Android it finds Gradle and Expo projects and runs serve-avd. For Expo and React Native the Play button generates the native project with `expo prebuild` when needed, installs pods, starts Metro and connects the emulator to it through `adb reverse`. The `device_run` tool lets the agent build and launch the app itself, wait for the result and read the build error and log tail, so it can fix a failing build without you pasting logs. Status moves through Building, Installing, Launching and Running, and a failure shows the first compiler or Gradle error.
Who it is for. Mobile developers on iOS, Android and React Native who want the agent to build the app, run it on a device and see the result.
Good fit when
- The agent edits an app screen and you want to see the result right away on the simulator beside the chat
- The build fails and you do not want to paste logs to the agent by hand
- One React Native project runs on iOS and Android and needs a single Metro server
- Two devices must run independently and only one gets restarted
Not a fit when
- You want plain opencode with no mobile part: the original is simpler
- Xcode or Android Studio is not installed: the preview needs a simulator or emulator
- You work on Windows and need iOS: the simulator exists only on macOS
Example request
Run the app on the iOS simulator, wait for the build and show the first error if it failsLimitations
The project relies on the external serve-sim and serve-avd services launched through npx, so it needs npm access and an installed Xcode or Android SDK. The iOS simulator runs on macOS only. Metro uses one shared port: if another project holds it, stop that Metro by hand. Opening the device pane or switching tabs never starts anything on its own. Installation uses a script that downloads a binary from a GitHub release.
How to disable. Remove the mobilecode binary the install script placed and stop the serve-sim, serve-avd and Metro processes. Close emulators by hand.
FAQ
How does MobileCode differ from opencode?
It is a fork that detects mobile projects, runs the simulator or emulator and shows the live device in the app. Everything else from opencode is kept.
What does the device_run tool do?
It lets the agent build and launch the app itself, wait for the result and read the build error and log tail. The device pane opens when a run starts.
How does React Native run?
The React Native button starts Metro only. Each platform's Play button starts its virtual device and stream, then builds, installs and launches the current tab's project. One Metro serves both platforms.
Which projects are detected?
iOS: Xcode projects and workspaces, CocoaPods and Expo. Android: Gradle and Expo.
Does a build start by itself when I open a project?
No, opening the pane or switching tabs starts nothing. The device and build start with the Start or Play buttons or with an agent run.
Discussion
No questions or reviews yet.
Related
CLI toolsA Callstack plugin that shows simulators and devices beside the agent chat and lets it control the mobile app.
mobilecli drives iOS and Android devices, emulators and apps from the terminal, and its skill teaches Claude Code how to use it
Mobile Device MCP controls iOS and Android: taps, typing, screenshots and the element tree, with several devices at once
CLI for parallel React Native work on macOS: slimmed simulators, leased Metro ports and per-agent device tracking.
An agent in an IDE or CLI runs iOS simulators and Android emulators, reads the screen, profiles and runs tests.
AutoMobile lets an agent control Android and iOS devices in plain language: explore an app, reproduce bugs and write UI tests
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| MobileCode (this card) | no | 244 | |
| OpenCode | no | 226,389 | a general terminal agent; MobileCode adds mobile project detection and a live device in the UI |
| iOS Simulator Skill | no | 1,323 | a skill for driving the iOS simulator; MobileCode builds the simulator and build flow into the agent itself |
README in short
The description calls the project the open source AI coding agent for mobile apps, an opencode fork. It covers React Native, iOS and Android, the device_run tool, how the device pane works and script-based install.