For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /docs/mobile/troubleshooting.md (or send Accept: text/markdown).
Troubleshooting the mobile app
Fix the common preview, configuration, and native-build failures before they reach a tester.
Setup and configuration
If the app cannot reach the backend, remember that localhost on a phone means the phone. Use the computer's LAN address, 10.0.2.2 for the Android emulator, or an HTTPS staging URL. Open that address in the phone browser first; check Wi-Fi, firewall, and VPN before changing code. An Expo tunnel carries the screen bundle, not your API.
A missing or wrong EXPO_PUBLIC_API_URL surfaces as a configuration error before sign-in. A rejected callback usually means the scheme in the build and the server's MOBILE_ALLOWED_ORIGINS disagree, or the callback ran in Expo Go instead of the native build.
Implementation workflow
After a native dependency or scheme change, stop Metro, clear its cache, rebuild the development client, and reinstall the app. If only the JavaScript changed, reloading the preview is enough. Keep the Expo SDK version in the app aligned with the Expo Go or development build installed on the device.
Verification and troubleshooting
The preview, sign-in, and deep link work on the target device.