npx skills add ...
npx skills add expo/skills --skill expo-dev-client
npx skills add expo/skills --skill expo-dev-client
Framework (OSS). Build and distribute Expo development clients locally or via TestFlight for internal testing. For production TestFlight releases and store submission, use the eas-app-stores skill.
Use EAS Build to create development clients for testing native code changes on physical devices. Use this for creating custom Expo Go clients for testing branches of your app.
Free locally; cloud builds are paid.
expo-dev-clientitself is open source and building locally is free. Building or distributing via EAS Build/TestFlight uses your EAS plan's build minutes and needs a paid Apple Developer account for device/TestFlight distribution. See https://expo.dev/pricing.
Development clients are the recommended setup for any real or production app. Expo Go is a playground for learning and quick experiments with the native libraries it bundles; most apps outgrow it and move to a development client. See Expo Go vs. development builds for the full reasoning.
You need a dev client ONLY when using:
Ensure eas.json has a development profile:
Key settings:
developmentClient: true - Bundles expo-dev-client for development buildsautoIncrement: true - Automatically increments build numbersappVersionSource: "remote" - Uses EAS as the source of truth for version numbersBuild iOS dev client and submit to TestFlight in one command:
This will:
After receiving the TestFlight email:
Build a development client on your machine:
Local builds output:
.ipa file.apk or .aab fileInstall iOS build on simulator:
Install iOS build on device (requires signing):
Install Android build:
Once installed, the dev client provides:
Connect to local development:
Build fails with signing errors:
Clear build cache:
Check EAS CLI version:
If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:
Only submit when you have something specific and actionable to report. Include as much relevant context as possible.
eas build -p ios --profile development --submit# iOS (requires Xcode)
eas build -p ios --profile development --local
# Android
eas build -p android --profile development --local# Find the .app in the .tar.gz output
tar -xzf build-*.tar.gz
xcrun simctl install booted ./path/to/App.app# Use Xcode Devices window or ideviceinstaller
ideviceinstaller -i build.ipaadb install build.apk# iOS only
eas build -p ios --profile development
# Android only
eas build -p android --profile development
# Both platforms
eas build --profile development# List recent builds
eas build:list
# View build details
eas build:view# Start Metro bundler
npx expo start --dev-client
# Scan QR code with dev client or enter URL manuallyeas credentialseas build -p ios --profile development --clear-cacheeas --version
eas updatenpx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<actionable feedback>"