Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchSome links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Chrome Headless can behave differently from a visible Chrome window because older Headless was a separate browser implementation. Since Chrome 112, unified Headless uses the regular Chrome browser code but creates platform windows without displaying them. Since Chrome 132, the old implementation is no longer selectable with --headless=old in the Chrome binary; it remains available as the separate chrome-headless-shell binary. That history explains why differences were possible, but it does not identify the cause of every page-specific mismatch.
What “Headless” means depends on the version and mode
“Headless” is not one unchanging implementation. The distinction that matters is between the older, separate Headless implementation, unified Headless, and a regular visible Chrome session (often called headful mode). If an automated browser produces a different page from the one you see in Chrome, first find out which of those three is actually running.
Older Headless was a separate implementation
The original Headless mode did not share Chrome’s //chrome browser code. Consequently, it was not simply the ordinary Chrome browser with its window hidden. A difference between that implementation and visible Chrome was possible even when both were being used to visit the same URL. Chrome’s documentation describes the old Headless implementation as separate from the browser code used by regular Chrome. Chrome’s testing tools article discusses that separation.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Unified Headless uses the regular Chrome browser code
Chrome 112 introduced the updated Headless mode. It creates platform windows but does not display them, while using the regular Chrome browser implementation. Chrome for Developers says: “In Chrome 112, the Headless mode was updated so that Chrome creates, but doesn’t display, any platform windows. All other functions, existing and future, are available with no limitations.” Chrome’s Headless documentation describes the updated mode.
#1 Best Overall
- The Google TV Streamer (4K) delivers your favorite entertainment quickly, easily, and personalized to you[1,2]
- HDMI 2.1 cable required (sold separately)
- See movies and TV shows from all your services right from your home screen[2]; and find new things to watch with tailored recommendations for everyone in your home based on their interests and viewing habits
- Watch live TV and access over 800 free channels from Pluto TV, Tubi, and more[3]; if you find an interesting show or movie on your TV, mobile app, or Google search, you can easily add it to your watchlist, so it’s ready when you are[2]
- Up to 4K HDR with Dolby Vision delivers captivating, true-to-life detail[4]; and you can connect speakers that support Dolby Atmos for more immersive 3D sound
That makes unified Headless the closer choice when the goal is to exercise Chrome itself without displaying its window. It does not mean every automation run will produce an identical result to every visible session: the browser version, selected binary, framework settings, and runtime still need to be compared.
Chrome 132 removed the old mode flag from the Chrome binary
From Chrome 132, launching Chrome with --headless=old prints an error rather than starting the old implementation. The flags --headless and --headless=new run unified Headless. The legacy implementation is distributed separately as chrome-headless-shell. Chrome’s October 23, 2024 announcement explains the Chrome 132 change.
Which mode should you use?
| Mode | How to select it | When it fits |
|---|---|---|
| Visible Chrome (headful) | In Puppeteer, headless: false. |
Use it when you need to observe the browser window during a run or compare automation with a visible session. |
| Unified Headless | Chrome: --headless or --headless=new. Puppeteer: headless: true. |
Prefer it when fidelity to Chrome, high-accuracy end-to-end testing, or extension testing matters. |
| Headless Shell | Use the separate chrome-headless-shell binary. Puppeteer: headless: 'shell'. |
Consider it when a lighter automation runtime and fewer dependencies suit the job, such as some screenshotting or scraping tasks. |
Chrome describes Headless Shell as a lightweight wrapper around Chromium’s //content module, with substantially fewer dependencies. In particular, it does not require X11/Wayland or D-Bus. Chrome says it can be more performant in some ways; that is use-case guidance, not a measured guarantee for your workload. Unified Headless is the full Chrome browser and Chrome positions it as the more authentic, feature-rich choice for high-accuracy end-to-end and extension testing. Chrome’s Headless Chrome shell documentation describes those trade-offs.
Recommended Free Tools
Rank #2
- The Google TV Streamer (4K) delivers your favorite entertainment quickly, easily, and personalized to you[1,2]
- HDMI 2.1 cable required (sold separately)
- See movies and TV shows from all your services right from your home screen[2]; and find new things to watch with tailored recommendations for everyone in your home based on their interests and viewing habits
- Watch live TV and access over 800 free channels from Pluto TV, Tubi, and more[3]; if you find an interesting show or movie on your TV, mobile app, or Google search, you can easily add it to your watchlist, so it’s ready when you are[2]
- Up to 4K HDR with Dolby Vision delivers captivating, true-to-life detail[4]; and you can connect speakers that support Dolby Atmos for more immersive 3D sound
Check what your automation is actually launching
A framework’s option name alone may not tell the whole story if the executable, installed browser, or framework version differs across machines. Record the actual browser binary and version as well as the framework configuration for both the run that differs and the visible comparison. The purpose is to establish what is being compared before attributing the result to Headless itself.
Puppeteer
Puppeteer distinguishes the three modes directly: headless: true selects unified Headless, headless: 'shell' selects Headless Shell, and headless: false opens a visible browser. Chrome says Puppeteer has defaulted to the new Headless mode since Puppeteer version 22. A project that upgraded Puppeteer may therefore have changed its default mode even if its own launch configuration did not change. Check the installed Puppeteer version and the explicit headless setting together. Chrome’s documentation shows these Puppeteer settings; its testing tools article notes the version 22 default.
Chrome command line and Selenium-WebDriver
Chrome’s documentation shows --headless as the command-line option for launching unified Headless on Linux, macOS, and Windows. It also demonstrates Selenium-WebDriver launching Chrome with the --headless argument. For Chrome 132 and later, do not treat --headless=old as a way to choose the legacy implementation: that flag errors in the Chrome binary. If you specifically need the legacy mode, the available route is the separately distributed Headless Shell. The official Headless page includes the launch examples.
Rank #3
- HD streaming made simple: With America’s number 1 TV streaming platform,* exploring popular apps—plus tons of free movies, shows, and live TV—is as easy as it is fun. *Based on hours streamed—Hypothesis Group
- Compact without compromises: The sleek design of Roku Streaming Stick won’t block neighboring HDMI ports, and it even powers from your TV alone, plugging into the back and staying out of sight. No wall outlet, no extra cords, no clutter.
- No more juggling remotes: Power up your TV, adjust the volume, and control your Roku device with one remote. Use your voice to quickly search, play entertainment, and more.
- Shows on the go: Take your TV to-go when traveling—without needing to log into someone else’s device.
- TV, simplified: With setup that only takes minutes, a simple-to-navigate Home Screen, and an uncluttered remote control that does all you need—Roku makes it easier to watch the TV you love.
A controlled way to investigate a page mismatch
There is no universal rule that a particular site feature changes in Headless. Chrome’s official material establishes the implementation history and mode choices, but it does not give a universal explanation for every site-specific discrepancy or a typical rate or magnitude of differences. Treat a mismatch as a case to isolate, not proof that Headless always blocks, alters, or omits a particular page feature.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →- Record the two setups. For both the automation run and visible Chrome comparison, note the browser binary and version, automation framework and version, selected Headless mode, and relevant runtime constraints.
- Verify the mode rather than inferring it. In Puppeteer, distinguish
true,'shell', andfalse. For command-line Chrome, distinguish unified--headlessfrom the separate Shell binary; on Chrome 132 or later,--headless=oldis not a valid legacy-mode selection. - Align the setups before interpreting the result. Compare the same browser version and framework configuration where possible, and keep the selected implementation explicit. Otherwise, a version or mode change is mixed into the comparison.
- Change one variable at a time. If the result changes after switching from Shell to unified Headless, that identifies a useful difference in the test setup, not a universal explanation for other pages.
- Choose the mode for the task. Prefer unified Headless when testing the full Chrome browser or extensions is central. Consider Shell when its lighter dependencies suit the environment and its behavior is appropriate for the task.
Common troubleshooting cases
--headless=old exits with an error
This is expected with Chrome 132 and later: the Chrome binary no longer includes the old implementation behind that flag. Use unified Headless with --headless or --headless=new, or use the separately distributed chrome-headless-shell if you specifically need the legacy implementation. Chrome’s removal announcement documents this behavior.
A Puppeteer upgrade changed the result
Check the installed version and the explicit headless value. Puppeteer has defaulted to unified Headless since version 22, while headless: 'shell' selects Headless Shell. An upgrade could expose an implicit mode choice that previously differed, so specify the mode deliberately when reproducibility matters.
Rank #4
- Watch the entertainment you love with Chromecast with Google TV, including live TV in up to 4K HDR; discover over 700,000 movies and TV episodes, plus millions of songs
- Get fast streaming, and enjoy a crystal clear picture up to 4K and brighter colors with HDR
- Your home screen displays movies and TV shows from all your services in one place with Chromecast 4K; get personal recommendations based on your subscriptions, viewing habits, and content you own
- Press the Google Assistant button on the remote and use voice search to find specific shows, youtube tv streaming, or search by mood, genre, actress, and more; control the volume, switch inputs, play music, and get answers, hands-free
- Chromecast is easy to install and compatible with almost any TV that has an HDMI port; to get started, just plug it into your TV’s HDMI port, connect to Wi-Fi, and start streaming
A run fails in a minimal or container-like environment
Compare runtime constraints before treating a failure as a page difference. Chrome describes Shell as having fewer dependencies and not requiring X11/Wayland or D-Bus; unified Headless uses the real Chrome browser. That distinction can matter in constrained environments, but the official guidance does not diagnose every environment-specific failure. Check which binary is available and whether the chosen mode fits the runtime.
Both runs use unified Headless, but the page still differs
The old-versus-new architecture distinction no longer explains the mismatch by itself. Recheck the actual browser versions, executable, framework settings, and runtime for both runs, then isolate changes individually. The official sources do not establish a single cause for page-level discrepancies once those details are known.
Free tools Windows power users keep installed
One-click scans. No signup required.
Or skip the browser setup
If the immediate job is to capture a website rather than test Chrome’s rendering behavior, ScreenshotNeo is a website screenshot API and MCP server. Its one-request API can return a PNG, JPEG, WebP, or PDF. The following cURL request saves a WebP screenshot; see the ScreenshotNeo API documentation for request options.
Best Value
- Essential 4K streaming – Get everything you need to stream in brilliant 4K Ultra HD with High Dynamic Range 10+ (HDR10+).
- The newest Fire TV experience (2026) – Our biggest update to Fire TV has a new, modern design that gets you to your entertainment fast. Browse dedicated content categories, pin more of your favorite apps, and get personalized recommendations from Alexa+. Spend less time scrolling, and more time watching.
- Make your TV even smarter – Fire TV gives you instant access to a world of content, tailor-made recommendations, and Alexa, all backed by fast performance.
- All your favorite apps in one place – Experience endless entertainment with access to Prime Video, Netflix, YouTube, Disney+, Apple TV+, HBO Max, Hulu, Peacock, Paramount+, and thousands more. Easily discover what to watch from hundreds of thousands of movies and TV episodes (subscription fees may apply), including free, ad-supported content.
- Getting set up is easy – Plug in and connect to Wi-Fi for smooth streaming.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
- Before capture, it accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off.
- Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Responses identify the page verdict and billing status in
X-Page-VerdictandX-Billedheaders. - An MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for Claude, Cursor, and other MCP clients. - The Free plan includes 1,000 screenshots per month with no card required; paid plans start at $5 for 3,000 screenshots. Every feature is available on every plan.
Sign up for ScreenshotNeo and get 1,000 free screenshots a month with no card.
Frequently Asked Questions
Does unified Headless display an invisible Chrome window?
Chrome says it creates platform windows but does not display them. It is not a visible browser window hidden behind another window.
Can I still run the original Headless implementation?
Yes, as the separately distributed chrome-headless-shell binary; not by passing --headless=old to Chrome 132 or later.
Quick Recap
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.

