Hero Background

Next-Gen App & Browser Testing Cloud

Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

Next-Gen App & Browser Testing Cloud

How to Setup a Proxy Server on Windows?

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.

Set Up a Proxy on Windows via Settings (GUI)

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.

  • Open Settings: Click Start, then open Settings (the gear icon).
  • Go to the network section: Select Network & Internet.
  • Open Proxy: Click Proxy in the left-hand menu.
  • Enable auto-detect: Under Automatic proxy setup, turn on Automatically detect settings.

Use a setup script (PAC URL): Use this when your administrator gave you a proxy auto-config (PAC) file address.

  • Open Proxy settings: Go to Settings > Network & Internet > Proxy.
  • Edit the script entry: Next to Use setup script, select Set up.
  • Enter the script address: Turn on Use setup script, type the Script address (the PAC URL) provided by your network administrator, then select Save.

Manual proxy setup: Use this when you have a specific proxy IP address and port to enter by hand.

  • Open Proxy settings: Go to Settings > Network & Internet > Proxy.
  • Edit the manual entry: Under Manual proxy setup, next to Use a proxy server, select Set up.
  • Turn the proxy on: Toggle Use a proxy server to On.
  • Enter address and port: In Proxy IP address, type your proxy server's IP or hostname; in Port, type the port number.
  • Add a bypass list (optional): In the exceptions box, add any addresses that should skip the proxy, separated by semicolons (for example *.contoso.com; *.adatum.com), and optionally tick Don't use the proxy server for local (intranet) addresses.
  • Save: Select Save to apply the settings.

Set Up a Proxy from the Command Line (netsh winhttp)

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=ie

Remember 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.

Set Up a Proxy with PowerShell (Registry)

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, ProxyOverride

To 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.

Authenticated Proxies (Username and Password)

Many corporate proxies require credentials. The behavior depends on how you configured the proxy:

  • Settings (manual mode): When you tick the option indicating the proxy needs a password, Windows prompts you for a username and password and stores them for you.
  • netsh winhttp and CLI tools: The netsh syntax does not take credentials directly. For command-line tools you generally embed them in the URL form user:pass@host:port, or supply them through the application's own proxy configuration.
  • Windows Credential Manager: For domain proxies, credentials are often handled by Windows itself or stored in Credential Manager rather than in the plain registry, so they are not written to ProxyServer in clear text.

How to Verify the Proxy Is Working

After configuring the proxy, confirm it is actually active before relying on it:

  • Check the GUI: Re-open Settings > Network & Internet > Proxy and confirm the toggle is on and the address and port are correct.
  • Check WinHTTP: Run netsh winhttp show proxy in Command Prompt to see the system-wide proxy.
  • Check WinINET: Run Get-ItemProperty on the Internet Settings key and select ProxyEnable and ProxyServer.
  • Run a real test: Load an IP-check page in your browser and confirm your external IP now reflects the proxy, or run curl -I https://example.com and watch the request route through it.

For a deeper walkthrough of reading the current proxy state, see How to Check Proxy Settings?.

Troubleshooting Common Windows Proxy Issues

  • Can't connect to the proxy server: Double-check the IP and port, confirm the proxy is actually up, and rule out a firewall blocking the port. The diagnostic steps in How to Check the Proxy Firewall and DNS Configuration? help here.
  • Settings change but some apps ignore it: This is almost always a WinINET vs WinHTTP mismatch. Browsers use WinINET (Settings/registry) while services use WinHTTP (netsh). If an app still bypasses the proxy, set both stores.
  • Authentication loop: The proxy is rejecting your credentials. Confirm the username, password, and whether the proxy expects a domain-qualified username such as DOMAIN\\user.
  • Need to revert quickly: Run netsh winhttp reset proxy for WinHTTP, or follow How to Turn Off Proxy? to disable the WinINET proxy.
  • Access denied on netsh: System-wide WinHTTP changes require an elevated prompt. Re-launch Command Prompt with Run as administrator.

"Set Up a Proxy Server" vs "Configure Windows to Use a Proxy"

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.

Frequently Asked Questions

How do I set up a proxy server on Windows 11?

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.

What is the command to set a proxy in Windows?

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.

What's the difference between WinHTTP and WinINET proxy settings?

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.

How do I set a proxy with PowerShell?

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.

How do I turn off or remove the proxy on Windows?

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.

How do I check if my proxy is working?

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.

Related Questions

Test Your Website on 3000+ Browsers

Get 100 minutes of automation test minutes FREE!!

Test Now...

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

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests