| dotnet-new-search(1) | .NET Documentation | dotnet-new-search(1) |
dotnet new search
This article applies to: ✔️ .NET 6 SDK and later versions
NAME
dotnet-new-search - searches for the templates supported by dotnet-new on NuGet.org.
SYNOPSIS
-
dotnet new search <TEMPLATE_NAME> dotnet new search [<TEMPLATE_NAME>] [--author <AUTHOR>] [-lang|--language <language>]
[--package <PACKAGE>] [--tag <TAG>] [--type <TYPE>]
[--columns <author|language|tags|type>] [--columns-all]
[-d|--diagnostics] [--verbosity <LEVEL>] [-h|--help]
DESCRIPTION
The dotnet new search command searches for templates supported by dotnet new on NuGet.org. When the is specified, searches for templates containing the specified name.
Starting with the .NET 7 SDK, the dotnet new syntax has changed:
- •
- The --list, --search, --install, and --uninstall options became list, search, install, and uninstall subcommands.
- •
- The --update-apply option became the update subcommand.
- •
- To use --update-check, use the update subcommand with the --check-only option.
Other options that were available before are still available to use with their respective subcommands. Separate help for each subcommand is available via the -h or --help option: dotnet new <subcommand> --help lists all supported options for the subcommand.
Additionally, tab completion is now available for dotnet new. It supports completion for installed template names and for the options a selected template provides. To activate tab completion for the .NET SDK, see Enable tab completion. > > Examples of the old syntax: > > - Search for all templates available on NuGet.org matching the “we” substring and supporting the F# language > > dotnetcli > dotnet new we --search --language "F#" >
ARGUMENTS
- •
- TEMPLATE_NAME
If the argument is specified, only templates containing <TEMPLATE_NAME> in the template name or short name will be shown. The argument is mandatory when --author, --language, --package, --tag, or --type options are not specified.
Starting with .NET SDK 6.0.100, you can put the <TEMPLATE_NAME> argument after the --search option. For example, dotnet new --search web provides the same result as dotnet new web --search. Using more than one argument is not allowed.
OPTIONS
- •
- --author <AUTHOR>
Filters templates based on template author. A partial match is supported.
- •
- --columns <COLUMNS>
The list of columns to display in the output. The supported columns are:
- •
- author - The template author.
- •
- language - The template language.
- •
- tags - The list of template tags.
- •
- type - The template type.
The template name, short name, package name, an indication if it’s a trusted source, and total downloads count are always shown. The default list of columns is template name, short name, language, package, an indication if it’s a trusted source, and total downloads. To specify multiple columns, use the --columns option multiple times.
- •
- --columns-all
Displays all columns in the output.
- •
- -d|--diagnostics
Enables diagnostic output. Available since .NET SDK 7.0.100.
- •
- -h|--help
Prints out help for the search command. Available since .NET SDK 7.0.100.
- •
- -lang|--language <language>
Filters templates based on language supported by the template. The language accepted varies by the template, possible languages are C#, F#, VB, SQL, JSON, TypeScript, and more. Not valid for some templates.
Some shells interpret # as a special character. In those cases, enclose the language parameter value in quotes. For example, dotnet new --search --language "F#".
- •
- --package <PACKAGE>
Filters templates based on NuGet package ID. A partial match is supported.
- •
- --tag <TAG>
Filters templates based on template tags. To be selected, a template must have at least one tag that exactly matches the criteria.
- •
- --type <TYPE>
Filters templates based on template type. Predefined values are project, item, and solution.
- •
- -v|--verbosity <LEVEL>
Sets the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], and diag[nostic]. Available since .NET SDK 7.0.100.
To ensure that the template package appears in dotnet new --search result, set the NuGet package type to Template.
EXAMPLES
- •
- Search for all templates available on NuGet.org matching the spa substring.
-
dotnet new search spa
- •
- Search for all templates available on NuGet.org matching the we substring and supporting the F# language.
-
dotnet new search we --language "F#"
- •
- Search for item templates.
-
dotnet new search --type item
- •
- Search for all C# templates, showing the type and tags in the output.
-
dotnet new search --language "C#" --columns "type" --columns "tags"
SEE ALSO
- •
- dotnet new command
- •
- dotnet new list command
- •
- Custom templates for dotnet new
| 2025-10-30 |