Skip to content

expo-outdated build step generates bash script with unescaped double quotes, causing "unexpected EOF" failure on SDK < 55 #3581

@RadioGroupDE

Description

@RadioGroupDE

Build/Submit details page URL

No response

Summary

The expo-outdated built-in build step fails with a bash syntax error when the project uses Expo SDK 53. The generated shell script contains an unescaped " inside the Apple submission requirement warning message, causing bash to exit with code 2.

Expected Behavior

The expo-outdated step should either succeed (possibly with a warning) or fail with a meaningful error message — not a bash syntax error from a malformed generated script.

Workaround

None found. Custom build configs (via config in eas.json) do not help because the expo-outdated step appears to run before any custom build configuration is applied.

Impact

This blocks all EAS cloud production builds for projects on Expo SDK < 55, starting sometime in early April 2026. Given the approaching April 26th Apple deadline, this is time-sensitive.

Managed or bare?

Managed

Environment

  • Expo SDK: 53.0.9
  • EAS CLI version (eas.json): 16.17.4
  • Build platform: iOS (macOS worker, /var/folders/...)
  • Build profile: production

Error output

⚠️ Upcoming Apple submission requirement

Due to upcoming submission requirements from Apple, starting the 26th of April, 2026, we will change:
/var/folders/.../steps/expo-outdated/scripts/.sh: line 11: unexpected EOF while looking for matching `"'
/bin/bash -eo pipefail /var/folders/.../steps/expo-outdated/scripts/.sh exited with non-zero code: 2
Root Cause

The generated bash script at steps/expo-outdated/scripts/.sh appears to contain an unescaped " character inside a double-quoted string in the Apple submission requirement warning message. This is a script generation bug on the EAS Build server side.

Reproducible demo or steps to reproduce from a blank project

  • Have a project using Expo SDK 53 (latest is 55)
  • Trigger any EAS production build (iOS or Android)
  • Build fails at the expo-outdated step

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs reviewIssue is ready to be reviewed by a maintainer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions