Yes—conditionally. Chromium supports --proxy-server, and the flag can work when Chromeless starts a local Chrome process and passes launch arguments through. Chromeless’s public package description does not promise that every arbitrary Chrome flag is forwarded in every version or connection mode. If your Chromeless session uses a separately managed remote browser, a flag on your local command line will not reconfigure that remote process.
The practical answer is to identify the browser that actually makes the request, configure the proxy in that browser’s supported path, and verify the egress IP from inside the session. This guide covers local and remote Chromeless setups, HTTP and SOCKS syntax, authentication limits, bypass rules, diagnostics, and a browser-free alternative.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Linux Proxy Server - Squid | $5.99 | Buy on Amazon |
| 2 |
|
Squid Proxy Server 3.1: Beginner's Guide | $39.99 | Buy on Amazon |
| 3 |
|
Microsoft? Proxy Server 2.0 MCSE Study System | $15.94 | Buy on Amazon |
| 4 |
|
Measuring SIP Proxy Server Performance | $54.99 | Buy on Amazon |
| 5 |
|
proxy servers Third Edition | $80.32 | Buy on Amazon |
What the flag controls
--proxy-server is a Chromium command-line option. It affects the Chrome process that receives it; it is not a universal setting for every browser connected to that process. That distinction explains most reports that Chromeless is “ignoring” a proxy flag.
- Local launch: Chromeless starts Chrome on the machine running your code. The flag can work if that launch path exposes and forwards Chrome arguments.
- Remote session: Chromeless connects to a separately managed browser or its built-in remote proxy. A flag passed to your local process cannot alter the already-running remote browser.
The Chromeless package description documents control of a local Chrome browser and a built-in remote proxy. It also documents starting Chrome yourself and setting launchChrome: false in the Chromeless constructor. It does not explicitly document a universal --proxy-server option or guarantee forwarding of arbitrary flags in both modes. Treat support as version- and mode-dependent rather than automatic.
Recommended Free Tools
#1 Best Overall
First determine whether Chromeless is local or remote
Local Chrome launched by Chromeless
This is the case in which a Chrome flag has a chance to work. Confirm that the machine running your Node.js process also starts the browser, and determine how your installed Chromeless version accepts launch arguments. If the package version has no documented argument-forwarding option, start Chrome yourself and use launchChrome: false; then connect Chromeless to that instance.
Remote browser or remote proxy
When Chromeless uses a remote endpoint, the remote machine owns Chrome’s network stack. Configure the proxy using that service’s documented settings. Do not assume that adding --proxy-server to a local Chromeless constructor changes traffic generated by the remote browser.
A quick mode checklist
- Where is the Chrome process running?
- Which Chromeless package version is installed?
- Does that version document a launch-arguments field or a proxy setting?
- Is
launchChromeset tofalsebecause you start Chrome independently? - Does the remote service document proxy configuration separately from Chrome flags?
Chromium proxy syntax you can use
Chromium expects URI-formatted proxy identifiers. The common forms are:
| Goal | Example | Meaning |
|---|---|---|
| HTTP proxy for ordinary traffic | --proxy-server="http://proxy.example:8080" |
Routes traffic through an HTTP proxy at port 8080. |
| HTTPS proxy endpoint | --proxy-server="https://proxy.example:443" |
Uses an HTTPS proxy endpoint. |
| SOCKS5 proxy | --proxy-server="socks5://proxy.example:1080" |
Uses a SOCKSv5 endpoint. |
| Explicit direct connection | --proxy-server="direct://" |
Requests a direct connection. |
| Proxy with direct fallback | --proxy-server="http://proxy.example:8080,direct://" |
Tries the HTTP proxy, then allows a direct connection. |
| Per-scheme mapping | --proxy-server="http=https://proxy.example:443;socks=socks5://proxy.example:1080" |
Maps HTTP traffic and SOCKS traffic to different endpoints. |
Use the exact scheme and delimiter syntax expected by Chromium. A malformed URI can look like a Chromeless failure even when the flag was forwarded correctly.
How to set a proxy in a local Chromeless launch
The exact launch-argument property depends on your Chromeless version, so check that version’s API documentation rather than copying an option name from another wrapper. The reliable sequence is:
- Install and pin the Chromeless version used by your project.
- Find its documented way to pass Chrome launch arguments.
- Add one complete argument:
--proxy-server=http://proxy.example:8080. - Start a minimal page request and record the observed public IP.
- Compare that IP with a run that has no proxy.
If your version does not expose launch arguments, start Chrome yourself with the flag and tell Chromeless not to launch another browser:
google-chrome --proxy-server="http://proxy.example:8080" --remote-debugging-port=9222
Then construct Chromeless with its documented remote-connection settings and launchChrome: false. The important requirement is that the Chrome process receiving the flag is the same process serving the Chromeless session.
Do not accidentally create two browsers
A common mistake is to start a manually configured Chrome while leaving Chromeless’s default launcher enabled. Chromeless then starts a second, unproxied process, and your code connects to that one. Disable automatic launching exactly as the package documentation specifies, and log the debugging endpoint or process information so you can identify the browser you are using.
Free tools Windows power users keep installed
One-click scans. No signup required.
HTTP, HTTPS, and SOCKS5 considerations
HTTP and HTTPS proxies
Use the URI scheme that describes the proxy endpoint, not necessarily the destination website. For example, an HTTP proxy endpoint can be supplied as http://proxy.example:8080. If your provider specifically exposes an HTTPS proxy endpoint, use https://.
SOCKS5
Chromium supports SOCKSv4 and SOCKSv5 proxy schemes, including socks5://host:port. Chrome does not support username/password authentication embedded in SOCKSv5 proxy settings. If your SOCKS service requires credentials, use an authentication mechanism supported by the proxy and browser environment, or place an authenticated local forwarder in front of the SOCKS service.
Proxy authentication
Do not put a username and password in the proxy URI and expect Chrome to use them. Chromium’s documented behavior is to handle proxy authentication through the ordinary authentication flow. Your automation must respond to the browser’s authentication challenge using the mechanism available in your Chromeless version, or the proxy must be configured to accept the browser’s source without a challenge.
Bypass rules and fallbacks
If some hosts must avoid the proxy, add Chromium’s separate bypass-list argument through the same local launch path:
Rank #3
- Used Book in Good Condition
--proxy-bypass-list="localhost;127.0.0.1;*.internal.example"
A direct fallback is different from a bypass rule. ,direct:// permits Chromium to go directly to destinations when the proxy cannot be used. That can preserve availability but may violate an organization’s requirement that all traffic use the proxy. Choose deliberately:
- Use a bypass list for known destinations that should never use the proxy.
- Use a direct fallback only when fail-open behavior is acceptable.
- Omit the fallback when a failed proxy connection must fail the request instead of leaking direct traffic.
How to verify that Chromeless traffic uses the proxy
Compare egress IPs from inside the browser
Open an IP-discovery endpoint from the Chromeless page context, capture its response, and compare it with a run without the proxy. The test must execute inside the browser, not in a separate Node.js HTTP client, because those clients have independent proxy settings.
- Run the same Chromeless script with no proxy and record the returned public IP.
- Run it with
--proxy-serverand record the IP again. - Confirm that the second address belongs to the proxy’s network and geography.
- Repeat after restarting Chrome; a stale profile or existing process can hide a changed launch argument.
Use a controlled endpoint approved for your environment. Do not send sensitive cookies or headers to an unfamiliar IP-check service.
Inspect Chrome net-export data when IP checks are inconclusive
Chrome’s net-export facility can show proxy resolution and connection events. Capture a short trace while loading one test URL, then inspect the proxy-related events. This helps distinguish “flag never reached Chrome” from “Chrome used the proxy but authentication or routing failed.” Avoid recording production credentials in diagnostic traces.
Check the effective process command line
On the machine that runs Chrome, inspect the process arguments or startup logs and look for the exact --proxy-server value. If it is absent, the problem is launch-argument forwarding or a second browser process. If it is present, continue with authentication, bypass, DNS, and network diagnostics.
Why Chromeless may appear to ignore the flag
The session is remote
Your local flag cannot change a browser running elsewhere. Configure the remote proxy through the service’s API or dashboard, or use a local launch instead.
The installed version does not forward arbitrary arguments
Chromeless’s public package description does not guarantee universal forwarding. Check the exact version’s documentation and source behavior. If unsupported, start Chrome yourself with launchChrome: false or use the documented proxy setting.
A second Chrome process wins
An old debugging session, a system-launched Chrome, or an automatic Chromeless launch may be the process receiving requests. Close unrelated instances, use a temporary profile, and verify the command line of the connected process.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated 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 matchThe proxy rejects authentication
Chrome does not consume credentials embedded in the proxy setting, and SOCKSv5 username/password authentication is not supported by Chrome. Handle the challenge separately or change the proxy arrangement.
Bypass rules select a direct route
A matching bypass rule, localhost target, or direct fallback can make a test appear unproxied. Test with an external URL that is not on the bypass list, and review the effective bypass configuration.
The page did not load through any route
Timeouts can result from a dead proxy, blocked DNS resolution, TLS incompatibility, or firewall rules. Test the proxy endpoint independently from the same host, then inspect browser network events.
Operational guidance for reliable proxy use
- Pin versions: launch behavior can change between Chromeless releases; record the package version with your deployment.
- Use isolated profiles: a fresh profile prevents an existing Chrome process from masking startup changes.
- Set explicit timeouts: proxies add connection and authentication steps; choose a timeout that distinguishes a slow route from an immediate refusal.
- Log decisions, not secrets: record mode, proxy scheme, bypass policy, process ID, and verdict, but redact credentials and session cookies.
- Test failure policy: decide whether a proxy outage should fail closed or fall back to a direct connection.
- Respect authorization: route only traffic you are permitted to proxy, and follow the proxy provider’s acceptable-use rules.
Or skip the browser setup
If your goal is dependable website screenshots rather than controlling a Chromeless browser, ScreenshotNeo provides a website screenshot API and MCP server. A single request returns PNG, JPEG, WebP, or PDF, with browser setup handled by the service.
Best Value
For a direct request, see the ScreenshotNeo documentation:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Equivalent Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Equivalent Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed as clean shots, and response headers identify the page verdict and billing result. Its MCP server includes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. Every plan includes the features; 1,000 screenshots per month are free without a card, and paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.
Frequently Asked Questions
Does adding --proxy-server to a Chromeless URL configure a remote browser?
Not necessarily. A command-line flag only affects the Chrome process that receives it. A separately managed remote browser needs its own documented proxy configuration.
Can Chrome use credentials written inside a proxy URI?
Do not rely on that. Chrome handles proxy authentication through the normal authentication flow, and SOCKSv5 username/password authentication is not supported by Chrome.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →What is the fastest proof that the proxy is active?
Compare the public egress IP returned from a page loaded inside Chromeless with and without the proxy, then confirm the effective Chrome process command line if the results differ unexpectedly.
The Bottom Line
Bottom line: --proxy-server works in Chromeless only when the flag reaches the local Chrome process that serves your session and that Chromeless version forwards launch arguments. It does not automatically configure a remote browser. Verify the effective process, handle authentication separately, and confirm the route by checking the browser’s observed egress IP.
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.

