How to Set Up Proxy Settings in Windows and Chrome

Published:

14 minute read

Acar Diveroli
Written by: Acar Diveroli
A computer connected to a settings panel with switches, which connects to a browser window

If you look for a field to enter a proxy address in Chrome's settings, you won't find one. On Windows, Chrome does not keep its own proxy setting; it reads the operating system's proxy setting, and the link under Settings > System takes you straight to the Windows settings screen. So "Chrome proxy settings" usually means "Windows proxy settings", and a change there also affects other programs that use the system setting, from Edge to some desktop applications.

In this article we explain where Chrome gets its proxy setting from, how to set a proxy step by step in Windows 11, and what happens with proxies that require a username and password. Then we cover the command-line methods (including the often-confused difference between netsh winhttp and setx HTTP_PROXY), opening Chrome once with a different proxy, turning the proxy off and fixing the most common error messages.

Where does Chrome get its proxy setting?

The Chromium project's network settings document states clearly that Chrome uses the system's settings for network settings such as proxies. The idea is that users and administrators can manage all applications' network settings from one place. On Windows, that place is the proxy screen in the Settings app.

Chrome decides which proxy setting to use in this order of precedence:

  1. Enterprise policy. If the computer is managed by an organisation and the proxy is set by policy, Chrome uses that setting; the user cannot change it.
  2. Extension. If an extension that manages proxies is installed, it controls the setting. Chrome's settings show a warning along the lines of "This setting is being controlled by an extension".
  3. Launch flag. If Chrome was opened with the --proxy-server or --no-proxy-server flag, that session uses that setting.
  4. Windows system setting. If none of the above apply, Chrome reads the Windows proxy setting.

To understand why a proxy is not behaving as you expect in Chrome, look at this order first. Firefox, on the other hand, can keep its own proxy setting; its setup is covered in Firefox Proxy Settings.

How do you set a proxy in Windows 11?

The steps below follow the flow on Microsoft's support page, Use a proxy server in Windows. Some names may look different depending on your Windows version and language pack.

  1. Right-click the Start menu and open Settings, or press Windows + I.
  2. Select Network & internet in the left menu.
  3. Open the Proxy section at the bottom of the page.
  4. Click Set up next to Manual proxy setup. In some versions a switch appears directly instead of this step.
  5. Turn on Use a proxy server.
  6. Type the server address (pr.proxynet.io) in Proxy IP address and the port (8000) in Port.
  7. Optionally, add addresses that should not go through the proxy to the list below, separated by semicolons, for example localhost;127.0.0.1;*.company.local.
  8. Tick Don't use the proxy server for local (intranet) addresses if you have internal network services.
  9. Click Save.

The same screen has two more options. Automatically detect settings uses automatic configuration if your network has one; outside a corporate network it can usually stay off. Use setup script asks for the address of a PAC file; it is used in corporate setups where rules decide which address goes through which proxy.

After saving, you usually don't need to restart Chrome, but connections in open tabs may have been set up with the old setting. Open an IP check page in a new tab to test the setting.

What happens with an authenticated proxy?

The Windows proxy screen has no username and password fields. When you set a proxy that requires a username and password:

  1. Chrome sends the first request to the proxy.
  2. The proxy returns a 407 Proxy Authentication Required response.
  3. Chrome shows a sign-in dialog asking for the username and password.
  4. Once you enter them, Chrome remembers them for the session and sends later requests authenticated.

This approach has two limits. First, the dialog may come back every time you close and reopen Chrome. Second, desktop applications and background services that read the system proxy setting but cannot show such a dialog will not be able to connect.

The cleanest way around these limits is the IP whitelist method: you add your computer's public IP address to the allowed list in the panel and the proxy does not ask for a password. If your home IP address changes often, this method causes problems too. Our comparison in Proxy Authentication: User:Pass vs IP Whitelist explains which one fits which situation.

Chrome does not support username and password authentication for SOCKS5 proxies. If you want to use SOCKS5 with Chrome, you need an IP whitelist.

How do you set a proxy from the command line?

There are three different ways to set a proxy from the Windows command line, and they affect different programs. This distinction is the most overlooked part of the topic.

MethodWhat does it affect?Does it affect Chrome?Typical use
Windows Settings (user proxy)Chrome, Edge and applications that read the system settingYesEveryday browser use
netsh winhttp set proxyServices that use WinHTTP (such as Windows Update)NoServer and background services
setx HTTPS_PROXYCommand-line tools that read environment variablesNocURL, Git, Python, Node.js, npm
Chrome --proxy-serverThat Chrome session onlyYes, that session onlyTesting, one-off use

netsh winhttp: affects services, not the browser

