How to Fix ERR_PROXY_CONNECTION_FAILED: Complete Guide
ERR_PROXY_CONNECTION_FAILED is a Chrome error that appears when the browser is configured to use a proxy server but cannot establish a connection to that proxy. When a proxy is enabled, Chrome forwards every request to the proxy host and port instead of contacting websites directly. If the proxy server is down, the address or port is wrong, the proxy hostname cannot be resolved, or a firewall blocks the connection, Chrome cannot even reach the proxy and abandons the request, surfacing ERR_PROXY_CONNECTION_FAILED on the page.
The error happens at the proxy layer, before Chrome speaks to any destination website. Unlike ERR_TUNNEL_CONNECTION_FAILED, which occurs when the proxy is reachable but cannot build a CONNECT tunnel for HTTPS, ERR_PROXY_CONNECTION_FAILED means the TCP connection to the proxy itself failed. This makes the error easier to isolate: if you disable the proxy and browsing resumes, the proxy configuration or the proxy server is the culprit. This guide explains what the message means, the most common root causes, and a six-step beginner-friendly fix process that works across Windows, macOS, and Linux.
What is ERR_PROXY_CONNECTION_FAILED?
The message appears when Chrome is told to use a proxy (through system settings, an extension, a PAC file, or environment variables) but cannot open a TCP connection to the proxy's address and port. Chrome first resolves the proxy hostname, then attempts a TCP handshake to host:port; if either step fails — DNS returns no answer, the host is unreachable, the port is closed, or a firewall drops the SYN packets — the load stops and the error appears.
Common triggers include a corporate proxy taken offline for maintenance, a typo in the proxy address (such as port 8123 instead of 3128), a PAC file pointing at a server that no longer exists, a VPN client that left a stale proxy in the system settings after it exited, or a local firewall rule that blocks outbound traffic to the proxy port. Because every request depends on the proxy, a single broken proxy endpoint takes the whole browser offline.
Common Causes
- Proxy server down — the proxy host is offline or the service has stopped.
- Wrong proxy address or port — a typo in the host or port in OS or Chrome proxy settings.
- Proxy DNS resolution failure — the proxy hostname does not resolve to an IP address.
- Proxy authentication required — the proxy demands credentials Chrome did not provide.
- Firewall blocking the proxy — a local or upstream firewall drops traffic to the proxy port.
- VPN conflict — a VPN client set a system proxy and then crashed, leaving Chrome pointing at a dead endpoint.
- Proxy auto-config (PAC) error — a PAC/WPAD file returns a non-functional proxy or fails to load.
Step-by-Step Fix Guide
Step 1: Check Chrome's Proxy Configuration
First, find out which proxy Chrome is using. Open chrome://net-internals/#proxy to see the effective proxy. On Windows, also check Settings > Network & Internet > Proxy; on macOS, System Settings > Network > Details > Proxies; on Linux, review the http_proxy and https_proxy environment variables. Note the host and port Chrome is forwarding to — if the field is empty or points to an unexpected address, that is already the problem.
Step 2: Verify the Proxy Address and Port
Confirm the proxy host and port are correct. A common mistake is a wrong port — for example, 8080 entered as 808, or 3128 swapped for 3123. Compare the configured value against the one provided by your network administrator or proxy provider. If you recently changed networks, remember that a proxy valid on the office network is usually unreachable from home.
Step 3: Test Connectivity to the Proxy Server
Ping the proxy host and test a raw TCP connection to the proxy port. If ping fails or the port refuses the connection, the proxy server is down, the port is wrong, or a firewall is in the way. This single test separates a proxy-side problem from a browser-side one and tells you where to focus the rest of the fix.
Step 4: Resolve Proxy DNS Resolution Failures
If the proxy is identified by a hostname rather than an IP, a DNS failure will look exactly like a dead proxy. Ping the hostname; if it does not resolve, switch to the IP address temporarily, flush the DNS cache, or fix the DNS server your machine uses. Once the hostname resolves, Chrome can find the proxy again and the connection succeeds.
Step 5: Disable the VPN and Conflicting Proxy Tools
VPN clients and proxy tools (Clash, cntlm, Shadowsocks) often set a system proxy on startup and are supposed to remove it on exit. If they crash or are force-quit, the proxy setting stays and points at a process that no longer exists. Disable or fully exit every VPN and proxy tool, then check whether Chrome can reach the proxy — or simply turn off the manual proxy and browse directly.
Step 6: Reset System Proxy Settings and Flush DNS
Clear any leftover proxy configuration and flush the DNS cache so Chrome starts from a clean state. On Windows, reset WinHTTP with netsh winhttp reset proxy and flush DNS with ipconfig /flushdns. On macOS and Linux, unset the proxy environment variables and clear the resolver cache. Restart Chrome fully afterward, since reloading a single tab will not clear an in-memory proxy decision.
Proxy Diagnostic Commands
These commands help you inspect, test, and reset proxy configuration across operating systems.
# Windows: show and reset the system (WinHTTP) proxy
netsh winhttp show proxy
netsh winhttp reset proxy
# Windows: flush the DNS cache and show IP/DNS config
ipconfig /flushdns
ipconfig /all
# Linux/macOS: inspect proxy environment variables
env | grep -i proxy
# Ping the proxy host to check reachability
ping proxy.local
# Test a raw TCP connection to the proxy host and port
telnet proxy.local 3128
nc -vz proxy.local 3128
# Test an HTTP request through the proxy
curl -v --proxy http://proxy.local:3128 http://example.com
# Test an authenticated proxy
curl -v --proxy http://user:pass@proxy.local:3128 https://example.com
# Chrome: inspect the proxy Chrome actually uses
chrome://net-internals/#proxy
Quick Reference Table
| Symptom | Root Cause | Fix |
|---|---|---|
| Proxy error on every site | Proxy server down or stopped | Restart the proxy service or contact the admin |
| Error after switching networks | Office proxy unreachable from home | Disable the manual proxy on the new network |
| Proxy hostname does not resolve | Proxy DNS resolution failure | Use the IP address; flush DNS or fix DNS server |
| Error shows 407 Proxy Authentication Required | Missing or expired proxy credentials | Re-enter credentials in the proxy URL or client |
| Error appears after VPN disconnect | VPN left a stale system proxy | Reset WinHTTP; exit or reinstall the VPN client |
| Only one app fails to use the proxy | Per-app proxy or PAC misconfiguration | Check the PAC file; fix the app's proxy setting |
| Connection to proxy port times out | Firewall blocking the proxy port | Allow outbound traffic to the proxy port |
FAQ
How is ERR_PROXY_CONNECTION_FAILED different from ERR_TUNNEL_CONNECTION_FAILED?
ERR_PROXY_CONNECTION_FAILED means Chrome cannot open a TCP connection to the proxy server itself — the host is unreachable, the port is closed, or DNS failed. ERR_TUNNEL_CONNECTION_FAILED means the proxy is reachable but cannot build the CONNECT tunnel needed for HTTPS. If disabling the proxy fixes everything, you are dealing with the former.
Why does the error appear only after I connect a VPN?
Many VPN clients set a system proxy when they start and remove it when they exit. If the VPN crashes, is force-quit, or changes your routing table, Chrome keeps trying to use a proxy endpoint that no longer exists. Disable the VPN, run netsh winhttp reset proxy, and confirm browsing works before reconnecting.
Can a PAC file cause this error?
Yes. A proxy auto-config (PAC) file or WPAD discovery can return a proxy that is offline, point Chrome at the wrong host:port, or fail to load entirely. Open chrome://net-internals/#proxy to see the resolved proxy, and temporarily switch off "Use setup script" or automatic configuration to test a direct connection.
How do I temporarily disable the proxy to confirm it is the cause?
On Windows go to Settings > Network & Internet > Proxy and turn off both manual and automatic proxy; on macOS disable every proxy in System Settings > Network > Details > Proxies; on Linux unset http_proxy and https_proxy. Reload the page — if it loads, the proxy configuration or server is the culprit.
Conclusion
ERR_PROXY_CONNECTION_FAILED always traces back to Chrome being unable to reach the proxy it was told to use: the server is down, the address or port is wrong, the hostname does not resolve, a firewall blocks the port, or a VPN left a stale proxy behind. Work through the six steps — check the configuration, verify the address and port, test connectivity, fix DNS, disable conflicting VPNs, and reset the proxy settings — and browsing returns. Keep the diagnostic commands handy; they pinpoint whether the failure is on the proxy side or the client side in seconds.