Advertisement
Digital Intelligence Hub
Advertisement

Proxy Settings, Windows 10 and 11: Which One You Set and What Ignores It

Expert Analyst Robert Harrison
Publish Date Sep 23, 2026
Advertisement
Proxy settings, Windows 10 and 11: the Settings proxy page beside a terminal showing netsh winhttp show proxy

Proxy settings, Windows 10 and 11: the screen is in the same place on both, and it takes about twenty seconds to fill in. The part nobody mentions is that Windows keeps more than one proxy, and the one on that screen is not the one Windows Update reads.

That is the whole reason this page exists. Every guide on this query shows you the same Settings screen and stops. None of them tells you that the box you just ticked is a per-user setting, that services read a different one entirely, and that the command line tools on your machine read a third.

So: where the screen is, which store it writes, why Windows Update ignores it, the command that reads the other store, what Edge actually does, why SOCKS5 is not an option on any Windows screen, and how to turn the whole thing off in all three places rather than one.

Advertisement
Robert Harrison, OSINT and Network Utility Expert, explaining proxy settings, Windows 10 and 11, at TrustMyIP.com
Author: Robert Harrison OSINT & Network Utility Expert
The first thing I run on a machine where someone swears the proxy is off is netsh winhttp show proxy. Not the Settings app. The Settings app shows you one store, and it is the store that matters least when something in the background is failing. That one command has ended more arguments than any screenshot I have ever taken.
Everything below is built on the same idea. Windows has never had one proxy setting, it has had several for decades, and the wizard only edits one of them. My honest limit on this topic: none of it makes a proxy private. A proxy is a machine you are handing your traffic to, and the person running it can see everything you send. That is true whichever of these stores you write.

Quick Answer: Proxy Settings on Windows

Open Settings, go to Network & internet then Proxy, and use Manual proxy setup to enter an address and a port, the same way on both operating systems. That screen writes a per-user setting, which Windows Update only falls back to and which command-line tools never read at all. Confirm what you are actually presenting with our proxy and VPN detection tool.

Proxy Settings, Windows 10 and 11: Where They Are and What They Write

Same path on both. Open Settings, choose Network & internet, then Proxy. Microsoft's own page for this is short enough to quote: under Automatic proxy setup, "turn on Automatically detect settings"; for a script, "next to Use setup script, select Set up"; and for a manual one, "next to Use a proxy server, select Set up", then enter the "Proxy IP address and Port".

Three blocks, three different things, and most of the confusion on this topic starts with people reaching for the wrong one. Microsoft's instructions for this screen are correct, but they run to about 670 words and stop inside the Settings app.

Block on that screen What it actually does When you want it
Automatically detect settings Asks the network for a script address over DHCP and DNS, using WPAD. Usually finds nothing at home A corporate network that publishes one. Harmless otherwise
Use setup script Downloads a PAC script from an address you paste and follows its rules Somebody gave you a script address ending in .js, .pac or .dat
Manual proxy setup One address, one port, one bypass list. No protocol field, no username field Somebody gave you exactly those values

If you arrived here because something asked you to configure a proxy and you are not sure what it wanted, the general version of that question is answered in what that Configure Proxy setting is asking for. And if you want the mechanism from the ground up rather than the Windows screen, our explanation of how a proxy server works and where it sits in a network covers it properly.

Advertisement

Filling that screen in is the easy part. The question worth asking is which proxy you just set.

Windows Keeps More Than One Proxy, and Only One Is on That Screen

The Windows proxy settings you just edited belong to WinINET, the networking stack the browsers and most desktop applications use, stored per user. There is a second one called WinHTTP, stored per machine, and it is the one built for services. They are separate values. Writing one does not write the other.

Microsoft is direct about the split. From its own WinINet versus WinHTTP comparison: "you should use WinINet unless you plan to run within a service or service-like process that requires impersonation and session isolation." In the feature table on that page, services support is listed as "no" for WinINet and "yes" for WinHTTP, which "can be run from a service or a service account". Microsoft's overview of WinHTTP spells out what that costs: "A number of WinINet features are not supported in WinHTTP, including URL caching and persistent cookies, autoproxy, autodialing, offline support, and File Transfer Protocol (FTP)." The two stacks are genuinely different software, not two names for one setting.

