Answer
Why is my PWA install prompt not showing?
Chrome shows the install prompt only when the site passes strict installability criteria: HTTPS, a valid manifest with name, icons and start_url, a registered service worker with a fetch handler, and the user has not previously dismissed the prompt. Any one of these missing is enough to block the prompt entirely.
The Chrome installability checklist
Open DevTools → Application → Manifest. Chrome lists exactly which criterion is failing. The most common failures: (1) icons not 192px and 512px, (2) manifest not linked from every route, (3) service worker missing a fetch listener, (4) HTTPS with a self-signed certificate.
Silent throttling
If a user dismisses the prompt twice, Chrome silently backs off for months. Test in a fresh incognito profile.
iOS never fires beforeinstallprompt
This is not a bug. On iOS you must render your own share-sheet guide or use a hosted install popup that handles the platform detection for you.