ERR_NO_SUPPORTED_PROXIES: Chrome Found No Usable Proxy
Chrome shows this error when no proxy it can actually use is left in the settings. Most often the proxy string itself is the problem: it contains a username and password or a scheme Chromium does not know.
Updated · Prokso editorial team
- ERR_NO_SUPPORTED_PROXIES means no usable proxy is left in Chrome after its checks
- Most often Chromium drops a string with a username and password or with the socks5h scheme
- Keep only the scheme, host and port in --proxy-server, and pass the username separately or turn on IP access
What the error means
In the Chromium error list (net_error_list.h), code -336 ERR_NO_SUPPORTED_PROXIES is described as: there are no supported proxies in the provided list. It is not a response from the site or from the Prokso gateway: the browser did not even try to connect, because it had nowhere to go.
According to the Chromium source code, before a request the browser removes proxies whose schemes it does not support for that request. What remains is http, https, socks4 and socks5 (socks:// is also read as SOCKS5). If the list is empty after that, the request ends with exactly this error.
An important detail: entries that Chromium cannot parse are silently discarded. A string with a username and password, such as http://USERNAME:PASSWORD@gw.prokso.com:823, is invalid for it, because the proxy address parser does not accept credentials. So --proxy-server with such a string does not trigger a login prompt; it leaves an empty list and ERR_NO_SUPPORTED_PROXIES.
Causes
- A username and password in the proxy string. Chromium drops a proxy address that contains USERNAME:PASSWORD@ and is left with no proxy at all. This happens with the
--proxy-serverflag, in Puppeteer and in Selenium. - An unknown scheme. Chromium knows the schemes http, https, socks4, socks5 and socks. A string like
socks5h://gw.prokso.com:824, which works in curl and Python, is not recognized by Chrome and gets dropped. - A malformed address. An empty port after the colon (
gw.prokso.com:) or extra characters also make the entry invalid, and it falls out of the list. - A scheme not available for this request. For example, Chromium uses a QUIC proxy only when QUIC is enabled and the request is not a WebSocket. This does not apply to Prokso proxies, but the error would be the same.
How to fix it
- Remove the username and password from
--proxy-server: keep only the scheme, host and port, for example--proxy-server=http://gw.prokso.com:823. - Pass the credentials separately: in Puppeteer with
page.authenticate(), in Playwright with the username and password fields of the proxy option. Step by step in the Puppeteer and Playwright guides. - For Chrome under Selenium, which has no separate password field, add your IP address to IP access in the dashboard (up to 5 addresses): then no username is needed. Details in the Selenium guide.
- Replace
socks5h://withsocks5://: according to the Chromium documentation, with SOCKS5 the browser resolves site names on the proxy side anyway. - Keep in mind that Chrome does not support SOCKS5 with a username and password. For username login use HTTP port 823 or the sticky ports 10000-20000; for port 824 use IP access. What SOCKS5 is: see the glossary.
How to check that it works
Start the browser with the corrected string and open https://prokso.com/ip: the page returns JSON with the IP, country and ASN. If it shows the proxy address, the settings were applied. If ERR_PROXY_CONNECTION_FAILED appears instead of ERR_NO_SUPPORTED_PROXIES, the string is now correct and the problem is the connection to the gateway.
Two-minute diagnosis
First paste the line into the proxy checker. If the proxy works there, the cause is in your app or its settings. If not, test the line from a terminal:
curl -v -x "http://USERNAME:PASSWORD@gw.prokso.com:823" https://api.ipify.org
- A
< HTTP/1.1 407line right afterCONNECTmeans the proxy answered. The name after the code, for exampleNO_USER, points to the cause. - The proxy answered
CONNECTwith 200 and then another code arrived - the proxy works, and that answer came from the website. - No answer at all, only a timeout - the connection never reached the proxy: check the host, port and network.
Setup guides where this error comes up
FAQ
Why does curl work with this string and Chrome does not?
curl accepts a username and password right in the proxy address and knows the socks5h scheme. Chromium parses the string differently: it does not accept credentials in the proxy address and does not know socks5h. The full string syntax is on the <a href="/en/help/gateway">gateway</a> page.
Can I put the username into a PAC file?
No. A PAC script returns only the proxy type, host and port, for example PROXY gw.prokso.com:823, and Chromium drops an address with a username there as well. Pass the username separately or turn on IP access.
How can I quickly check that the username and password are correct?
Paste the string into the <a href="/en/tools/proxy-checker">proxy checker</a>. If it passes, the issue is how the string is passed to the browser. If not, go through the <a href="/en/help/troubleshooting">step-by-step check</a>.
Other proxy errors
Residential $1.59, mobile $2.50, datacenter $0.65 per GB
Sign up in a minute, get access right after payment.