Definition
id (manifest field)
id is a manifest field, for example "id": "/app-v1", used as the app's permanent identifier for the OS install registry. Unlike start_url, id is not meant to change; if it is omitted, the browser derives an identity from start_url instead, which means later changing start_url can register as a brand-new app.
The field was added to solve real duplicate-install bugs where sites changed their start_url (for example adding a new tracking parameter) and users ended up with two separate home-screen icons for what should be one app.
id is resolved relative to the manifest's origin the same way start_url is, and best practice is to set it once, early, and never change it — treat it like a package name.
Chromium uses the pair (origin, id) to decide whether an install request refers to an app already installed; this is documented in the Web App Manifest identity explainer from the Chrome team.
If you are already running InstantPWA-style install prompts, adding an explicit id retroactively is safe — the browser will treat the existing start_url-derived identity and the new id as the same app only if they resolve to the same manifest, so test on a scratch profile before rolling it to production.