Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk3 min

How to Uninstall a PWA with Puppeteer

Use Puppeteer’s browser.uninstallPWA() with a pipe connection and the installed PWA’s manifest ID. Includes code and troubleshooting.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Puppeteer’s browser-level browser.uninstallPWA() method to remove a Progressive Web App installed in that browser. Launch Puppeteer with pipe: true—the PWA API is not available over a WebSocket connection—and pass the manifest ID for the installed app.

Requirements before uninstalling

  • Use Puppeteer 25.4.0 or later, which introduced the browser-level PWA install, launch and uninstall methods. The consulted documentation identifies version 25.12.0; check the Puppeteer changelog for later releases.
  • Launch with pipe: true. Puppeteer documents the PWA API family as available only over a pipe connection, not WebSocket.
  • Have the manifest ID for the PWA. If your script installed it, save the ID returned by browser.installPWA().

See Puppeteer’s Browser API reference for the exact UninstallPWAOptions shape in your installed version.

As an Amazon Associate I earn from qualifying purchases.

Uninstall an installed PWA

This example assumes the PWA is already installed in the browser profile Puppeteer launches and that you know its manifest ID. Replace the example value with the ID returned by the install workflow or the value appropriate to your installed Puppeteer version.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ pipe: true });

  try {
    const manifestId = 'YOUR_MANIFEST_ID';
    await browser.uninstallPWA({ manifestId });
  } finally {
    await browser.close();
  }
})();

The documented relationship is that the manifest ID returned by installPWA() can be passed to uninstallPWA(). Check the API reference for the supported options in your exact release; the snippet illustrates the documented call sequence, not a test result.

Install and remove within one script

If the same automation owns the app lifecycle, retain the install result and pass its manifest ID to uninstall:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ pipe: true });

  try {
    const installed = await browser.installPWA({ url: 'https://example.com' });
    await browser.uninstallPWA({ manifestId: installed.manifestId });
  } finally {
    await browser.close();
  }
})();

Consult the Browser API reference for the exact install options and returned type for your release. Keep the returned manifest ID rather than trying to infer it from the page URL.

Why pipe transport and the manifest ID matter

The PWA install/state/launch/uninstall methods are browser-level Puppeteer APIs documented for a pipe connection. A normal WebSocket-based remote debugging connection does not expose this API family, so changing only the uninstall call will not address a transport mismatch.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The uninstall call targets the installed app by manifest ID. Puppeteer documents that the ID returned from installation can be supplied to uninstall, which makes saving that value the clearest approach when one script performs both operations.

What does not uninstall the PWA

  • page.setBypassServiceWorker(true) changes how page requests interact with the service worker. It is not the browser-level PWA uninstall operation.
  • Closing a browser context closes its pages and isolates cookies and local storage, but Puppeteer’s context guidance does not say that closing a context uninstalls a PWA.
  • browser.uninstallExtension(id) is for Chrome extensions, not installed web apps.

Close the browser cleanly

After the uninstall call, use await browser.close() to gracefully close a browser launched by the script. browser.disconnect() detaches Puppeteer while leaving the browser process running, so it is not a substitute when the script should stop the browser. See the browser management guide.

Troubleshooting

The PWA method is missing or unavailable

Confirm that the installed Puppeteer version includes the browser-level PWA methods (introduced in 25.4.0) and that the browser was launched with pipe: true. The API is not documented for a WebSocket connection.

Uninstall cannot identify the app

Check that you are passing the manifest ID associated with the installed PWA, not its page URL or an extension ID. If installation and removal happen in the same script, preserve the ID returned by installPWA() and pass it to uninstallPWA().

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The app still appears after closing a context

Context closure is for closing pages and isolating site data; it is not documented as PWA removal. Call browser.uninstallPWA() over the required pipe connection instead.

Best Value
The SQL Programming Language: .
  • Used Book in Good Condition

The browser process remains running

Use browser.close() for a browser launched by the script. browser.disconnect() intentionally leaves the process running.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is to capture a page rather than manage an installed PWA, ScreenshotNeo returns a screenshot or PDF with one GET request. Its API does not uninstall PWAs; it is an alternative for page capture, with cookie/consent banners, newsletter popups and chat widgets removed before the shot. Bot checks, blank pages and failed loads are never billed, and an MCP server lets AI agents take screenshots.

See the ScreenshotNeo API documentation. Example cURL request:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

It includes 1,000 screenshots per month free with no card; paid plans start at $5 for 3,000. Sign up for the free plan.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.