Advertisement
Store What writes it What reads it
WinINET, per user The Settings app · Control Panel, Internet Options, LAN settings Edge, Chrome, and most applications you open by clicking something
WinHTTP, machine or user scope netsh winhttp, from an elevated prompt Services and background components, including Windows Update
Environment variables setx, or your shell for the current session curl, git, pip, npm, Docker, and most things you run by typing

Two symptoms come out of this split and they look unrelated until you know about it. "I turned the proxy off and something is still using one" is usually the machine-level store still set. "I set the proxy and half my software ignores it" is usually the reverse.

Android has the same shape of problem with a completely different mechanism, which we covered in why Android's proxy reaches some apps and not others. On Windows the clearest example is the one almost everybody hits.

Why Windows Update Skips the Proxy Server Windows Just Saved

Because Windows Update does not look at your Settings screen first. It looks at the machine-level store, and it only falls back to yours if that fails in a particular way. Microsoft documents the order plainly.

From Microsoft's page on how the Windows Update client picks a proxy, for the URLs used to detect updates: first, "The system proxy is attempted (WinHTTP)." Then, "If the Windows Update Agent (WUA) fails to reach the service due to certain proxy, service, or authentication error codes, then the user proxy is attempted. (Generally, it's the signed-in user IE settings or WinINet.)"

Microsoft says the quiet part out loud, twice

The order above reverses for Windows Update URLs that are not used for detection, such as reporting: there the user proxy is tried first and the system proxy second. So the same component uses two different orders depending on what it is fetching, and neither order starts and ends with the screen you just filled in.
Microsoft's own proxy troubleshooting guidance makes the general point about everything else: "Applications that don't obtain proxy settings from Internet Explorer may have to have settings within each app to configure proxy settings." That is the operating system telling you the Settings screen is a default some software reads, not a rule all software obeys.

Which means fixing a background failure usually means writing the other store. There is no screen for that one.

How to Set a Proxy in Windows From the Command Line

Read before you write. The single most useful command on this topic tells you what the machine-level store currently holds, and it takes a second.

The machine-level store: run these in an elevated prompt
# read it first. "Direct access (no proxy server)" means nothing is set
netsh winhttp show proxy

# set it
netsh winhttp set proxy proxy-server="192.0.2.10:8080" bypass-list="<local>"

# copy whatever the user-level store currently has, once
netsh winhttp import proxy source=ie

# clear it back to DIRECT
netsh winhttp reset proxy

Two things about that block. import proxy source=ie takes only one source: Microsoft's documentation says "Importing settings from IE is the only available option". Whether it keeps the two stores in step afterwards is not documented either way, and my reading of the word import is that it does not, so treat it as a one-time copy and re-run it when the user-level value changes.

reset proxy does exactly what it says: it "Resets the WinHTTP proxy setting to DIRECT", which is the state a clean machine is in.

The command every guide teaches is the one Microsoft has deprecated

On Microsoft's WinHTTP netsh reference, both set proxy and show proxy now carry a deprecation note pointing to set advproxy and show advproxy instead. The newer form takes a scope, user or machine, plus a JSON object with the properties Proxy, ProxyBypass, AutoconfigUrl and AutoDetect, either inline or from a file.
Here is the honest part, and you should know it before you go looking: Microsoft's own documentation disagrees with itself. The Windows Server netsh winhttp page carries no deprecation notice at all, and the Windows Update troubleshooting page above still teaches netsh winhttp set proxy. The old commands work today. Treat advproxy as where this is heading, not as something that has already replaced the other.

A note on elevation, because it costs people ten minutes. netsh winhttp writes machine-level configuration, so it needs an administrator prompt, and in an ordinary terminal you get an access error rather than a helpful hint about why.

