When manifest changes reach an installed PWA

An installed PWA relies on the web app manifest for its identity: the app name, icons, launch URL, and other metadata. If you ship a manifest update, installed apps do not pick it up immediately. Chrome polls for changes on a schedule tied to app launches, and only certain manifest fields trigger an actual re-install.

In most cases, changes should show up within a day or two of the PWA being launched, after the manifest has been updated.

Desktop: polling and staged installs

When a PWA is launched on desktop, or opened in a browser tab, Chrome checks the local manifest against the server. A network request happens only if the manifest hasn't been checked since the browser last started, or if it has been more than 24 hours since the last check. If Chrome finds changes to any of the fields listed below, it queues the new manifest.

The update is installed only after all windows of the PWA have been closed. When the install completes, all fields from the new manifest are applied except icons.

Fields that trigger a desktop update

  • name
  • short_name
  • display
  • scope
  • shortcuts
  • start_url — changes here require the manifest id to be set
  • theme_color
  • file_handlers

Changing the display field is a special case. If you update from browser to standalone, existing users will not suddenly have their app open in a window. The effective display mode is a combination of the manifest value (which you control) and the user's own window/tab preference. Chrome always respects the user setting.

Forcing and inspecting desktop updates

The chrome://web-app-internals page (Chrome 85 and later) shows detailed information about every installed PWA, including when its manifest was last updated and how often checks occur.

To force Chrome to re-check the manifest on next launch, you can either start Chrome with the --disable-manifest-update-throttle command line flag, or restart the browser entirely through about://restart, which resets the update timer. After that, launch the PWA. Closing it should trigger the install of any new manifest properties.

Android: WebAPK updates by schedule

On Android, the update path is similar but goes through the WebAPK packaging pipeline. At PWA launch, Chrome checks how long it has been since the local manifest was last fetched. If more than 24 hours have passed, Chrome schedules a network request for the manifest and compares it to the local copy.

When changes are detected in any of the fields below, the new manifest is queued. Chrome actually requests an updated WebAPK from the server only after all PWA windows are closed, the device is plugged in, and it's on WiFi. After the WebAPK is rebuilt, all fields from the new manifest take effect.

Fields that trigger an Android update

  • name
  • short_name
  • icons
  • background_color
  • display
  • orientation
  • scope
  • shortcuts
  • start_url
  • theme_color
  • web_share_target

Note that icons is an update trigger on Android, unlike on desktop. Also, if Chrome cannot fetch an updated manifest from the server, it may back off and wait up to 30 days before checking again.

Forcing and inspecting Android updates

The about://webapks page lists every installed PWA on the device, with details on when the manifest was last updated and the update frequency.

To manually trigger an update and bypass the normal timer:

  1. Plug in the device and verify it is connected to WiFi.
  2. Close the PWA in the Android task manager, then force stop it from the App panel in Android settings.
  3. Open about://webapks in Chrome and click the "Update" button for the PWA. The "Update Status" field should change to "Pending".
  4. Launch the PWA and confirm it loads correctly.
  5. Again, shut down the PWA in the Android task manager and force stop it in Android settings.

The update is usually installed within a few minutes. Once complete, the "Update Status" field should read "Successful", and the new manifest fields will be in effect.