Summary
eas workflow:run started failing on eas-cli 18.5.0 (released April 2, 2026) when node_modules are not installed on the GitHub Actions runner. The same workflow works on 18.4.0.
The EAS CLI now tries to parse app.config.ts locally before dispatching the remote workflow. Without node_modules, this fails with either:
Unexpected token ')' (fallback @expo/config can't parse the TS syntax)
Failed to resolve plugin for module "expo-asset" (if Node is set up but deps aren't installed)
This is a regression because workflow:run only triggers a remote EAS workflow — there's no reason it should need local node_modules to read the config.
To Reproduce
- Use a GitHub Actions workflow that runs
eas workflow:run without npm install:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: expo/expo-github-action@v8
with:
eas-version: latest # resolves to 18.5.0+
token: ${{ secrets.EXPO_TOKEN }}
- run: eas workflow:run .eas/workflows/my-deploy.yml --wait --non-interactive
- The step fails with:
Failed to read the app config from the project using "npx expo config" command: npx expo config --json exited with non-zero code: 1.
Falling back to the version of "@expo/config" shipped with the EAS CLI.
Error reading Expo config at /home/runner/work/my-project/my-project/app.config.ts:
Unexpected token ')'
Error: workflow:run command failed.
Expected behavior
eas workflow:run should not require local node_modules — it only needs to dispatch a remote workflow.
Workarounds
- Pin eas-cli to 18.4.0:
eas-version: 18.4.0 (confirmed working)
- Add
npm ci before the EAS step (confirmed working, but adds ~30s to the workflow)
Bisected versions
| eas-cli version |
Result |
| 18.4.0 |
Works without node_modules |
| 18.5.0 |
Fails without node_modules |
Environment
- GitHub Actions runner:
ubuntu-latest (Ubuntu 24.04)
- Node: 20.x (from the runner default)
- Expo SDK: 52
app.config.ts uses dynamic config with plugins (expo-asset, expo-splash-screen, etc.)
Related issues
Summary
eas workflow:runstarted failing on eas-cli 18.5.0 (released April 2, 2026) whennode_modulesare not installed on the GitHub Actions runner. The same workflow works on 18.4.0.The EAS CLI now tries to parse
app.config.tslocally before dispatching the remote workflow. Withoutnode_modules, this fails with either:Unexpected token ')'(fallback@expo/configcan't parse the TS syntax)Failed to resolve plugin for module "expo-asset"(if Node is set up but deps aren't installed)This is a regression because
workflow:runonly triggers a remote EAS workflow — there's no reason it should need localnode_modulesto read the config.To Reproduce
eas workflow:runwithoutnpm install:Expected behavior
eas workflow:runshould not require localnode_modules— it only needs to dispatch a remote workflow.Workarounds
eas-version: 18.4.0(confirmed working)npm cibefore the EAS step (confirmed working, but adds ~30s to the workflow)Bisected versions
node_modulesnode_modulesEnvironment
ubuntu-latest(Ubuntu 24.04)app.config.tsuses dynamic config with plugins (expo-asset,expo-splash-screen, etc.)Related issues