Expo "Failed to resolve plugin" config plugin error in CI
Expo resolves every entry in the plugins array of your app config to a config plugin function. "Failed to resolve plugin for module X" means it could not find or load that plugin: the package is not installed, the name is misspelled, or it exports no plugin.
What this error means
prebuild or an EAS build fails during config evaluation with "PluginError: Failed to resolve plugin for module 'X'" or "Package X does not contain a valid config plugin".
PluginError: Failed to resolve plugin for module "expo-notifications" relative to '/app'.
Do you have node modules installed?Common causes
The plugin package is not installed
The plugins array references a package not present in node_modules, often because dependencies were not installed first.
A wrong plugin name or no plugin export
The entry is misspelled, or the package does not actually expose an Expo config plugin.
How to fix it
Install the plugin and its package
- Add the package to dependencies and run
npm ci. - Ensure the plugins entry matches the package name exactly.
- Re-run prebuild or the EAS build.
npx expo install expo-notificationsCorrect the plugins array
List only real config plugins by their exact module name.
{ "expo": { "plugins": ["expo-notifications"] } }How to prevent it
- Install JS dependencies before prebuild/config evaluation.
- Use npx expo install so plugin versions match the SDK.
- Keep the plugins array names exact and free of typos.