Publishing
How do I fix "Build request failed" and Fastlane errors in EAS Build?
A "Build request failed" message means the request to start a build was rejected, so update eas-cli, check that cli.version in eas.json allows it, and read the error printed under it. A failed "Run fastlane" step on iOS means the Xcode build failed, and the real error is in the Xcode logs on the build page.
Updated October 31, 2026
Seeing Build request failed. Make sure you are using the latest eas-cli version. If the problem persists, report the issue. before anything has built is confusing, but it’s a useful clue. It means the problem happened while your computer was asking for a build, not during the build, so the answer is in your terminal rather than in the build logs.
Why it happens
“Build request failed” appears when the request to start a build comes back with an error that eas-cli doesn’t have a more specific message for. An old eas-cli is the first thing to rule out, which is why the message suggests it. Current versions also print the details under that line, an Error message: and a Request ID:, and they’re your best clue to what’s wrong.
A failed “Run fastlane” step is an iOS build problem. On the build servers, that step uses fastlane gym to run the Xcode build, so when Xcode fails, the build page shows The "Run fastlane" step failed with an unknown error. Refer to "Xcode Logs" below for additional, more detailed logs. In older versions of EAS Build, the same failure showed up as Fastlane build failed with unknown error, so it’s the same problem if that’s the message you have. When the error can be spotted in the Xcode output, it’s listed right in that message. Otherwise you’ll need the full logs, because the build page only shows an abridged version (the full Xcode output can be around 10 MB).
How to fix “Build request failed”
-
Update eas-cli and check which version you have:
npm install --global eas-cli eas --version -
Check
cli.versionineas.json. It’s the range of eas-cli versions your project accepts, so if it pins an older range, raise it to include the version you just installed:{ "cli": { "version": ">= 16.0.0" } } -
Run the build again and read the lines under the error. For more detail, turn on debug output:
EXPO_DEBUG=1 eas build --platform ios -
If it still fails with the latest version, report it with the request ID, as the message asks.
How to fix a failed “Run fastlane” step
-
Open the full Xcode logs. When the build has finished, scroll to the bottom of the build page and view or download Xcode Logs.
-
Search for the first
error:, since later errors can be knock-on effects of it. Lines marked[stderr]aren’t necessarily errors, and many of them are only warnings. -
Match the error to its fix:
- Code signing, a certificate, or a provisioning profile: run
eas credentialsto review the iOS credentials for that build profile, and regenerate the ones that don’t match. - A pod or a native library: run
npx expo install --checkso your packages match your SDK, then build witheas build --clear-cache, which clears the build cache (including the cachedPodfile.lock) first. - A library that needs a newer Xcode: by default your build image is chosen to match your SDK version, and setting
"image": "latest"underiosin your build profile moves to the newest one. - Your JavaScript: run
npx expo export --platform ioslocally, which bundles your code much faster than a cloud build.
- Code signing, a certificate, or a provisioning profile: run
-
Compare with your last good build. The Compare button on the build page shows the two builds side by side, including the packages and lockfile changes between them.
How you know it’s fixed
eas build uploads your project and prints a link to the build instead of stopping with the request error. On iOS, the build gets past Run fastlane and finishes with an app you can install or submit.
If it still fails
Next, we’d run npx expo-doctor, which checks that your dependencies are compatible with your Expo SDK. You can also run eas build --platform ios --local, which runs the same steps as the build servers as closely as it can on your own Mac, so you can see the Xcode error without waiting in the queue.
Ask the agent
If your app is in Draftbit, paste this into the agent, and it can read your code and make the change for you.
My EAS build fails. Update eas-cli and the cli.version range in eas.json, run the build again, and if the iOS build fails at Run fastlane, read the Xcode logs, find the first real error, and fix it. Tell me if it needs a change to our signing credentials.