expo-air
CLI

CLI Reference

All expo-air CLI commands and options

expo-air init

Initialize expo-air in your project. Creates configuration files and runs prebuild.

npx expo-air init
FlagDescription
--forceOverwrite existing configuration files
--skip-prebuildSkip running expo prebuild after init

expo-air start

Start the full development environment — prompt server, widget Metro, app Metro, and tunnels.

npx expo-air start [options]
FlagDefaultDescription
--port <number>3847Prompt server WebSocket port
--widget-port <number>8082Widget Metro dev server port
--metro-port <number>8081App Metro dev server port
--no-tunnelSkip tunnel setup (local network only)
--no-buildSkip building the app
--no-serverSkip starting the WebSocket server

expo-air fly

Build, install on a real iOS device, and start everything with Cloudflare tunnels. Use this when your device is not on the same network.

npx expo-air fly

This command:

  1. Allocates ports for all three servers
  2. Creates Cloudflare tunnels for remote access
  3. Updates .expo-air.local.json with tunnel URLs
  4. Builds and installs the app on your connected device
  5. Starts the prompt server and both Metro instances

expo-air dev

SDK development mode — runs the widget with live source changes on the simulator. Primarily used for developing expo-air itself.

npx expo-air dev

expo-air server

Run only the prompt server without launching Metro or building the app. Useful when you want to manage Metro separately.

npx expo-air server