It makes no difference whether you set proxy in Windows cmd or in PowerShell. Netsh is the same tool in both, and both need the elevation.

Once both stores agree, verify from outside the machine with our proxy, VPN and Tor detection check, because a saved field is not evidence of a working proxy. Browsers are the next question, and Edge is where people expect a setting that is not there.

Microsoft Edge Proxy Settings: There Is No Such Screen

There is no separate page of MS Edge proxy settings to find, because Edge keeps no proxy store of its own. It reads the platform's. Microsoft's deployment documentation puts it in one line: "When using system proxy settings, one should use the platform's rule format and not Edge's." So the answer to "where are the proxy settings in Edge" is the screen in Section 1. Searching for proxy inside Edge today simply offers to open that screen for you, though that is what I see on the current build rather than something Microsoft documents.

That same page lists the other ways Edge can be pointed somewhere else: manual rules, a PAC script, autodetect, the --proxy-server command-line flag, policy, and extensions. That page does not rank them against each other, so I am not going to invent an order from it. Edge is Chromium, and we worked out Chromium's actual precedence from its source in where Chrome's proxy settings really come from. The same ranking applies here, for the same reason.

Chrome on Windows behaves the same way. Chromium's own networking documentation describes Windows' WinINet configuration as the system proxy settings it follows, and both browsers can be overridden at launch. Which leaves the old Control Panel route.

Internet Options is still on Windows 11, under the Connections tab as LAN settings, and it is the only screen that gives you a box per protocol: HTTP, Secure, FTP and Socks. Those labels are what the dialog shows rather than something Microsoft still publishes a field list for.

One ranked guide tells readers that dialog is for "Windows versions (7, 8, and older)". It is not. It is on the machine in front of you.

And that Socks box is the one field in Windows that names a protocol, which makes it the obvious place to go looking for SOCKS5. It is also the place where this topic is settled, in writing, by a source nobody cites.

Windows 11 SOCKS5 Proxy: What the Settings Screen Cannot Do

The Manual proxy setup screen takes an address and a port. That is the entire form. There is no protocol selector, no type dropdown, and no username or password field, which is why a Windows 10 SOCKS5 proxy authentication question has no answer on that screen either.

A widely read guide claims otherwise, and it is worth quoting because a lot of people have followed it: "By default, Windows will consider your proxy as an HTTP proxy. So, you do not have to manually enter the protocol 'HTTP.'" There is no protocol to default to. The field has no concept of one. The same page then sends readers to Internet Options for a SOCKS proxy, which at least points at the right dialog.

Microsoft documents this, and nobody quotes it

The same WinINet versus WinHTTP reference that settles the two-stores question settles this one too, in two table rows. "SOCKS4 (SOCKS version 4) support. Doesn't include v4a." is listed yes for WinINet and no for WinHTTP. The very next row, "SOCKS5 (SOCKS version 5) support", is listed no for both. Microsoft says it a second time in the documentation for the newer advanced proxy command: "Note that SOCKS5 isn't supported."
So the Socks box in Internet Options writes a WinINet configuration, and WinINet speaks SOCKS4 only, not even 4a. There is no Windows 11 SOCKS5 proxy setting to find on any screen, because neither of Windows' HTTP stacks implements the protocol. That is not a gap in the user interface. It is a gap in the platform, and it is written down.

Which turns a Microsoft Q&A thread that reads like a mystery into a confirmation. A user sets a SOCKS proxy through Internet Options, finds TCP works and UDP does not, captures the traffic in Wireshark, and reports seeing only SOCKS4 commands. He then proves it by disabling SOCKS4 on the proxy server and watching browsing break.

A Microsoft staff member replies by pointing him at the Settings app, which has no protocol field at all. That capture is one person's observation rather than documentation, and it matches the reference table exactly.

The routes that do work are all per-application rather than system-wide. Launching a Chromium browser with --proxy-server="socks5://192.0.2.10:1080" is explicit about the version. An SSH dynamic forward gives you a local SOCKS5 endpoint that individual applications can be pointed at. Tools that speak SOCKS natively take their own configuration and ignore Windows entirely.