The netsh winhttp command changes the proxy setting for programs that use Windows' WinHTTP library. WinHTTP is used by services that run without a user session and by some system components. Microsoft's netsh winhttp documentation gives the command syntax:

powershell
# Set the WinHTTP proxy (in a terminal opened as administrator)
netsh winhttp set proxy pr.proxynet.io:8000 "<local>"

# Show the current WinHTTP setting
netsh winhttp show proxy

# Remove the WinHTTP proxy
netsh winhttp reset proxy

Running this command and finding that your IP address in Chrome has not changed is extremely common. That is because Chrome reads the user proxy on the Settings screen, not the WinHTTP setting. Use netsh winhttp only when a Windows service needs to go through the proxy.

setx: environment variables for command-line tools

Most command-line programs, such as cURL, Git, Python libraries and Node.js tools, read the proxy from the HTTP_PROXY and HTTPS_PROXY environment variables. setx writes these variables to the user account permanently:

powershell
setx HTTPS_PROXY "http://user:pass@pr.proxynet.io:8000"
setx HTTP_PROXY "http://user:pass@pr.proxynet.io:8000"
setx NO_PROXY "localhost,127.0.0.1"

Three important details:

  • setx applies the variable to newly opened terminals. The window where you ran the command keeps using the old value.
  • Chrome and Windows Settings do not read these variables.
  • The password sits in the environment variable as plain text and can be read by other programs on the computer. On shared computers, prefer an IP whitelist. If the password contains characters such as @, they must be encoded (@%40).

If you only want a temporary value for the open terminal session, typing $env:HTTPS_PROXY = "..." in PowerShell is enough; the value disappears when the window closes. To test a proxy on the command line, see How to Use a Proxy with cURL.

Setting the user proxy with PowerShell

The user proxy on the Settings screen is stored in the registry. To apply the same setting quickly on several computers, you can use PowerShell:

powershell
$path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -Path $path -Name ProxyServer -Value "pr.proxynet.io:8000"
Set-ItemProperty -Path $path -Name ProxyOverride -Value "localhost;127.0.0.1;<local>"
Set-ItemProperty -Path $path -Name ProxyEnable -Value 1

The change also appears on the Settings screen. Open applications may need to be restarted to pick up the new setting. In corporate environments the same job is done with Group Policy or device management tools; a manual change can be reverted by policy.

Opening Chrome once with a different proxy

When you want only one Chrome window to go through a proxy without affecting the rest of the system, use launch flags. The flags defined in the Chromium document are:

  • --proxy-server="address:port" sets a single proxy for all traffic. For SOCKS5 the socks5://address:port form is used.
  • --proxy-bypass-list="localhost;127.0.0.1" sets addresses that should not go through the proxy.
  • --no-proxy-server turns the proxy off regardless of the system setting.
  • --proxy-pac-url="http://.../proxy.pac" uses a PAC file.

There is an important trap: if Chrome is already open, a new launch command adds a window to the running instance and the flags are ignored. To avoid this, give it a separate profile folder:

powershell
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  --proxy-server="http://pr.proxynet.io:8000" `
  --proxy-bypass-list="localhost;127.0.0.1" `
  --user-data-dir="$env:TEMP\chrome-proxy-profile"

Thanks to --user-data-dir, this window opens with a profile completely separate from the Chrome you use every day: separate cookies, separate history and separate extensions. By using different folders for different locations, you can run several Chrome windows at once with different proxies.

The --proxy-server flag does not accept a username and password. If the proxy requires a password, a sign-in dialog appears on the first request. If you use this setup often, you can put the command in a desktop shortcut.

If you want to manage different sites going through different proxies from inside the browser, the SwitchyOmega extension is a more practical option. The option to route desktop applications that have no proxy settings is covered in Proxifier.

How do you turn the proxy off?

Turn the proxy off with the same method you used to turn it on:

  • Windows Settings: under Network & internet > Proxy > Manual proxy setup, click Edit, turn off Use a proxy server and save.
  • If you set it through the registry: Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
  • WinHTTP: netsh winhttp reset proxy
  • Environment variables: setx HTTPS_PROXY "" leaves the variable empty but does not delete it. To remove it completely, in PowerShell:
