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:

curl 8.9.1 (Windows) libcurl/8.9.1 Schannel zlib/1.3 WinIDN
Release-Date: 2024-07-31
Protocols: dict file ftp ftps http https imap imaps ipfs ipns mqtt pop3 pop3s smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM SPNEGO SSL SSPI threadsafe Unicode UnixSockets

Disabled features

The Microsoft curl build omits several good features:

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.