dotnet-new-search(1)                                     .NET Documentation                                    dotnet-new-search(1)

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

       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.  > > Ex‐
       amples 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

       • --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 --col‐

       • --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 {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

       • --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

                                                             2022-11-08                                        dotnet-new-search(1)