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

Target closed means Puppeteer’s DevTools target or its connection closed before the screenshot finished. It is a symptom, not a diagnosis. First make sure page.screenshot() completes before your code closes the page, context, or browser. If the failure happens only on a server, inspect Chromium’s output and whether it can start with the runtime dependencies available.

What “Target closed” means

Puppeteer captures a page with page.screenshot(). The error Protocol error (Page.captureScreenshot): Target closed says the target or protocol connection was gone when that operation tried to finish; the message alone does not identify whether the page, browser context, browser process, or connection closed first. Puppeteer’s screenshot guide documents the screenshot API.

That distinction matters: increasing a timeout cannot restore a target that has already closed. Identify which operation rejected and what happened immediately beforehand before changing launch flags or browser settings.

Fix lifecycle ordering first

Await the screenshot promise before closing the page, its browser context, or the browser. This applies to cleanup in finally blocks as well as timers, signal handlers, cancellation logic, and background jobs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
  • Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
  • Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit Low Noise Bearing System Fan
  • Mega Heat Sink - Black Anodized
const page = await browser.newPage();
try {
  await page.goto('https://example.com');
  await page.screenshot({ path: 'shot.png' });
} finally {
  await page.close();
  await browser.close();
}

Do not start a screenshot and then immediately initiate cleanup without awaiting it. If your application intentionally cancels work, make the cancellation and cleanup sequence explicit so the capture is not still using a target that has been closed.

Trace the rejected operation

  1. Keep the complete error and stack trace. Determine whether the rejection is from page.screenshot(), navigation, page creation, or cleanup. A later error can obscure the operation that first failed.
  2. Record the environment. Note the Puppeteer package version, browser version, runtime, operating environment, and the operation that failed.
  3. Reduce the script. Create the smallest reproduction that retains the same launch configuration, page behavior, and timing. Remove unrelated application work, but preserve any concurrency or server setup that might matter.
  4. Change one variable at a time. Rerun the same reproduction and compare the full output. Do not suppress rejected promises or assume a longer timeout is a fix.

Check concurrent screenshots and closes

If several jobs capture screenshots or close pages at once, temporarily serialize capture and close operations as a diagnostic. A reported issue describes a protocol timeout in a particular concurrent screenshot/page-close configuration, with outcomes varying by protocol and headless settings; it does not establish a general Puppeteer bug or a universal workaround. Preserve those settings in the minimal reproduction and compare them deliberately rather than changing several at once.

Rank #2
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
  • Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
  • Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
  • CanaKit Premium High-Gloss Raspberry Pi 4 Case with Integrated Fan Mount, CanaKit Low Noise Bearing System Fan
  • CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply (US Plug) with Noise Filter, Set of Heat Sinks, Display Cable - 6 foot (Supports up to 4K60p)
  • CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)

Investigate server-only failures

If the same code works locally but fails in a server or container, inspect whether Chromium exits or cannot load a required runtime dependency. Capture browser launch output; an issue discussion suggests dumpio: true as a diagnostic aid, not as a guaranteed fix.

const browser = await puppeteer.launch({
  dumpio: true
});

Read the emitted process output for launch or runtime errors, then verify dependency availability in the deployment environment. Avoid treating --no-sandbox as a general-purpose remedy: the available evidence does not establish it as a fix for this error.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
ELECROW CrowPi Case Kit for Raspberry Pi 5, 9-Inch Display
  • Not including the Raspberry Pi 5 (8GB), the Crowpi advanced version comes with the Raspberry Pi 5
  • ELECROW Black Case for the Raspberry Pi 5, CrowPi is equipped with a 9-inch HD touchscreen along with a camera; All the regular components used in DIY electronics are packed into the CrowPi development board, such as LCD, LED matrix, buzzer, light sensor, PIR sensor, ultrasonic sensor, IR sensor, etc
  • Raspberry Pi Sensors: The Crowpi raspberry pi 5 programming kit is jam-packed with lots of buttons such as 19 different sensors in a tidy easy to use package; You don't have to wait and wire things
  • Build Quality: Solid ABS shell and well made components in one place make it strong and convenient to travel
  • Programming Lessons: This raspberry pi 5 learning kit ships with step by step instructions and provides 21 lessons to take you through identifying components reading code and running it in the terminal

Common symptoms and next checks

