curl shipped by Microsoft
On December 19 2017, Microsoft announced that since insider build 17063 of Windows 10, curl is a default component.
Windows 10/11 bundle curl
Every installation of Microsoft Windows 10 and Windows 11 has curl installed by default.
The Microsoft provided version is built to use the Schannel TLS backend. Invoking curl -V after the October 2024 update shows this on these platforms:
Disabled features
The Microsoft curl build omits several good features:
- no Public Suffic List (PSL) support, making it impossible to prevent "super cookies"
- no support for HTTP/2 or HTTP/3
- no support for GOPHER(S), LDAP(S), RTMP, RTSP, SCP, SFTP, WS(S))
- no brotli or zstd compression
Separate
The curl tool shipped with Windows is built by and handled by Microsoft. It is a separate build that will have different features and capabilities enabled and disabled compared to the Windows builds offered by the curl project. They do however build curl from the same source code. If you have problems with their curl version, report that to them.
You can probably assume that the curl packages from Microsoft will always lag behind the versions provided by the curl project itself.
A Powershell alias
The curl tool comes installed in addition to the dreaded curl alias that plagues Powershell users since it is an alias that runs the invoke-webrequest command and therefore is not acting much like curl at all.
A work-around is to invoke curl as "curl.exe" to prevent powershell from treating it as an alias.