Skip to content
93 changes: 93 additions & 0 deletions docs/core/tools/dotnet-package-download.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
title: dotnet package download command
description: Download a nuget package.
author: Nigusu-Allehu
ms.date: 11/06/2025
---
# dotnet package download

> Applies to: ✔️ .NET 10 SDK and later versions.

## Name

`dotnet package download` — Download one or more NuGet packages to disk.

## Synopsis

```
dotnet package download [<packages>...]
[--output <path>]
[--configfile <path> ]
[--include-transitive]
[--source <package source>]
[--allow-insecure-connections]
[--interactive]
[--verbosity <level>]

dotnet package download -h|--help
```

## Description

`dotnet package download` donwloads NuGet packages to a local directory. It **does not** add or update `PackageReference` entries in project files and **does not** build or restore a project.

Check failure on line 32 in docs/core/tools/dotnet-package-download.md

View workflow job for this annotation

GitHub Actions / lint

Trailing spaces

docs/core/tools/dotnet-package-download.md:32:192 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md009.md
By default, the command downloads only the packages you specify (no transitive dependencies) to the current working directory.

## Arguments

* **`packages`**
One or more package IDs to download.
Each package can optionally include a version with `@`.
If a package version is not specified the latest version of the package is downloaded.
For example, dotnet package update Contoso.Utilities or dotnet package update [email protected].

## Options

* **`--allow-insecure-connections`**

Allows downloading from HTTP sources. Without this flag, insecure sources cause the command to error per [HTTPS-everywhere](https://aka.ms/nuget-https-everywhere) guidance.

* **`--configfile <path>`**

Path to a NuGet.config to use.

* **`--interactive`**

Enables interactive authentication if required.

* **`-o, --output <path>`**

Directory where the package will be placed. Defaults to the current working directory.

* **`--prerelease`**

Allows downloading prerelease versions.

* **`-s --source <package source>`**

Specifies the NuGet package source to use.

* **`-v --verbosity <level>`**

Set the verbosity level of the command Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

[!INCLUDE [help](../../../includes/cli-help.md)]

## Examples

### Download a single package at a specific version

```ps1
dotnet package download [email protected] --output My/Destination/For/packages
```

### Download multiple packages to a custom folder

```ps1
dotnet package download [email protected] [email protected] --output My/Destination/For/packages
```

### Download including transitive dependencies

```ps1
dotnet package download Azure.Storage.Blobs --include-transitive --output ./cache
```
Loading