Notice the pattern: none of those touch a Windows proxy setting. There is a whole category of software on this machine that never reads one.

The Tools That Read None of This: Command Line, WSL and Docker

Set a Windows HTTP proxy in Settings, open a terminal, run git or curl, and nothing changes. That is not a bug and it is not a permissions problem. Those tools follow a convention that predates the Settings app and has nothing to do with it: environment variables.

Environment variables: the third store
# this session only
set HTTP_PROXY=http://192.0.2.10:8080
set HTTPS_PROXY=http://192.0.2.10:8080
set NO_PROXY=localhost,127.0.0.1,.internal.example

# persist for your user account, new terminals only
setx HTTP_PROXY "http://192.0.2.10:8080"

# check what a shell can actually see
echo %HTTP_PROXY%
Tool Does it read the Settings screen? What it reads instead
Edge, Chrome Yes, unless overridden at launch or by policy The per-user WinINET store
Windows Update, services Not first, and sometimes not at all The machine-level WinHTTP store
curl, git, pip, npm No HTTP_PROXY, HTTPS_PROXY and NO_PROXY
Docker Desktop Only if you ask it to Its own Proxies setting, whose System proxy mode reads the host's configuration
WSL 2 On Windows 11, yes by default autoProxy in .wslconfig, then variables inside the distro

WSL deserves a paragraph of its own, and it is the one place where the usual advice is out of date. On Windows 11 22H2 and higher, WSL 2's autoProxy setting defaults to true, and Microsoft's documentation says it "Enforces WSL to use Windows' HTTP proxy information". So the proxy you set in Windows does reach the distro, on Windows 11, unless somebody turned it off in .wslconfig.

Two catches. On Windows 10 there is no autoProxy at all, so there you really are exporting variables by hand. And there is a timing window: initialAutoProxyTimeout defaults to 1000 milliseconds, and Microsoft warns that "If proxy settings are resolved after this time, the WSL instance must be restarted to use the retrieved proxy settings". A distro that started before the proxy resolved will keep ignoring it until you restart it, which looks exactly like the setting not working.

None of this hides anything, incidentally. If the reason you are here is privacy rather than a network that requires a proxy, check what is actually leaking with our guide to checking whether your IP is leaking past a VPN, and see what a page can still read from your browser with our browser leak test.

How to Disable a Proxy on Windows 10 and 11, Properly

Three stores, three switches. Turn off Use a proxy server in Settings, run netsh winhttp reset proxy from an elevated prompt, and clear any HTTP_PROXY and HTTPS_PROXY variables you set. To remove proxy settings, Windows 10 and 11 both need all three done. Doing one and calling it finished is the reason a Windows 10 proxy appears to come back.

Two Windows-specific cases are worth telling apart before you start fighting the machine. On a domain-joined work or school device, Group Policy can rewrite the setting after you change it. The giveaway is that the change reverts within a minute or two and the field may be grayed out. That is management doing its job, and you are not meant to win that argument.

The same applies to "Automatically detect settings". On a domain network, WPAD can hand your machine a configuration every time it connects, so switching the box off locally lasts until the next reconnect. If that is what you are seeing, the fix is a conversation with whoever runs the network, not another pass at the checkbox.

The other case looks similar and is not benign: unwanted software sets a proxy so it can sit in the middle of your traffic. The way to tell them apart is ownership rather than behavior. A managed device is one you were issued or enrolled; if you bought the machine yourself and nobody has ever administered it, a proxy you did not set is worth treating as an intrusion and cleaning up as one.

While you are in there: the same Settings area is where people go looking to change a local address, which is a different job covered in changing your IP address on Windows, and if the actual goal is to stop a specific address reaching you, that is a Windows Firewall rule rather than a proxy.

The Short Version

Proxy settings, Windows 10 and 11, live under Settings, Network & internet, Proxy, and that screen is identical on both operating systems. It writes a per-user WinINET value with an address, a port and a bypass list. No protocol, no credentials.

