Build and distribute Expo development clients locally or via TestFlight
54
61%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./plugins/expo/skills/expo-dev-client/SKILL.mdThe canonical home for this skill is expo-dev-client in expo/skills
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.
Only create development clients when your app requires custom native code. Most apps work fine in Expo Go.
You need a dev client ONLY when using:
Try Expo Go first with npx expo start. If everything works, you don't need a dev client.
Ensure eas.json has a development profile:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true
},
"development": {
"autoIncrement": true,
"developmentClient": true
}
},
"submit": {
"production": {},
"development": {}
}
}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:
eas build -p ios --profile development --submitThis will:
After receiving the TestFlight email:
Build a development client on your machine:
# iOS (requires Xcode)
eas build -p ios --profile development --local
# Android
eas build -p android --profile development --localLocal builds output:
.ipa file.apk or .aab fileInstall iOS build on simulator:
# Find the .app in the .tar.gz output
tar -xzf build-*.tar.gz
xcrun simctl install booted ./path/to/App.appInstall iOS build on device (requires signing):
# Use Xcode Devices window or ideviceinstaller
ideviceinstaller -i build.ipaInstall Android build:
adb 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:viewOnce installed, the dev client provides:
Connect to local development:
# Start Metro bundler
npx expo start --dev-client
# Scan QR code with dev client or enter URL manuallyBuild fails with signing errors:
eas credentialsClear build cache:
eas build -p ios --profile development --clear-cacheCheck EAS CLI version:
eas --version
eas update11c74d6
Canonical home
since Mar 15, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.