Next-Gen App & Browser Testing Cloud
Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

To set up a proxy server on Windows, open Settings > Network & Internet > Proxy and either turn on Automatically detect settings, add a setup script (PAC) URL, or under Manual proxy setup enter the proxy IP address and port, then select Save. Advanced users can configure the proxy system-wide from Command Prompt with netsh winhttp set proxy or per-user with PowerShell registry edits. This guide covers all of these methods for Windows 10 and Windows 11.
One quick clarification before you start: this article shows you how to configure Windows to use an existing proxy (a corporate or commercial proxy you already have details for). Hosting your own proxy server, by installing software such as Squid or CCProxy, is a different task that is touched on briefly at the end.
The Settings app is the quickest route, and the navigation path and field names are identical on Windows 10 and Windows 11. Settings-based proxies are written to the per-user WinINET store, which is what browsers and most user-facing applications read. Choose one of the three modes below depending on what your network administrator gave you.
Automatically detect settings (WPAD): Use this when your network publishes its proxy configuration automatically and you were not handed a script or IP.
Use a setup script (PAC URL): Use this when your administrator gave you a proxy auto-config (PAC) file address.
Manual proxy setup: Use this when you have a specific proxy IP address and port to enter by hand.
The netsh winhttp commands configure the machine-level WinHTTP proxy store, which is used by Windows services and many backend applications rather than browsers. Because it is a system-wide change, you must run Command Prompt as Administrator (elevated). Right-click Command Prompt and choose Run as administrator first.
Set a proxy server and point WinHTTP at it:
netsh winhttp set proxy proxy-server="10.0.0.6:8080"Set a proxy with a bypass list so internal hosts connect directly:
netsh winhttp set proxy proxy-server="10.0.0.6:8080" bypass-list="*.example.com;<local>"Display the current WinHTTP proxy, reset it back to a direct connection, or import the configuration from the Internet Explorer / Settings (WinINET) store:
netsh winhttp show proxy
netsh winhttp reset proxy
netsh winhttp import proxy source=ieRemember the distinction: netsh winhttp only touches WinHTTP. Browsers, IE, and most user apps read the separate per-user WinINET store you configured in Settings, so setting one does not automatically set the other.
PowerShell lets you script the per-user WinINET proxy by editing the registry directly, which is handy for automation, login scripts, or build agents. The relevant keys live under HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings. Enable the proxy and set the server address:
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' -Name ProxyEnable -Value 1
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' -Name ProxyServer -Value '10.0.0.6:8080'Optionally add a bypass list, then read the values back to confirm them:
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' -Name ProxyOverride -Value '*.example.com;<local>'
Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' | Select-Object ProxyEnable, ProxyServer, ProxyOverrideTo disable the proxy later, set ProxyEnable back to 0. Note that some applications cache proxy settings, so a sign-out and sign-in or an app restart may be needed before the change is picked up.
Many corporate proxies require credentials. The behavior depends on how you configured the proxy:
After configuring the proxy, confirm it is actually active before relying on it:
For a deeper walkthrough of reading the current proxy state, see How to Check Proxy Settings?.
Everything above configures Windows to use a proxy that already exists. If your goal is instead to host your own proxy server on a Windows machine, that is a separate job: you would install proxy software such as Squid (often via WSL or a Windows port), CCProxy, or a local interception tool like Fiddler or mitmproxy for testing. Once that software is listening, you simply point the Settings, netsh, or PowerShell steps above at 127.0.0.1:<port>. For a generic, cross-OS overview of standing up a proxy, see How to Setup a Proxy Server?, and for the concepts behind the fields you are filling in, see What Are Proxy Settings?.
In a QA context, configuring a Windows machine's proxy matters when you run tests behind a corporate proxy or route local and tunnel traffic, for example when testing internally hosted apps on the TestMu AI cloud. The TestMu AI tunnel can itself be pointed through a corporate proxy, so the same WinINET/WinHTTP settings you configured here also govern how your test runners reach the outside world.
Windows 11 uses exactly the same path as Windows 10. Go to Settings > Network & Internet > Proxy, then either turn on Automatically detect settings, add a setup script (PAC) URL, or under Manual proxy setup enter the proxy IP address and port and select Save.
Open Command Prompt as Administrator and run netsh winhttp set proxy proxy-server="host:port". This configures the system-wide WinHTTP proxy used by Windows services and many backend applications.
WinINET is the per-user store used by browsers and most user-facing apps; it is what the Settings GUI and the HKCU Internet Settings registry keys control. WinHTTP is a separate machine-level store used by Windows services and backend processes, configured with netsh winhttp. Some software needs both set.
Edit the WinINET registry values under HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings. Use Set-ItemProperty to set ProxyEnable to 1 and ProxyServer to your host:port, and optionally ProxyOverride for the bypass list.
Toggle Use a proxy server off in Settings, set ProxyEnable to 0 in the registry, or run netsh winhttp reset proxy to return WinHTTP to a direct connection. See How to Turn Off Proxy? for the full reverse procedure.
Run netsh winhttp show proxy for the WinHTTP store, read the HKCU Internet Settings keys for WinINET, or load an IP-check page to confirm your external IP now reflects the proxy. See How to Check Proxy Settings? for more.
KaneAI - Testing Assistant
World’s first AI-Native E2E testing agent.

TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance