trasloco

NuGetRestore@1 is retired: replace it with NuGetCommand@2

The short answer

Retirement date
Removal date
. Pipelines that still use it fail after removal.
Replacement
NuGetCommand@2
Kind of migration
replacement with input changes
Automatic rewrite
Not yet. Automatic rewrite is planned for this kind of task (replacement with input changes). Today, trasloco modernize --check finds the step and you change it by hand.
Recommended action
Replace NuGetRestore@1 with NuGetCommand@2 and review the replacement inputs before updating the pipeline.

Official sources

Last verified:

Why does my pipeline show a retirement error for NuGetRestore@1?

On , Azure Pipelines shows a retirement error for NuGetRestore@1, but the run does not fail. On , pipelines that still use NuGetRestore@1 fail.

Find it in your pipelines

With trasloco:

trasloco modernize --check

Install trasloco from the latest release.

With plain grep, nothing to install:

grep -rniwF 'NuGetRestore@1' --include='*.yml' --include='*.yaml' .

How to migrate

Replace NuGetRestore@1 with NuGetCommand@2 and review the replacement inputs before updating the pipeline.

The task definition of the replacement is linked under official sources above.

NuGetRestore@1 retirement FAQ

Is NuGetRestore@1 deprecated?

Yes. NuGetRestore@1 is retired on 2026-10-15. Azure Pipelines shows a retirement error, but the run does not fail until removal.

When does NuGetRestore@1 stop working?

NuGetRestore@1 is removed on 2027-03-15. Pipelines that still use it fail after removal.

What should I use instead of NuGetRestore@1?

Replace NuGetRestore@1 with NuGetCommand@2.