The install command of the winget tool installs the specified application. Use the search command to identify the application you want to install.
The install command requires that you specify the exact string to install. If there is any ambiguity, you will be prompted to further filter the install command to an exact application.
Usage
winget install [[-q] <query> ...] [<options>]
Aliases
The following aliases are available for this command:
add
Arguments
The following arguments are available.
Argument
Description
-q,--query
The query used to search for an app.
Note
The query argument is positional. Wild-card style syntax is not supported. This is most often the string of characters you expect to uniquely identify the package you wish to install.
Options
The options allow you to customize the install experience to meet your needs.
Option
Description
-m, --manifest
Must be followed by the path to the manifest (YAML) file. You can use the manifest to run the install experience from a local YAML file.
--id
Limits the install to the ID of the application.
--name
Limits the search to the name of the application.
--moniker
Limits the search to the moniker listed for the application.
-v, --version
Enables you to specify an exact version to install. If not specified, latest will install the highest versioned application.
-s, --source
Restricts the search to the source name provided. Must be followed by the source name.
If the query provided to winget does not result in a single application, then winget will display the results of the search. This will provide you with the additional data necessary to refine the search for a correct install.
The best way to limit the selection to one file is to use the id of the application combined with the exact query option. For example:
CMD
winget install --id Git.Git -e
If multiple sources are configured, it is possible to have duplicate entries. Specifying a source is required to further disambiguate.
CMD
winget install --id Git.Git -e --source winget
The msstore source uses unique identifiers as the "Id" for packages. These do not require the exact query toption. For example:
CMD
winget install XP9KHM4BK9FZ7Q -s msstore
Local install
The manifest option enables you to install an application by passing in a YAML file directly to the client. If the manifest is a multi-file manifest, the directory containing the files must be used. The manifest option has the following usage.
Usage: winget install --manifest \<path>
Option
Description
-m, --manifest
The path to the manifests of the application to install.
Note
Installing packages from local manifest files may have risks. As an extra measure of precaution this feature needs to be enabled by an administrator. To enable this feature run winget settings --enable LocalManifestFiles. To disable this feature run winget settings --disable LocalManifestFiles.
Log files
The log files for winget unless redirected, will be located in the following folder: %temp%\AICLI\*.log
License Agreements
Some applications when installed will require the user to agree to the license or other agreements before installing. When this occurs, the Windows Package Manager will prompt the user to agree to the agreements. If the user does not agree, the application will not install.
From the command line, you can auto accept the agreements by passing the following option --accept-package-agreements on the command line. This can be beneficial when scripting the Windows Package Manager.
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Windows developer feedback
Windows developer is an open source project. Select a link to provide feedback:
Streamline the installation and maintenance of software on your computer by using Windows Package Manager. Explain the front-end components and commands, the Windows Package Manager repository, and how to contribute to the repository.