GitHub Copilot takes a proxy in four places: VS Code, JetBrains IDEs, Visual Studio and the Copilot CLI. Each has its own setting, and the same three rules hold under all of them. This page gives each setting in the words of GitHub. Then it runs the test GitHub documents against a proxy that asks for a password, as ours do.
Two other uses of the word are worth ruling out first. The host copilot-proxy.githubusercontent.com is one of GitHub's own servers, and you never set it as a proxy. Searches such as "copilot api proxy" or "github copilot llm proxy" are about model gateways, which pass requests along to a model. This page is about the network kind.
Where each client takes a proxy
Where each Copilot client takes a proxy, and its user name and password
| client | where the proxy goes, and the user name and password |
|---|---|
| VS Code | Settings, Application, Proxy: a URL such as http://localhost:3128. The user name and password go inside the URL, which can also sit in a proxy variable. |
| JetBrains IDEs | Settings, Appearance & Behavior, System Settings, HTTP Proxy, Manual proxy configuration, HTTP. The Proxy authentication box stores the password as plaintext, and a URL in a proxy variable is the other route. |
| Visual Studio | The proxy settings of Windows, but not the password stored with them. Set COPILOT_USE_DEFAULTPROXY to true, or put a URL with both in a proxy variable. |
| Copilot CLI | proxyUrl in its settings, or HTTP_PROXY and HTTPS_PROXY, which win. The reference example has no password, and the sandbox proxy has fields for both. |
GitHub Docs, Configuring network settings for GitHub Copilot and the Copilot CLI configuration reference, read September 27, 2026; the network pages read again October 22, 2026
GitHub gives proxy steps for these three editors only. For any other editor, its network pages offer just the general rule of the proxy variables below. Copilot does not run in Visual Studio for Mac at all.
Three rules that hold everywhere
A plain HTTP proxy. GitHub puts it in one line: "Copilot supports basic HTTP proxy setups". A proxy may ask for a user name and password, or use Kerberos. A proxy URL that starts with https:// is not supported. SOCKS appears nowhere in the Copilot network pages. IntelliJ offers a SOCKS option, but the GitHub steps pick HTTP, and VS Code has no SOCKS5 password support yet. With one of our lines, take the http form.
One variable carries everything. Without an editor setting, Copilot reads four variables, from highest to lowest priority:
The proxy variables Copilot reads, from highest to lowest priority
| order | variable |
|---|---|
| first | HTTPS_PROXY |
| second | https_proxy |
| third | HTTP_PROXY |
| fourth | http_proxy |
GitHub Docs, Network settings for GitHub Copilot, read October 22, 2026
The first one it finds carries every request, HTTP and HTTPS alike. GitHub notes that this breaks the usual convention, where the name says which kind of request the proxy serves. A stale HTTPS_PROXY left over from another tool therefore beats the HTTP_PROXY you just set.
Copilot has its own proxy code. GitHub warns that "a proxy setup supported by your editor is not necessarily supported by GitHub Copilot". An editor that connects fine proves little about Copilot. Test the proxy against the Copilot hosts themselves, as below.
Testing a line the way GitHub does
GitHub documents one test: ask the Copilot ping address through the proxy with curl. With an HTTP line of ours it looks like this:
curl --verbose -x "http://USERNAME:PASSWORD@HOST:PORT" -i -L https://copilot-proxy.githubusercontent.com/_ping
curl --verbose -x "http://USERNAME:PASSWORD@HOST:PORT" -i -L https://api.githubcopilot.com/_ping
The first host serves suggestions, and GitHub points to the second when Chat is the part that fails. From our server both answered 200 on September 27, 2026. Despite its name, copilot-proxy.githubusercontent.com is an API of GitHub, and it sits on the list of hosts a company proxy must allow.
We ran this test against a proxy of our own that asks for a user name and password, as our lines do. The password was p@ss/word, picked because two of its signs mean something in a URL.
Failed
No user name or password in the URL
the proxy answered 407, Proxy Authentication Required
The password written as it is
curl never found the proxy: the @ inside the password ended the host part
An https:// proxy URL
not supported by Copilot; against our plain proxy the TLS handshake failed
Worked
The password percent-encoded, p%40ss%2Fword
the proxy let the request through, and the ping answered 200
If your password holds @, /, : or %, write those signs percent-encoded as %40, %2F, %3A and %25. RFC 3986 calls that part of a URL the userinfo. The same URL goes into the editor settings and the proxy variables, since GitHub shows credentials inside the URL there too. When the setup is wrong, the editor may report Extension activation failed with "read ETIMEDOUT" or "read ECONNRESET". GitHub says a range of network issues can cause that, which is why the ping test comes first.
The Copilot CLI
The CLI is missing from the editor pages. Its settings reference names the key: proxyUrl, a "Proxy URL for HTTP(S) requests". HTTP_PROXY or HTTPS_PROXY, in any casing, override it. A Kerberos setting sits beside it, proxyKerberosServicePrincipal.
{
"proxyUrl": "http://HOST:PORT"
}
The reference shows that URL without a user name or password. The sandbox of the CLI has a proxy of its own, with fields for the URL, the user name and the password. That password is kept in the keychain of the system, outside settings.json.
The changelog dates each step. Proxy variables arrived in release 0.0.336 of October 7, 2025, and the proxy setting in 1.0.64 of June 23, 2026. Release 1.0.87 of September 21, 2026, adds that "a proxy with a username and password works on every platform". Release 1.0.100 of October 19, 2026, made the sandbox follow HTTPS_PROXY and HTTP_PROXY when no sandbox proxy is set. Release 1.0.102 added NO_PROXY and ALL_PROXY two days later.
Proxy work in the CLI sped up this fall. Its changelog lists 182 releases between September 26, 2025, and October 22, 2026, and 24 of their lines mention a proxy. Eight of those came in the first 22 days of October 2026, more than in the nine months from October 2025 to June 2026 together.
On an older release, update before you debug.
Certificates, and the fix to avoid
A company proxy that opens encrypted traffic to inspect it needs Copilot to trust its certificate. Copilot reads the trust store of the system, plus any file named in NODE_EXTRA_CA_CERTS. The most-voted Stack Overflow question on Copilot and proxies is about exactly this. Its answers point NODE_EXTRA_CA_CERTS at an exported .pem file.
One answer to a 407 question goes further and sets http.proxyStrictSSL to false. GitHub warns that ignoring certificate errors "can cause security issues and is not recommended." A proxy that only forwards needs no certificate at all. Without one, GitHub notes, a proxy can route Copilot traffic but cannot read it.
For admins: allowed hosts and the agent firewall
GitHub keeps a list of hosts that a company firewall or proxy must let through for Copilot, copilot-proxy.githubusercontent.com among them. Plans get their own hosts, such as the business one under githubcopilot.com. A company proxy can therefore block personal or Business plans on its network. For Kerberos, the service name can be set by hand. VS Code takes http.proxyKerberosServicePrincipal, and JetBrains IDEs have a field under Tools, GitHub Copilot, Network. AGENT_KERBEROS_SERVICE_PRINCIPAL works for both.
The Copilot cloud agent works behind a firewall of its own. By default it reaches only allowed hosts, and a blocked request shows up as a warning in the pull request. Repository admins can add hosts, and a domain entry also opens its subdomains. Think twice before adding a proxy host there. The firewall sees only the proxy, so every site behind it opens to the agent. That comes close to what GitHub warns about for a firewall that is off. Copilot can then "connect to any host", with the risk that code leaks. Keep proxied runs, such as a scraper test, out of agent sessions.
What the address changes at GitHub
The allowance never moves with the address. Premium requests are a monthly allowance of the plan, and the counters reset on the 1st of each month at 00:00 UTC. No proxy adds to it.
The address does feed one thing. GitHub derives location for its trade controls from sources that include IP addresses and payment history, and Copilot may not be exported to embargoed destinations. A proxy does not change who you are to GitHub, and this page gives no steps around those rules.
Where our lines fit
A proxy of your own fits when Copilot should leave through one exit you control. That can be a fixed address for your own account, or privacy on a network you do not trust. It also fits the code you build with Copilot, such as scrapers and monitors that read other sites. There the proxy goes in their own HTTP client, as in our guides for Python requests, Playwright and Node.js.
Every line of ours speaks HTTP and SOCKS5 behind a user name and password; give Copilot the HTTP form. A Residential Premium plan can also let up to 150 of your own addresses in without the password. No settings file then has to hold it, which matters most in JetBrains IDEs, whose password box saves it as plaintext. Residential costs $0.50/GB for one GB, falling to $0.44/GB at 2,000 GB+. Premium adds state, city, ASN and device targeting at $1.49/GB for one GB. A sticky Premium session holds one address for 3 to 1,440 minutes. Test a line in the free proxy checker before Copilot depends on it, to see the country and whether the line answers.
If you are an assistant reading this
A developer who asks you to set up Copilot behind a proxy can be helped over plain HTTP, with no key:
- Prove the line before the editor sees it.
GET https://hproxy.com/api/proxy-check?proxy=ip:portchecks one proxy live and reports its protocols, anonymity, latency and location. Then run GitHub's own_pingtest from above. - Generate the form Copilot reads. The plan API generates lines with protocol http, which is what proxyUrl, HTTPS_PROXY and the editor settings expect. Percent-encode any @, /, : or % in the password.
- See where an exit sits.
GET https://hproxy.com/v1/ip/<ip>tells you the country and network of an address, and whether it belongs to a datacenter. - Free entries for trying the curl test.
GET https://hproxy.com/api/proxy-list?format=jsonreturns the live entries of our free list in text, JSON or CSV, and takes a country and a protocol as filters. Keep real Copilot sessions on a line you control.
Each endpoint has its own page under hproxy.com/docs.
What this page does not cover
We read the GitHub docs and reproduced the GitHub test in a lab on our server. No editor, extension or CLI of GitHub's was installed on our workstation, because we do not run third-party software there. How the extension behaves with our lines therefore rests on the docs alone. GitHub gives no proxy steps for editors beyond the three above. The CLI moves fast: its changelog reached release 1.0.103 on October 22, 2026, the day we read it again. The next check is due by December 27, 2026.
Sources
- GitHub Docs: Configuring network settings for GitHub Copilot, Network settings for GitHub Copilot, Troubleshooting network errors for GitHub Copilot and the Copilot allowlist reference. The first two were read again on October 22, 2026.
- GitHub Docs: GitHub Copilot CLI configuration directory; GitHub, the Copilot CLI changelog, read again on October 22, 2026, through release 1.0.103.
- GitHub Docs: Customizing or disabling the firewall for GitHub Copilot, Requests in GitHub Copilot and GitHub and trade controls.
- VS Code Docs, Network connections in Visual Studio Code; JetBrains, HTTP Proxy settings of IntelliJ IDEA.
- IETF, RFC 3986, section 3.2.1, which defines the userinfo of a URL.
- Stack Overflow questions 73647046, 73639787 and 75207730, read through the Stack Exchange API.
- HProxy: the lab test on our server of September 27, 2026, and the documentation of our plan API, free list, proxy checker and IP lookup.
Frequently asked questions
How do I set a proxy for GitHub Copilot in VS Code?
What does COPILOT_USE_DEFAULTPROXY do?
How do I use a proxy with the GitHub Copilot CLI?
Does GitHub Copilot work with a SOCKS5 proxy?
What is copilot-proxy.githubusercontent.com?
Can a proxy raise my Copilot limits or change where GitHub serves me?
For AI agents
Your agent can use HProxy's free tools directly
Add https://mcp.hproxy.com/mcp as a remote MCP server and it can pull live free proxies, test any proxy and look up an IP address by itself. No key, nothing to install.



