ERR_TUNNEL_CONNECTION_FAILED: What It Means & How to Fix It

Key takeaway

ERR_TUNNEL_CONNECTION_FAILED (Chromium error -111) means Chrome is sending your traffic through a proxy, and the proxy couldn't, or wouldn't, open the tunnel to the HTTPS site. Either the proxy is failing or misconfigured, it blocks that site, or a proxy you never meant to use was set by an extension, VPN, malware or an auto-config script. If you don't use a proxy, turn the proxy settings off in Windows or macOS, disable proxy and VPN extensions, and clear bad proxies at chrome://net-internals/#proxy. If you're on a work network, the proxy is probably blocking the site on purpose.

Check it now

Open What Is My IP
Chrome error page with ERR_TUNNEL_CONNECTION_FAILED beside the proxy checks that fix it
Chrome error page with ERR_TUNNEL_CONNECTION_FAILED beside the proxy checks that fix it
Start reading
  1. What Is ERR_TUNNEL_CONNECTION_FAILED?
  2. How a Proxy Tunnel Works (and Fails)
  3. What Causes ERR_TUNNEL_CONNECTION_FAILED?
  4. Fix 1: See Which Proxy Chrome Is Actually Using
  5. Fix 2: Turn Off the System Proxy (If You Don't Use One)
  6. Fix 3: Check Extensions, VPN Apps and Chrome Policies
  7. Fix 4: Reset Network Settings and Flush DNS
  8. Fix 5: On a Work or School Network, Ask Before You Bypass
  9. For Proxy Administrators
  10. ERR_TUNNEL_CONNECTION_FAILED vs Similar Errors
  11. Frequently Asked Questions

What Is ERR_TUNNEL_CONNECTION_FAILED?

ERR_TUNNEL_CONNECTION_FAILED is a Chrome and Edge error that only happens when your browser is using a proxy server. Chromium's source describes net error -111 as: "A tunnel connection through the proxy could not be established" (net_error_list.h). There's no dedicated error page for it, so Chrome shows its generic one ("This site can't be reached. The webpage at … might be temporarily down or it may have moved permanently to a new web address") and Edge its own generic page, both with ERR_TUNNEL_CONNECTION_FAILED underneath.

That generic text is misleading. The website is usually fine. The failure happened at the proxy that's supposed to forward your traffic: Chrome reached it, but it refused or couldn't open the connection to the site.

Many people who see this error have no idea they're using a proxy at all. A VPN app, a browser extension, an auto-config script on the network, or adware can quietly turn one on, so checking what proxy Chrome is actually using is the first step.

Is your traffic going through a proxy? See your IP

How a Proxy Tunnel Works (and Fails)

HTTPS traffic is encrypted end to end, so a regular web proxy can't read it. Instead, the browser asks the proxy to open a raw tunnel with a special request:

http
CONNECT example.com:443 HTTP/1.1
Host: example.com:443

HTTP/1.1 200 Connection established   <- tunnel open, HTTPS flows through it

HTTP/1.1 403 Forbidden                <- or the proxy refuses: ERR_TUNNEL_CONNECTION_FAILED

If the proxy answers with anything other than success, for example 403 because the site is blocked or 502 because the proxy itself can't reach the site, Chrome gives up and shows ERR_TUNNEL_CONNECTION_FAILED. The one exception is 407 (Proxy Authentication Required), which brings up a login prompt instead.

Chrome also throws away whatever the proxy sent back with its refusal, even a helpful block page, so that a fake proxy can't pretend to be the website (Chromium). That's why you get a generic error instead of your company's "site blocked" page; Squid, for example, answers a site whose name doesn't exist with a 503 error page that you never see.

What Causes ERR_TUNNEL_CONNECTION_FAILED?

CauseTypical clue
Old or wrong proxy settings in Windows or macOSEvery HTTPS site fails in every browser
A proxy or VPN extension in ChromeChrome fails, Firefox works; Incognito works
Proxy auto-config (PAC/WPAD) sending traffic to the wrong proxyFails on one network, often a company network
Work or school proxy blocking the siteOnly some sites fail, everything else works
Proxy server overloaded or unable to reach the internetEveryone on the network is affected
Adware or malware that set a proxyA proxy you don't recognise keeps coming back

Fix 1: See Which Proxy Chrome Is Actually Using

Open chrome://net-internals/#proxy in the address bar. It shows Chrome's Effective proxy settings, including any auto-config (PAC) script, with Re-apply settings and Clear bad proxies buttons: click both, then reload the site. For a full record of what happened to a failing request, save a log at chrome://net-export and open it in the NetLog viewer (netlog-viewer.appspot.com).

If it says "Use DIRECT connections" or shows no proxy, a proxy isn't the cause and you should check whether your network blocks the site instead. If it shows a proxy or a PAC script you don't recognise, continue with Fix 2 and Fix 3 to find out where it comes from. If What Is My IP loads, it also helps: if the location or ISP shown isn't yours, your traffic is going through a proxy or VPN.

Fix 2: Turn Off the System Proxy (If You Don't Use One)

Chrome and Edge use the operating system's proxy settings. If you don't use a proxy on purpose, switch it off (Windows also has a separate proxy for system services, WinHTTP, which the two commands below show and reset from an administrator Command Prompt):

  • Windows 11: Settings → Network & internet → Proxy. Under Manual proxy setup, select Edit (or Set up) next to Use a proxy server, turn it off and select Save. Under Automatic proxy setup, turn off Use setup script (also under Edit) unless your organisation gave you one; if the error continues on that network, turn off Automatically detect settings too.
  • macOS: System Settings → Network → your connection → Details… → Proxies. Turn off every proxy, including Automatic proxy configuration, unless you need it.
powershell
netsh winhttp show proxy
netsh winhttp reset proxy

Fix 3: Check Extensions, VPN Apps and Chrome Policies

  • Extensions: open chrome://settings/system. If an extension controls your proxy, Chrome shows a note saying that extension is controlling the setting, with a button to disable it. Otherwise, disable proxy and VPN extensions at chrome://extensions one at a time.
  • VPN apps: some VPN apps work as a local proxy rather than a full VPN. Quit the app completely, not just disconnect, then reload.
  • Policies: open chrome://policy. If you see a proxy policy such as ProxySettings (or the older ProxyMode, ProxyServer or ProxyPacUrl), your organisation or installed software is enforcing a proxy, and you'll need to change it at the source (or ask IT).

Fix 4: Reset Network Settings and Flush DNS

If the proxy settings look clean but the error continues, reset the network configuration. In an administrator Command Prompt on Windows, run the commands below and restart; on a Mac, remove and re-add the network and flush the DNS cache.

powershell
ipconfig /flushdns
netsh winsock reset
netsh int ip reset
netsh winhttp reset proxy

Fix 5: On a Work or School Network, Ask Before You Bypass

Company and school networks often require a proxy, and many use it to block categories of websites. When only some sites fail with ERR_TUNNEL_CONNECTION_FAILED and everything else works, the proxy is very likely blocking those sites on purpose.

Turning the proxy off usually won't help on those networks, because direct connections are blocked too. Ask the IT team whether the site can be allowed, or use the site from another network.

For Proxy Administrators

To see exactly how the proxy answers the CONNECT request, reproduce it with curl from a client machine:

bash
curl -v -x http://proxy.example.com:3128 https://example.com/ -o /dev/null
# Success:  "HTTP/1.1 200 Connection established"
# Failure:  "CONNECT tunnel failed, response 403"
#           (older curl: "Received HTTP code 403 from proxy after CONNECT")

A 403 points to an access rule, 407 to authentication, and 502/503 to the proxy failing to reach the destination (check the proxy's own DNS and outbound firewall). In Squid's default configuration (Squid), http_access deny CONNECT !SSL_ports refuses CONNECT to any port that isn't in the SSL_ports list (443 by default), so HTTPS sites on ports like 8443 fail until you add them. You can check from outside whether the destination port is reachable at all with DNS Robot's Port Checker.

ERR_TUNNEL_CONNECTION_FAILED vs Similar Errors

ErrorCodeWhat failed
ERR_TUNNEL_CONNECTION_FAILED-111The proxy couldn't or wouldn't open the HTTPS tunnel
ERR_PROXY_CONNECTION_FAILED-130Chrome couldn't connect to the proxy server itself
ERR_CONNECTION_RESET-101An open connection was cut with a TCP reset
ERR_NAME_NOT_RESOLVED-105DNS couldn't find the domain

Related guides: ERR_CONNECTION_RESET, ERR_NETWORK_CHANGED and ERR_NAME_NOT_RESOLVED.

Is your traffic going through a proxy?

DNS Robot's What Is My IP shows the public IP address, ISP and location websites see. If they don't match your own connection, a proxy or VPN is in the path.

Sources

  1. net_error_list.h (TUNNEL_CONNECTION_FAILED -111), Chromium
  2. http_proxy_client_socket.cc (CONNECT responses), Chromium
  3. squid.conf: http_access, Squid

Frequently Asked Questions

What does ERR_TUNNEL_CONNECTION_FAILED mean?

It means Chrome is using a proxy server and the proxy couldn't or wouldn't open the tunnel needed for the HTTPS site. In Chromium it is net error -111. The website itself is usually fine; the problem is the proxy or the proxy settings.

How do I fix ERR_TUNNEL_CONNECTION_FAILED in Chrome?

Open chrome://net-internals/#proxy and click Clear bad proxies. If you don't use a proxy, turn it off in Windows Settings → Network & internet → Proxy (or macOS Network → Details → Proxies) and disable proxy and VPN extensions.

Why do I get ERR_TUNNEL_CONNECTION_FAILED when I don't use a proxy?

Something turned one on: a VPN app, a browser extension, an auto-config (PAC/WPAD) script on the network, or adware. chrome://settings/system shows if an extension controls the proxy, and chrome://policy shows proxy policies set by software or your organisation.

Why does ERR_TUNNEL_CONNECTION_FAILED only happen on some websites?

On work and school networks, the proxy often blocks certain sites or categories and refuses the tunnel for them. It can also happen when a proxy only allows HTTPS on port 443 and the site uses another port.

Can a VPN cause ERR_TUNNEL_CONNECTION_FAILED?

Yes, if the VPN app works as a proxy or leaves a proxy setting behind after it disconnects. Quit the VPN app fully and check the system proxy settings.

What is the difference between ERR_TUNNEL_CONNECTION_FAILED and ERR_PROXY_CONNECTION_FAILED?

ERR_PROXY_CONNECTION_FAILED (-130) means Chrome couldn't reach the proxy server at all. ERR_TUNNEL_CONNECTION_FAILED (-111) means Chrome reached the proxy, but the proxy refused or failed to open the tunnel to the website.

Does ERR_TUNNEL_CONNECTION_FAILED mean the website is down?

Usually not. The generic error page suggests the site may be down, but the failure happens at the proxy, and Chrome hides whatever the proxy said about it. Check the site from another network or with an external tool to confirm.

How do I fix ERR_TUNNEL_CONNECTION_FAILED on Android?

On Android, check the Wi-Fi network's advanced settings for a manual proxy and set it to None, turn off VPN and ad-blocking apps, and try mobile data. If it's a work-managed phone, the proxy may be set by your organisation.

About the author

Shaik Vahid

Founder of DNS Robot. Vahid spent years in web hosting support fixing domains, DNS records, SSL certificates and email delivery for customers. He builds DNS Robot's tools and writes these guides from the errors people actually hit.

What Is My IP

Your public IPv4 and IPv6 at once, with the network, location and a VPN check