powershell
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "User")
[Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", $null, "User")
  • Chrome flag: closing the window opened with the flag is enough; your normal Chrome is not affected.
  • Extension: switch to "direct connection" in the extension's own screen or disable the extension.

If you cannot connect to the internet after turning off the proxy, another source (an extension, a policy or installed VPN/proxy software) may be writing the setting back.

Common problems and fixes

Error or symptomLikely causeFix
ERR_PROXY_CONNECTION_FAILED ("There is something wrong with the proxy server")Wrong address or port, the proxy is down or the network blocks the proxy portCompare address and port with the panel; test reachability with Test-NetConnection pr.proxynet.io -Port 8000
ERR_TUNNEL_CONNECTION_FAILEDThe proxy could not set up the HTTPS tunnel; wrong protocol port or a cancelled password dialogCheck it is the HTTP proxy port; re-enter credentials in the password dialog
ERR_NO_SUPPORTED_PROXIESUnsupported proxy type, such as SOCKS5 with a passwordUse an IP whitelist for SOCKS5 or switch to an HTTP proxy
The password dialog keeps reopeningWrong username or passwordMake sure no spaces were copied from the panel
"Your settings are managed by your organization"The proxy is set by enterprise policyCheck proxy policies at chrome://policy; talk to your IT team
The IP address doesn't changenetsh winhttp was used or an extension overrides the settingUse the user proxy on the Settings screen; check extensions
Proxy is off but there is no internetAnother program keeps rewriting the settingCheck installed proxy/VPN software and extensions
Some sites open but local services don'tInternal addresses are sent to the proxyAdd internal addresses to the bypass list

Even when the proxy works, the browser can reveal your real IP address through WebRTC or DNS queries. The fix for Chrome with the WebRtcIPHandling policy and the test method are explained in WebRTC and DNS Leaks.

Use cases

  • Viewing a site from another country in the browser: the system proxy in Windows Settings or a one-off Chrome flag. For a real home connection view, a Residential Proxy is used.
  • Comparing two locations side by side on the same computer: two Chrome windows with different --user-data-dir folders and different --proxy-server values.
  • An account logged in with the same IP for days: the system proxy or a separate profile, with a ISP Proxy that keeps a fixed address.
  • Routing command-line tools through a proxy: environment variables with setx; for web traffic, an HTTPS Proxy.
  • A Windows service that needs to go through a proxy: netsh winhttp set proxy.
  • The same setup on a phone: steps for iPhone are in iPhone Proxy Settings.

Decision guide

Your needRecommendation
Route Chrome and Edge through a proxyWindows Settings > Proxy
A single Chrome session only--proxy-server + --user-data-dir
Different proxies per siteAn extension such as SwitchyOmega
cURL, Git, Python, Node.jsHTTP_PROXY / HTTPS_PROXY environment variables
Windows services, Windows Updatenetsh winhttp set proxy
The same setting on several computersRegistry via PowerShell or Group Policy
The proxy asks for a password and you don't want the dialogIP whitelist
SOCKS5 with ChromeSOCKS5 with an IP whitelist

Frequently asked questions

Can Chrome have a proxy setting independent of Windows?

Chrome's settings screen has no such field. For a proxy independent of Windows, you can start Chrome with the --proxy-server flag or use a proxy management extension. Neither affects the system's other applications.

Does the Windows proxy setting affect every application?

No. It affects applications that read the system setting: Chrome, Edge and programs that use Windows networking components. Applications that keep their own network settings (Firefox with its own setting selected, many game clients) and command-line tools that read environment variables are not affected.

Microsoft Store or Windows Update doesn't work while the proxy is on. Why?

Some of these components use the WinHTTP setting or the system account's setting and cannot show the user proxy's password dialog. If you use a password-protected proxy, switching to an IP whitelist or doing these updates with the proxy off solves the problem.

My proxy setting keeps changing by itself. Why?

An extension, installed VPN or proxy software, an enterprise policy or unwanted software may be rewriting it. Check the chrome://policy page, Chrome extensions and installed programs. If you see a proxy address you don't recognise, we recommend running a security scan.

How do I know Chrome is really using the proxy?

Open an IP check page with the proxy on and off and compare the two results. If you see different addresses, the proxy is active. To see which proxy setting Chrome is using, you can type chrome://net-internals/#proxy in the address bar.

Should I use a permanent or a one-off proxy?

If all of your browsing goes through a proxy, the permanent system setting is practical. If you only use the proxy for certain jobs, a one-off Chrome session with a separate profile causes fewer problems for your everyday browser.

Summary

On Windows, Chrome takes its proxy setting from the operating system, so a permanent setup is done on the Settings > Network & internet > Proxy screen. netsh winhttp affects services, not the browser, and setx HTTPS_PROXY affects command-line tools. For a single Chrome session, use the --proxy-server flag with a separate --user-data-dir folder. If you don't want to deal with the password dialog, prefer an IP whitelist, and test for WebRTC leaks after setup. For how proxies work in general, see What Is a Proxy Server and How Does It Work?; for plans that suit browser use, take a look at our proxy services.

Ask ChatGPTAsk Claude