The install prompt never appears
Chrome does not offer installation until every condition is satisfied at once: HTTPS, a linked manifest with name, a 192px and a 512px icon, a start_url inside scope, display set to standalone, fullscreen or minimal-ui, and a service worker with a fetch handler. Miss one and the prompt is silently withheld — no error, no warning. Devtools → Application → Manifest lists the failing condition explicitly under Installability — the full checklist is here.
The conditions, in the order they actually fail
Icons come first, because they are the most common single cause. Chrome wants a 192×192 and a 512×512 PNG. One 512 alone is not enough, and neither is an SVG on older Chrome versions. We read the manifests of 386 apps in this directory on 12 August 2026: 36 of them declare no icon reaching 512px at all.
Then display. If it is missing or set to browser, the browser concludes you want a tab, not an app, and never offers to install. 352 of the 373 readable manifests use standalone, so this is rare in practice — but when it bites, nothing else you fix will help.
Then the service worker. It must exist, be registered, and have a fetch event handler. A worker with only install and activate handlers passes casual inspection and fails installability, because Chrome checks for the handler specifically.
Then scope. If start_url falls outside scope, the app has no valid entry point and the prompt is withheld. This one is easy to introduce by accident when an app moves from a subdirectory to a root, or the reverse.
Where the browser tells you which one failed
Devtools → Application → Manifest. Scroll to Installability. Chrome names the unmet condition in plain language — no guessing, no trial and error. This panel is the single most underused tool in the whole subject.
Two traps make people think the panel is lying. First, an already-installed app never prompts again; test in a fresh profile or uninstall first. Second, Chrome throttles the prompt after a user dismisses it, so a prompt that appeared yesterday and not today may be a cooldown rather than a regression.
When everything is right and it still does not appear
Firefox on desktop does not install PWAs at all — no version, no flag. Safari on iOS never shows an automatic prompt: the only path is Share → Add to Home Screen, which the user must know about. If your traffic is mostly iPhone, the prompt was never coming, and the fix is a page telling people how rather than a manifest change.
On Android, the prompt is also quieter than people expect. Without a screenshots array you get the minimal bottom sheet instead of the richer install dialog. 331 of the 373 manifests we read declare no screenshots — 89% — so most apps are showing their least persuasive install UI. The icon has the same problem without knowing an alternative exists.
Frequently asked
Almost always because you installed it before and Chrome remembers, or because they dismissed the prompt once and are inside the cooldown. Test in a clean profile on both sides before concluding the app differs.
No. Lighthouse retired its dedicated PWA category, and even when it ran it checked a slightly different list than the one Chrome enforces at runtime. Application → Manifest → Installability is the authoritative answer.
Apps mentioned
Keep reading
592+ Progressive Web Apps, each checked by hand — installable from your browser, no app store.
Browse the directory →