At prebuild time on the machine running expo prebuild or EAS Build - not on every Metro reload. Rebuild native binaries after plugin changes that affect entitlements or native deps.
Can I use config plugins without committing ios/?
Yes - that is the CNG default. Plugins are the source of truth; native folders are ephemeral output.
How do I test a plugin without a full compile?
npx expo config --type introspect shows mod results. For final validation, run prebuild twice and confirm zero diff.
What is the difference between app.config plugins and native-modules config-plugins page?