Enable the Web Install API
Enable the Web Install API flag in Chrome, Edge, and other Chromium browsers to try our one-click PWA install flow from PWAStore.
Experimental developer feature – API surface may change.
The Web Install API introduces navigator.install(), a new way to install Progressive Web Apps (PWAs) directly from the browser. Instead of relying on the legacy beforeinstallprompt event, a site can call this API from a user gesture and ask the browser to install a PWA.
In the long term, this enables installation to be triggered from anywhere on the web – including aggregator sites like PWAStore – while the browser still controls the actual install prompt and permissions. Today the API is experimental and primarily intended for developers and early adopters.
Turn on the hidden flag
Open a new tab and go to about:flags. Search for “Web Install API” and switch it to Enabled.
Trigger an install from PWAStore
Open PWAStore on desktop and look for the Install PWAStore button in the sidebar. When the flag is enabled, clicking the button calls the experimental API directly from a user gesture:
await navigator.install()
The call must happen inside a user gesture, so the install runs directly in the click handler. If the API is unavailable or fails, nothing special happens and you can still use the standard Add to Home Screen / Install App instructions.
The Web Install API is still under active development and only available behind experimental flags. Expect behavior and API shape to change as browser vendors iterate on the proposal.
- Microsoft Edge (Insider builds): enable the Web App Installation API flag from
about:flags(redirects toedge://flags). - Chrome and other Chromium browsers: when available, use
about:flagsand search for Web Install API or go directly tochrome://flags/#web-app-installation-api. - Safari and Firefox: currently ignore
navigator.installand fall back to their existing Add to Home Screen / Install App experiences.
You can download test builds here:
The Web Install API explainer from Microsoft Edge shows how sites can install a background document or app by passing an install URL and manifest identifier. A simplified version of that sample looks like this:
// Try to install a background document (app)
const installApp = async (installUrl, manifestId) => {
if (!navigator.install) return; // API not supported
try {
await navigator.install(installUrl, manifestId);
} catch (err) {
switch (err.name) {
case "AbortError":
// User dismissed the prompt or the operation was aborted
break;
case "DataError":
// Issue with manifest file or manifestId
break;
default:
// Other errors (network, permission, etc.)
console.error("navigator.install failed", err);
}
}
};PWAStore's current experiment uses the simplest shape – calling await navigator.install() from a trusted user gesture – but the long-term design allows install URLs and manifest identifiers for installing apps that live on other origins.
We only call the API when navigator.install is available. When the flag is off, clicking the install button behaves like a regular click and you can still follow the standard Add to Home Screen or Install App steps.
The current prototype only targets the PWAStore app itself and relies on same-origin manifests. As we expand coverage we’ll store manifest_ids and install_urls per listing.
The Web Install API is an early-stage proposal in Chromium. Expect the shape of navigator.install to change as the W3C discussion evolves.
We want your feedback
Once you have the flag enabled, try installing the PWAStore app and let us know if the prompt appears and completes. We’re collecting browser quirks and plan to roll the feature out to every app listing once Chromium finalizes the API.
For the latest details on the Web Install API, see: