dotnet-new-search(1)
β¨ dotnet-new-search(1) β¨
okay bestie, welcome to the dotnet-new-search manual page π (that's the manual name btw, and it lives in the .NET Documentation section β the whole manual page is literally called dotnet-new-search(1) and yes we're doing this).
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. that's it, that's the job, and it does it flawlessly π
β¨ 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 π¦
So the dotnet new search command goes hunting for templates that dotnet new supports over on NuGet.org. And when the argument is specified, it searches for templates containing that specified name. simple as that π«Ά
Starting with the .NET 7 SDK, the dotnet new syntax has changed: and bestie, this is a big glow-up:
- The
--list,--search,--install, and--uninstalloptions becamelist,search,install, anduninstallsubcommands. iconic behavior honestly π - The
--update-applyoption became theupdatesubcommand. - To use
--update-check, use theupdatesubcommand with the--check-onlyoption.
All the other options that were available before are still available to use with their respective subcommands. no one got left behind, periodt π And there's separate help for each subcommand via the -h or --help option β so dotnet new <subcommand> --help lists all supported options for that subcommand. chef's kiss.
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. π
And then there's examples of the old syntax (the docs label that snippet dotnetcli, fyi):
- Search for all templates available on NuGet.org matching the "we" substring and supporting the F# language:
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. And heads up β the argument is mandatory when --author, --language, --package, --tag, or --type options are not specified. so like, you gotta give it something π«
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 β one (1) argument only, we don't do greedy here π
π OPTIONS π
--author <AUTHOR>β Filters templates based on template author. A partial match is supported. so you don't need the whole name, a lil hint is enough β¨--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 β those are the ride-or-dies, they never leave π 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. stack 'em up π
--columns-allβ Displays all columns in the output. yes, all of them, the whole fit, no skimping π-d|--diagnosticsβ Enables diagnostic output. Available since .NET SDK 7.0.100. π©Ί-h|--helpβ Prints out help for thesearchcommand. Available since .NET SDK 7.0.100. your bestie when you're lost π«Ά-lang|--language <language>β Filters templates based on language supported by the template. The language accepted varies by the template β possible languages areC#,F#,VB,SQL,JSON,TypeScript, and more. Not valid for some templates, so vibe check first π
Some shells interpret#as a special character. In those cases, enclose the language parameter value in quotes. For example,dotnet new --search --language "F#". don't get caught lacking by your own shell bestie π
--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. exact match only, no partial-credit energy here β--type <TYPE>β Filters templates based on template type. Predefined values areproject,item, andsolution. three options, choose your fighter π§-v|--verbosity <LEVEL>β Sets the verbosity level of the command. Allowed values areq[uiet],m[inimal],n[ormal], anddiag[nostic]. Available since .NET SDK 7.0.100. π£οΈ
To ensure that the template package appears indotnet new --searchresult, set the NuGet package type toTemplate. literally do this or you will simply not be found, and that's a tragedy π
β EXAMPLES β
- Search for all templates available on NuGet.org matching the
spasubstring.
dotnet new search spa
- Search for all templates available on NuGet.org matching the
wesubstring 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 newcommanddotnet new listcommand- Custom templates for
dotnet new
okay that's the whole page, you ate it, go search some templates π β¨
source/version + date check: this was served up on 2025-10-30 and it's the dotnet-new-search(1) page β mwah, no cap πππ¦
π¦ where this page comes from
- alpine 3.24: dotnet-doc 10.0.303-r2 Β· MIT
- centos-stream 10: dotnet-host 11.0.0~rc.2.26504.105-0.10.el10 Β· 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- centos-stream 9: dotnet-host 11.0.0~rc.2.26504.105-0.11.el9 Β· 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- fedora 43: dotnet-host 10.0.12-1.fc43
- fedora 43: dotnet-host 11.0.0~rc.1.26425.128-0.10.fc43 Β· 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- fedora 44: dotnet-host 10.0.12-1.fc44
- fedora 44: dotnet-host 10.0.4-1.fc44 Β· 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- fedora 44: dotnet-host 11.0.0~rc.1.26425.128-0.12.fc44 Β· 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
- nixpkgs unstable: dotnet-vmr 11.0.0-rc.3
- ubuntu noble: dotnet-host-10.0 10.0.12-0ubuntu1~24.04.1
- ubuntu questing: dotnet-host-10.0 10.0.9-0ubuntu1~25.10.1
- ubuntu resolute: dotnet-host-10.0 10.0.12-0ubuntu1~26.04.1
- ubuntu resolute: dotnet-host-10.0 10.0.5-0ubuntu1 Β· MIT
- ubuntu stonking: dotnet-host-10.0 10.0.12-0ubuntu2 Β· MIT
- ubuntu stonking: dotnet-host-11.0 11.0.0~rc1-0ubuntu1 Β· MIT
- ubuntu stonking: dotnet-host-11.0 11.0.0~rc3-0ubuntu1~26.10.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms