Any web_fetch: TypeError: fetch failed
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### Describe the bug
Prompt: what's the html title on https://example.com
Always getting: TypeError: fetch failed
This is not about a lack of proxy settings, environment variables. Copilot has no problem access models, or logging the user in, etc.
Every single web_fetch tool call fails, no matter what website.
curl commands from the same terminal work, other simple node apps work. Even getting Copilot itself to test/troubleshoot, all the network commands it runs, work, whether node apps, curl, powershell, etc. Something is deeply broken in web_fetch and the error reporting is completely useless. I suspect it's related to a corporate proxy, but this is a web_fetch only problem. Please add something useful the debug logs. Please, fix this, once and for all. This lack of logging going on from day one. "Fetch failed" isn't good enough, especially at debug or all level.
Seems you have put in 100 times more effort in logging information about your own telemetry requests. Seems like misguided priorities.
These are set, and should not be necessary anyway:
NODE_TLS_REJECT_UNAUTHORIZED=0
NODE_USE_ENV_PROXY=1
NODE_USE_SYSTEM_CA=1
And these are set and correct:
HTTPS_PROXY=http://xxx.xxx.xxx.xxx:8082
HTTP_PROXY=http://xxx.xxx.xxx.xxx:8082
As seen in the logs:
2026-06-26T16:12:55.063Z [INFO] Proxy configuration: HTTP_PROXY=http://xxx.xxx.xxx.xxx:8082, HTTPS_PROXY=http://xxx.xxx.xxx.xxx:8082, NO_PROXY=localhost,127.0.0.1,*.xxx.xxx,192.168.*,xxx.ie
### Affected version
GitHub Copilot CLI 1.0.65
Windows 11
_No response_
### Steps to reproduce the behavior
Run the prompt.
### Expected behavior
Working response + proper logging in failure case.
### Additional context
_No response_
Contributor guide
Research direction
Start by reproducing the web_fetch prompt against https://example.com on GitHub Copilot CLI 1.0.65 for Windows 11, then inspect the web_fetch failure path and its debug output. Done means the request succeeds or the failure reports a useful cause instead of only “TypeError: fetch failed”.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js
- Domain
- cli, networking, observability
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100