Symptom What to check
Failure occurs during page.screenshot() Confirm the page and browser remain open until the screenshot promise resolves; inspect the complete stack trace.
Failure appears during cleanup Check whether a screenshot, navigation, or other page operation was still pending when cleanup began.
Failure occurs only with parallel work Reproduce with serialized capture/close operations, then add concurrency back while holding other settings steady.
Failure occurs only in deployment Capture Chromium output with dumpio: true and check for process exits or missing runtime dependencies.
Changing timeout has no effect Look for a closed page, context, browser, or protocol connection; a timeout does not reopen a closed target.

Or skip the browser setup

If your goal is to obtain a screenshot rather than debug a Puppeteer runtime, ScreenshotNeo provides a screenshot API and MCP server for developers. A single GET request returns an image or PDF. Its API offers options including full-page capture, element selection, viewport and device settings, PDF controls, custom CSS or JavaScript, wait conditions, and request blocking.

Example cURL request (replace the URL as needed):

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for setup and parameters. ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server gives AI agents tools for screenshots, page information, and PDF capture. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Rank #4
CanaKit Raspberry Pi 5 Desktop PC with SSD (Fully Assembled) (256 GB SSD)
  • Fully assembled for plug-and-play operation
  • Includes Raspberry Pi 5 with 8GB RAM
  • 256 GB PCIe Pi NVMe SSD (Pre-loaded with Pi 64-Bit OS)
  • M.2 HAT+
  • CanaKit Turbine Black Case for the Pi 5
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Frequently Asked Questions

Does “Target closed” identify the exact cause?

No. It indicates the target or connection closed before the operation completed; use the stack trace and lifecycle timing to find what closed first.

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

Should I add `–no-sandbox` to fix it?

Not as a general fix. The available reports do not establish that flag as a solution to this error.

Quick Recap

Bestseller No. 1
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM); CanaKit Turbine Black Case for the Raspberry Pi 5
$259.95
Bestseller No. 2
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM); Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
$159.99
Bestseller No. 4
CanaKit Raspberry Pi 5 Desktop PC with SSD (Fully Assembled) (256 GB SSD)
CanaKit Raspberry Pi 5 Desktop PC with SSD (Fully Assembled) (256 GB SSD)
Fully assembled for plug-and-play operation; Includes Raspberry Pi 5 with 8GB RAM; 256 GB PCIe Pi NVMe SSD (Pre-loaded with Pi 64-Bit OS)
$339.97
Best Value
Sale
RasTech Raspberry Pi 5 8GB Kit with Active Cooler and Pi5 Case
  • 【What you Get】You will get 1*Pi 5 8GB Single Board,1*RasTech Case,1*Active Cooler,1*Screwdriver,1*Installation instructions,12-month free warranty, lifetime service, 24-hour prompt and friendly response.
  • 【More Connectors】There are two USB 3.0 ports(5Gbps simultaneously) and two USB 2.0 ports, which triple total bandwidth ,support any combination of up to two cameras or displays. Peak SD card performance is doubled through support for the SDR104 high-speed mode. It provides a smooth desktop experience for you. Offer Gigabit Ethernet and a PCIe interface, along with dual-band Wi-Fi and Bluetooth 5.0/BLE wireless capability. The RasTech Pi 5 Kit use the new 27W 5.1V 5A USB-C power connector.
  • 【 Support Dual 4Kp60 Display 】Each of the two microHDMI sockets can control a 4K display at 60 Hertz, now support HDR, offering super HD video for media streaming projects. RPi 5 is the first RPi model that comes with a PCI Express port (PCIe 2.0 x1 with 500 MB/s) to attach SSDs (requires separate M.2 HAT).
  • 【 Excellent Chips And Applications】Pi 5 is a full-size Pi computer using silicon built in-house at Pi. The RP1 “southbridge” provides the bulk of the I/O capabilities for Pi 5. Pi 5 is more friendly and convenient in the development of Internet of Things, Web development, machine identification, automatic control and other electronic equipment applications and network.
  • 【 Faster CPU, Better GPU 】 Pi 5 features a Broadcom BCM2712 64-bit quad-core Arm Cortex-A76 processor running at 2.4GHz, it delivers a 2–3× increase in CPU performance relative to RaspberryPi 4. The 800MHz VideoCore VII GPU is compatible to OpenGL ES 3.1 and Vulkan 1.2, substantial uplift in graphics performance. Pi 5 Offers lightning-fast CPU speed, a PCI Express interface, a Real Time Clock (RTC) and a power button and runs significantly cooler than Pi 4.

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.