home / dev-tools / expo-cli

Expo CLI

Official · Expo
48k

Expo CLI for starting Expo and React Native dev servers, generating native projects, running local iOS or Android builds, and inspecting project config.

$yarn add expo
Language
TypeScript
Stars
47,782
Category
Dev Tools
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

Expo CLI is the command surface for working on Expo and React Native apps from a project directory. It starts the dev server, generates native iOS and Android projects, runs local builds, and inspects or syncs Expo-specific project state.

What It Enables
  • Start an Expo dev server, open Android, iOS, or web targets, and use the terminal UI to reload apps, open tools, or switch between Expo Go and development builds.
  • Generate or regenerate native ios/ and android/ projects from app config with expo prebuild, then compile and install local builds with run:ios or run:android.
  • Inspect resolved Expo config and check or fix dependency versions that match the project's Expo and React Native SDK.
Agent Fit
  • Useful when an agent is already inside an Expo project and needs direct build, config, or dependency commands instead of a cloud service wrapper.
  • Non-interactive flags and exit codes make prebuild, run:*, and dependency checks scriptable, and expo config --json plus expo install --check --json give it a real machine-readable surface.
  • The main dev workflow still leans on expo start's interactive terminal UI and local toolchains like Xcode, Android Studio, simulators, and device setup. It can also connect to Expo's MCP path during expo start, but that integration is experimental and secondary to the direct CLI workflow.
Caveats
  • Expo CLI is bundled with the expo package, so install and discovery are easy to misread if you are expecting a standalone expo-cli package.
  • Local iOS and Android build commands depend on native tooling and, for iOS, a Mac with Xcode and simulator or device access.