Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk5 min

Puppeteer Default Browser Arguments Explained

Use `puppeteer.defaultArgs(options)` to inspect launch flags for your setup. Learn how `args` differs from `ignoreDefaultArgs` and when browser compatibility matters.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

puppeteer.defaultArgs(options) shows the default browser arguments for a particular launch configuration. To add a flag, use args; to remove Puppeteer-supplied flags, use ignoreDefaultArgs. These options do different things, and the actual defaults depend on the Puppeteer version and launch options.

Inspect the default arguments for your launch

The public defaultArgs() API returns a string[] containing the default arguments Puppeteer would use with the supplied launch options. Query the package installed in your project instead of relying on a copied list: the output can vary with the options and Puppeteer version.

The Puppeteer API documentation is versioned; the documentation referenced here identifies version 25.12.0. That is documentation context, not a claim that every project is running that version.

const puppeteer = require('puppeteer');

const options = {};
const args = await puppeteer.defaultArgs(options);
console.log(args);

For an ES module, import the package and use the same call:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
import puppeteer from 'puppeteer';

const options = {};
console.log(await puppeteer.defaultArgs(options));

Pass the relevant launch options when inspecting a particular setup, so you see defaults for that configuration rather than treating an empty-options result as universal. The documented API is described in the Puppeteer defaultArgs reference.

Add an argument or remove a default?

args adds command-line arguments to the launch. It does not mean “replace Puppeteer’s defaults.” ignoreDefaultArgs changes what happens to Puppeteer’s generated defaults: set it to true to suppress them all, or pass an array to filter selected arguments. Its documented default is false.

Intent Option Effect Scope
Add your own browser flag args: ['--some-flag'] Adds the supplied argument alongside Puppeteer’s defaults. Additive; the example flag is illustrative, not a built-in default.
Remove one Puppeteer-supplied argument ignoreDefaultArgs: ['--mute-audio'] Filters the named argument from Puppeteer’s defaults. Selective.
Suppress Puppeteer’s default arguments ignoreDefaultArgs: true Does not use the generated default argument set. Broad; changes the whole default set.

Add a flag with args

const browser = await puppeteer.launch({
  args: ['--some-flag'],
});

Replace --some-flag with the browser argument your use case requires. This example illustrates the option; it does not assert that the flag is a Puppeteer default or suitable for every browser.

Filter one default with ignoreDefaultArgs

Puppeteer’s documented launch example selectively removes --mute-audio:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const browser = await puppeteer.launch({
  ignoreDefaultArgs: ['--mute-audio'],
});

Use this form when you have a specific reason to remove a particular generated argument. Puppeteer cautions: “Use this with care – you probably want the default arguments Puppeteer uses.”

Suppressing all defaults is a different choice

ignoreDefaultArgs: true is not a shortcut for adding a custom flag; it suppresses Puppeteer’s default argument set. The API advises care, and the documentation does not establish a universal list of failures caused by doing this. Do not assume it is a routine optimization: make the change only when you intend to take responsibility for the launch arguments, and verify the resulting browser behavior for your setup.

Choose the browser binary with the arguments in mind

Arguments are used to launch a browser, so the executable matters too. Puppeteer lists Chrome as the default browser and supports an executablePath override. It says it works best with the Chrome for Testing binary it downloads by default and does not guarantee compatibility with arbitrary Chrome versions. When specifying a custom executable path, the LaunchOptions documentation recommends setting the browser property because Chrome is otherwise the default.

With puppeteer-core, provide either executablePath or channel. For that package, choose and verify the browser explicitly rather than expecting the bundled-browser setup used by puppeteer. See the LaunchOptions reference and launch method reference for the documented options and compatibility context.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Browser choice What the documentation establishes Practical implication
Puppeteer’s downloaded Chrome for Testing Puppeteer says it works best with this binary and guarantees compatibility with its bundled browser. Prefer it when you want the documented compatibility baseline.
Custom executable or channel Other Chrome versions are not guaranteed; puppeteer-core requires executablePath or channel. Use the documentation for your package and launch method, then validate the exact browser/version combination.

The Puppeteer browsers package has its own browser-launcher options surface. Do not assume its LaunchOptions are interchangeable with the Node puppeteer.launch() interface; consult the reference for the API you are calling.

Troubleshoot argument configuration

  • Your custom flag seems to replace defaults. Check whether you used args or ignoreDefaultArgs. args adds arguments; the latter controls Puppeteer’s generated defaults.
  • A Puppeteer argument is still present. Inspect await puppeteer.defaultArgs(options) with the launch options you actually use, then filter the specific argument with an ignoreDefaultArgs array if that is the intended change.
  • The launch behaves differently from a copied argument list. Query the installed package and relevant options. A list from another version, configuration, platform, or browser is not established as your launch’s default list.
  • A custom Chrome executable behaves unexpectedly. Confirm the chosen executable and browser setting, and account for the fact that Puppeteer does not guarantee compatibility with arbitrary Chrome versions. With puppeteer-core, supply executablePath or channel.
  • Many browser behaviors change after setting ignoreDefaultArgs: true. That setting suppresses the whole default set, not a single flag. Use a selective array when only one default needs filtering.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Capture a page without managing browser arguments

If your goal is a website screenshot rather than control of a Puppeteer browser session, ScreenshotNeo is a website screenshot API and MCP server from Yorker Media. Its API takes a URL in a GET request and returns an image or PDF; it avoids setting up browser launch arguments for that capture workflow.

Or skip the browser setup

Make one request with your ScreenshotNeo API key and target URL. Replace the URL below as needed; the response is saved as a WebP file. See the ScreenshotNeo API documentation for request options.

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

ScreenshotNeo accepts cookie and consent banners like a visitor, then removes 60+ known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and responses identify page verdict and billing status in headers. An MCP server offers take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000.

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

Sign up free for 1,000 screenshots a month, with no card.

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

Frequently Asked Questions

What does `puppeteer.defaultArgs()` return?

It returns a string array of Puppeteer’s default browser launch arguments for the options supplied.

Does `args` replace Puppeteer’s defaults?

No. `args` adds command-line arguments; `ignoreDefaultArgs` controls whether Puppeteer’s defaults are used or filtered.

Can `puppeteer-core` launch without specifying a browser executable?

The documented requirement is to provide either `executablePath` or `channel`.

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.

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. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

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.