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
CLI

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
All reasons and checks

hsandhu/mobilecode

Install

Manual install

curl -fsSL https://raw.githubusercontent.com/hsandhu/mobilecode/main/install | bash

The script downloads a release binary from GitHub. Read it before running. Alternative: git clone and build from source.

Access and checks

How we review

Broad 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 fails

Limitations

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.

CLI tools

A Callstack plugin that shows simulators and devices beside the agent chat and lets it control the mobile app.

PluginExtended access233Repository stars

mobilecli drives iOS and Android devices, emulators and apps from the terminal, and its skill teaches Claude Code how to use it

CLIBroad access317Repository stars

Mobile Device MCP controls iOS and Android: taps, typing, screenshots and the element tree, with several devices at once

MCP serverBroad access53Repository stars

CLI for parallel React Native work on macOS: slimmed simulators, leased Metro ports and per-agent device tracking.

CLIExtended access130Repository stars

An agent in an IDE or CLI runs iOS simulators and Android emulators, reads the screen, profiles and runs tests.

CLIBroad access161Repository stars

AutoMobile lets an agent control Android and iOS devices in plain language: explore an app, reproduce bugs and write UI tests

MCP serverBroad access56Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
MobileCode (this card)no244
OpenCodeno226,389a general terminal agent; MobileCode adds mobile project detection and a live device in the UI
iOS Simulator Skillno1,323a 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.

README badge

Report a problem