It is not the only proxy on the machine. Services read a machine-level WinHTTP value that only netsh winhttp writes, and Microsoft documents Windows Update trying that one first. Command-line tools read environment variables and never look at either.

Docker Desktop and WSL 2 can both be pointed at the Windows configuration, but only through settings of their own. Every "my proxy is not working" question on Windows is really a question about which store you wrote.

Two currency notes. Windows 10 reached end of support on 14 October 2025, and consumer Extended Security Updates now run through 12 October 2027, a year later than first planned. Windows 11's newest generally available version is 26H1, with 26H2 in the Release Preview Channel since August 2026.

Whatever you change, confirm it from the outside rather than from the checkbox. Our IP trust score checker tells you how the address you are actually leaving from is classified, which answers the real question faster than any settings screen can.

Check What Windows Is Actually Presenting
A saved proxy field tells you what one store holds. Only a test from outside tells you what websites see when your machine connects.

Frequently Asked Questions

Q Where are the proxy settings in Windows 10 and Windows 11?

A
The proxy settings sit under Settings, then Network and internet, then Proxy. The path is identical on both operating systems. You get three blocks: automatic detection, a setup script address, and a manual entry taking an address and a port. Control Panel still holds the older Internet Options dialog if you need per-protocol boxes.

Q Does Windows Update use the proxy I set in Settings?

A
Not first, and often not at all. Microsoft documents the update client attempting the system proxy stored by netsh winhttp before it ever considers your signed-in user settings, and only falling back on certain errors. Set a proxy in Settings and leave the machine-level one empty, and updates can keep failing while your browser works perfectly.

Q How do I set a proxy from the command line in Windows?

A
Open an administrator prompt and run netsh winhttp show proxy to read the machine-level value first, then netsh winhttp set proxy with your address and port to write it. Use netsh winhttp reset proxy to clear it back to direct access. Microsoft now marks those two commands deprecated in favor of set advproxy and show advproxy.

Q Does Microsoft Edge have its own proxy settings?

A
No. Searching for proxy inside Edge just offers to open the Windows proxy settings, because Edge reads the platform configuration rather than keeping one of its own. Microsoft's deployment documentation says to use the platform's rule format, not Edge's. Chrome on Windows behaves the same way. Both can be overridden at launch or by policy.

Q Can I use a SOCKS5 proxy on Windows 11?

A
No, and not from any Windows screen. Microsoft's WinINet versus WinHTTP reference lists SOCKS4 support as yes for WinINet and no for WinHTTP, and SOCKS5 as no for both. The netsh documentation repeats it: SOCKS5 isn't supported. The Socks box in Internet Options speaks SOCKS4 only. Point individual applications at a SOCKS5 proxy instead.

Q Why do curl and git ignore my Windows proxy?

A
Because they were never reading it. Command-line tools follow the HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables, a convention older than the Settings app. Docker Desktop has its own Proxies setting with a System proxy mode, and WSL 2 on Windows 11 pulls the Windows proxy in by default through autoProxy.

Q How do I turn off a proxy on Windows 10?

A
Removing proxy settings takes three moves, not one. Switch off Use a proxy server in Settings, run netsh winhttp reset proxy from an administrator prompt, and clear any proxy environment variables. Clearing only the first is why people think the setting keeps returning. If it reverts within a minute on a work device, a policy is rewriting it.
Robert Harrison
Verified Content Expert

Robert Harrison

OSINT & Network Utility Expert

Robert Harrison is a network infrastructure specialist and OSINT researcher based in Boston, Massachusetts, with over 18 years of experience in DNS architecture, port security, and network reconnaissance. At Trust My IP, he leads the technical utility layer — building and documenting diagnostic tools and publishing hands-on guides for DNS troubleshooting, port scanning, SSL analysis, and open-source intelligence methodology. His work is grounded in systems administration and network engineering experience that predates most of the security frameworks in use today.

Helpful Insight?

Share with your professional network