Skip to main content
This guide will help you get Mobilerun installed and running quickly, controlling your Android device through natural language in minutes.
This is the open source Framework. It runs locally on your machine against your own Android device over adb, and it uses your own LLM provider key such as GOOGLE_API_KEY or OPENAI_API_KEY. If you would rather use hosted devices and a managed agent with no local setup, use the Cloud Quickstart instead.

Prerequisites

Python 3.14 is not yet supported. Installing Mobilerun on Python 3.14 will silently fall back to an older version (e.g. 0.3.9) due to a dependency that does not yet support Python 3.14. Use Python 3.11, 3.12, or 3.13.
Before installing Mobilerun, ensure you have:
  1. Python 3.11, 3.12, or 3.13 installed on your system
  2. Android Debug Bridge (adb) installed and configured
  3. Android device with:

Installation

Mobilerun is installed using uv, a fast Python package installer and resolver. Install uv (if not already installed):
Choose your installation method: For CLI usage only:
For CLI + Python code integration:
Google Gemini, OpenAI, xAI, DeepSeek, MiniMax, ZAI, Ollama, and OpenRouter support is included by default. Anthropic requires the optional extra: use uv tool install 'mobilerun[anthropic]' for CLI-only use or uv pip install 'mobilerun[anthropic]' in a Python project.
Portal is the recommended way to control Android devices. It improves text entry and helps Mobilerun read the screen reliably. To use Android through ADB without Portal, see Device Setup.
This command automatically:
  1. Downloads the Portal APK compatible with this Mobilerun version
  2. Installs it on your connected device and grants the Android permissions allowed during installation
  3. Attempts to enable the accessibility service, opening Settings if manual action is required
Use mobilerun setup --latest to opt into the newest Portal release, or mobilerun setup --portal-version <version> to pin a specific release.

Test Connection

Verify that Portal is available:
If successful, you’ll see:
mobilerun ping checks Portal. For an ADB-only setup, run adb devices -l instead.

Configure Your LLM

Run the configure wizard to choose your provider, auth method (API key or OAuth), and model:
The wizard saves your provider and model settings. See the CLI guide for OAuth sign-in commands and configuration file locations. Alternatively, you can set an API key as an environment variable:

Run Your First Command via CLI

Now you’re ready to control your device with natural language:
Common CLI flags:
  • --provider - LLM provider (GoogleGenAI, OpenAI, XAI, Anthropic, etc.)
  • --model - Model name (gemini-3.7-flash, gpt-5.5, etc.); pass it together with --provider
  • --vision - Enable screenshot processing
  • --vision-only - Use screenshots without an accessibility tree
  • --reasoning - Enable multi-agent planning mode
  • --steps N - Maximum execution steps (default: 15)
  • --debug - Enable detailed logging

Create a Simple Agent via Script

For complex automation or integration into your Python projects, create a script:

Next Steps

Now that you’ve got Mobilerun running, explore these topics: