Chrome proxy settings are your operating system's proxy settings: Chrome and Edge have no proxy fields of their own and follow the Windows or macOS system proxy. Set the host and HTTP port from your ProxyHive order there, and the browser asks for the username and password the first time the proxy challenges. To proxy the browser alone, start it with --proxy-server, push a policy, or use an extension.

Steps checked against the Chromium network settings documentation, the Chrome policy definitions and Microsoft's Edge policy reference on 2026-09-30, with Chrome 154 tested on Linux.

Before you start

  1. Buy an IP and open the order in the dashboard at https://app.proxyhive.io.
  2. Copy HOST, PORT, USERNAME and PASSWORD. Every ISP or datacenter IP is its own endpoint, with its own HTTP, HTTPS and SOCKS5 ports on the order.
  3. Use the HTTP port. Chromium browsers cannot send a password to a SOCKS5 proxy, so SOCKS5 only works with the IP allowlist on the order.

Chrome proxy settings follow the operating system

In Chrome, open Settings > System and click Open your computer's proxy settings. Edge has the same link on its System page (edge://settings/system). Both open the system dialog:

  • Windows: Settings, Network & internet, Proxy. The Windows proxy guide walks through it.
  • macOS: System Settings, Network, your service, Details, Proxies. The macOS proxy guide has the steps.

If the page says Chrome is using proxy settings from an extension or from your administrator, an extension or a policy has taken over and the system settings no longer apply.

Chrome proxy settings on Linux

On Linux, Chrome reads the GNOME or KDE proxy settings when it runs under one of those desktops, and ignores http_proxy and friends there. Under any other desktop, or with none, it reads the http_proxy, https_proxy, all_proxy and no_proxy environment variables. We confirmed the second case with Chrome 154: exported variables, no flag, and the request reached our test proxy and got its password challenge. The Ubuntu proxy guide covers both the GNOME dialog and the variables.

Chrome proxy authentication

The system dialogs on Windows store no credentials, so Chrome shows its own sign-in box when the proxy answers with a 407. Enter the username and password from the order. Expect the box again in each new browser session.

If you do not want a prompt at all (kiosk machines, scripts, a shared computer), put your public IP on the order's IP allowlist and leave the credentials out. The authentication and allowlist guide explains the trade-off.

Launch Chrome with --proxy-server

A command-line flag proxies one Chrome instance and leaves the system alone. It overrides the system settings and environment variables for that instance:

google-chrome --proxy-server="http://HOST:PORT" --user-data-dir="$HOME/chrome-proxy-1"

On Windows and macOS:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="http://HOST:PORT" --user-data-dir="%LOCALAPPDATA%\chrome-proxy-1"
open -na "Google Chrome" --args --proxy-server="http://HOST:PORT" --user-data-dir="/tmp/chrome-proxy-1"

Edge takes the same flags (msedge.exe on Windows). The separate --user-data-dir matters: if Chrome is already running with that profile, a new launch hands off to the existing process and the flag is ignored.

Keep the credentials out of the flag. We ran headless Chrome 154 against a local proxy that requires a password:

--proxy-server valueResult
http://HOST:PORTProxy sends a basic-auth challenge; after credentials, the page loads with status 200
http://USERNAME:PASSWORD@HOST:PORTPage fails with net::ERR_NO_SUPPORTED_PROXIES

--proxy-bypass-list="localhost;*.example.com" excludes hosts, and --no-proxy-server forces a direct connection. The Chromium network settings page lists the full syntax.

Chrome proxy policy for managed machines

On a managed fleet, the ProxySettings policy fixes the proxy and stops users changing it. It also makes Chrome ignore proxy flags on the command line. The older separate ProxyMode and ProxyServer policies are deprecated in its favour.

On Linux, Chrome reads managed policies from JSON files in /etc/opt/chrome/policies/managed/:

{
  "ProxySettings": {
    "ProxyMode": "fixed_servers",
    "ProxyServer": "HOST:PORT",
    "ProxyBypassList": "localhost,127.0.0.1"
  }
}

On Windows, the same JSON goes in a string value named ProxySettings under HKLM\SOFTWARE\Policies\Google\Chrome, or under SOFTWARE\Policies\Microsoft\Edge for Edge, per Microsoft's ProxySettings reference. Other ProxyMode values are direct, system, auto_detect and pac_script. Open chrome://policy to confirm Chrome loaded it. A policy has no place for a password, so pair it with the IP allowlist or let users answer the prompt.

Several IPs with extensions and profiles

A system proxy or a flag is one address. For several static IPs in one browser, use an extension that keeps one profile per IP and switches by site or by click: ZeroOmega, the SwitchyOmega successor, or FoxyProxy. Both store the username and password for HTTP proxies. For fully separate identities, run one Chrome profile per IP with its own --user-data-dir. ISP proxies are sold from one IP, which suits one IP per profile.

Automation note: Chrome 137 and later ignore --load-extension in branded builds, so scripts that load an unpacked proxy extension at launch need another route.

Verify the exit IP and inspect Chrome

  1. Open https://api.ipify.org?format=json. The ip value should be the IP on your order.
  2. After changing system settings, open chrome://net-internals/#proxy and click Re-apply settings, then Clear bad proxies if Chrome marked the proxy as failing earlier. In Chrome 154 this page offers those two buttons and no longer lists the active settings.
  3. For a full trace, record a log at chrome://net-export.

Troubleshooting

  • ERR_PROXY_CONNECTION_FAILED. Chrome could not reach the proxy: check the host and port.
  • Pages fail on a SOCKS5 port. Either the SOCKS5 port was entered as an HTTP proxy, or the order expects a password Chrome cannot send over SOCKS5.
  • ERR_NO_SUPPORTED_PROXIES. Credentials inside --proxy-server. Remove them.
  • The sign-in box repeats. Wrong username or password, or the order uses the allowlist and your IP is not on it.
  • The flag does nothing. Chrome was already running with that profile, or a ProxySettings policy is in force.

Each status code is explained in the proxy error codes guide.