dotnet-new-search - searches for the templates supported by dotnet-new on


dotnet new search

This article applies to: ✔️ .NET Core 5.0.300 SDK and later versions


dotnet-new-search - searches for the templates supported by dotnet-new on


dotnet new search <TEMPLATE_NAME>

dotnet new search [<TEMPLATE_NAME>] [--author <AUTHOR>] [-lang|--language {"C#"|"F#"|VB}]
    [--package <PACKAGE>] [--tag <TAG>] [--type <TYPE>]
    [--columns <COLUMNS>] [--columns-all]
    [-d|--diagnostics] [--verbosity <LEVEL>] [-h|--help]


The dotnet new search command searches for templates supported by dotnet new on 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 matching the “we” substring and supporting the F# language > > dotnetcli > dotnet new we --search --language "F#" >



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.


--author <AUTHOR>

Filters templates based on template author. Partial match is supported.

--columns <COLUMNS>

Comma-separated list of columns to display in the output. The supported columns are:

language - A comma-separated list of languages supported by the template.

tags - The list of template tags.

author - The template author.

type - The template type: project or item.

The template name, short name, package name and total downloads count are always shown. The default list of columns is template name, short name, author, language, package, and total downloads. This list is equivalent to specifying --columns=author,language.


Displays all columns in the output.


Enables diagnostic output. Available since .NET SDK 7.0.100.


Prints out help for the search command. Available since .NET SDK 7.0.100.

-lang|--language {C#|F#|VB}

Filters templates based on language supported by the template. The language accepted varies by the template. 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. 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.


Search for all templates available on matching the spa substring.

dotnet new search spa

Search for all templates available on 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,tags"


dotnet new command

dotnet new list command

Custom templates for dotnet new

Updated 2024-01-29 - |