Overview In September 2026, NTLM support will be removed from libcurl, which is used by Git for HTTP(S) operations. As a result, Git operations over HTTPS against Azure DevOps Server (on-premises) will stop working for customers who rely on NTLM authentication. This change is part of a broader industry move toward more secure authentication mechanisms. […]
The post Upcoming Change: NTLM Removal in Git (libcurl) – Impact to Azure DevOps Server Customers appeared first on Azure DevOps Blog.
In September 2026, NTLM support will be removed from libcurl, which is used by Git for HTTP(S) operations. As a result, Git operations over HTTPS against Azure DevOps Server (on-premises) will stop working for customers who rely on NTLM authentication. This change is part of a broader industry move toward more secure authentication mechanisms.
Many environments may be affected even if they believe they are using Kerberos. This is because Negotiate (SPNEGO) authentication can silently fall back to NTLM when Kerberos is not properly configured, leading to unintentional dependency on NTLM.
If your environment currently depends on NTLM authentication, you will need to transition to a supported alternative before it is removed. Based on current guidance, customers should move to Kerberos authentication wherever possible and avoid continued reliance on NTLM, as it is deprecated and will not be supported going forward. While older Git client versions may temporarily continue to support NTLM, this approach is strongly discouraged due to security risks and its limited viability as a long-term solution. Moving away from NTLM also improves your organization’s security posture by eliminating legacy authentication protocols, strengthens compliance alignment with modern identity standards, and ensures future readiness as platforms continue to deprecate NTLM.
Who Is ImpactedThis change primarily affects Azure DevOps Server customers in the following scenarios:
These configurations may continue to work today because NTLM is available as a fallback, but they are at risk of breaking once NTLM support is removed from Git/libcurl. Customers should validate whether Kerberos is actually being used and remediate any fallback to NTLM before September 2026.
What you need to doTo prepare for this change, we recommend the following steps:
1. Determine if you are using NTLMCustomers should validate whether their Git connections are using Kerberos or NTLM. Azure DevOps Server accepts both via Windows Integrated Authentication, and “Negotiate” can silently fall back to NTLM, so a working connection doesn’t reveal which is in use. Recent Git for Windows builds disable NTLM by default, so connections that relied on it will now fail.
Recommended actions:
1. Look for the NTLM warning
Warning: Due to its cryptographic weaknesses, NTLM authentication has been disabled in Git by default. You can re-enable it for trusted servers by running: git config set >http.http://localhost:8080.allowNTLMAuth true
2. Check the Kerberos ticket cache
klist purge
git fetch
klist
A ticket with Server: HTTP/tfs.contoso.com confirms Kerberos; no such ticket means NTLM (or auth failed).
3. Inspect the HTTP trace from Git
set GIT_TRACE_CURL=1
set GIT_TRACE_REDACT=0
git fetch 2> trace.txt
In the trace.txt file if you see the Authorization: line NTLM TlRMT… this means that NTLM is being used. If you see Negotiate <token> then to confirm the token is for a Kerberos negotiation you can run this small PowerShell command to inspect the token:
$token = "paste the token from the Authorization: Negotiate line here";
$b=[Convert]::FromBase64String($token -replace '\s'); if([Text.Encoding]::ASCII.GetString($b) -match 'NTLMSSP'){'NTLM'}elseif([BitConverter]::ToString($b) -match '2A-86-48-86-F7-12-01-02-02'){'Kerberos'}else{'Unknown'}
To avoid disruption, ensure Kerberos authentication is correctly configured end-to-end.
This includes:
With recent Git improvements, Kerberos support is becoming easier to use without additional configuration.
3. Plan for NTLM fallback removalNTLM fallback, including fallback through SPNEGO/Negotiate, will no longer be available once NTLM support is removed from Git/libcurl. Customers should plan now to remove any dependency on NTLM and validate that Kerberos works end-to-end.
Recommended planning guidance:
If you have questions or need help preparing for this change, please reach out through your usual Azure DevOps support channels.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | August Patches for Azure DevOps Server | 0 | 5.68 | 11-08-2026 |
| 2 | July Patches for Azure DevOps Server | 0 | 5.68 | 21-07-2026 |
| 3 | June Patches for Azure DevOps Server | 0 | 5.68 | 11-06-2026 |
| 4 | Axios npm Supply Chain Compromise – Guidance for Azure Pipelines Customers | 0 | 11.33 | 24-04-2026 |
| 5 | Find any commit in seconds: Commit Search comes to Azure DevOps | 0 | 7.93 | 28-07-2026 |
| 6 | Azure DevOps Remote MCP Server is generally available | 0 | 5.71 | 05-08-2026 |
| 7 | Retirement of Azure DevOps issuer in Workload identity federation service connections | 0 | 5.68 | 22-06-2026 |
| 8 | Pull request annotations on work item cards | 0 | 6.45 | 06-08-2026 |
| 9 | You can now use the Azure DevOps Service Connection instead of a PAT or Build Session token | 0 | 4.13 | 06-08-2026 |
| 10 | Enterprise-managed OpenTelemetry export for VS Code and CLI | 0 | 5 | 08-07-2026 |