dotnet-tool-restore(1)

πŸ“¦
version 11.0.0~rc3 Β· 6 versions
, in alpine 3.24, centos-stream 10, centos-stream 9, fedora 43, fedora 44, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– dotnet-tool-restore(1) β€” the .NET Documentation glow-up πŸ’–

okay bestie, gather round, because this lil page from the .NET Documentation set is about to become your whole personality 🫢

This article applies to: βœ”οΈ .NET 6 SDK and later versions

✨ NAME ✨

dotnet-tool-restore β€” installs the .NET local tools that are in scope for the current directory. that's it, that's the job πŸ’…


🌸 SYNOPSIS 🌸

dotnet tool restore
    [--configfile <FILE>] [--add-source <SOURCE>]
    [--tool-manifest <PATH_TO_MANIFEST_FILE>] [--disable-parallel]
    [--ignore-failed-sources] [--no-cache] [--interactive]
    [-v|--verbosity <LEVEL>]

dotnet tool restore -h|--help

πŸ¦‹ DESCRIPTION πŸ¦‹

so the way that dotnet tool restore works is: it goes hunting for the tool manifest file that's in scope for wherever you're standing right now (your current directory, bestie), and then it installs every single tool that's listed up in there. no cap. πŸŽ€

if you wanna know more about manifest files, go peek at Install a local tool and Invoke a local tool.

and if you're curious about where your local tools actually live on disk, that's a dotnet tool install situation. πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • --configfile <FILE> β€” the NuGet configuration file (nuget.config) you wanna use. if you pass this, then only the settings from this file get used, periodt. if you don't pass it, it just walks the hierarchy of configuration files starting from the current directory. more deets live in Common NuGet Configurations.
  • --add-source <SOURCE> β€” adds one more NuGet package source to use during installation. heads up: feeds get accessed in parallel, not sequentially in some order of precedence. so if the same package and version is chilling in multiple feeds, the fastest feed wins 🏁. more info in What happens when a NuGet package is installed?.
  • --tool-manifest <PATH> β€” path to the manifest file. that's the whole vibe.
  • --disable-parallel β€” stops it from restoring multiple projects in parallel. one at a time, we're being calm 🧘
  • --ignore-failed-sources β€” treats package source failures as warnings instead of full-on drama. it's giving "we move" 😭
  • --no-cache β€” do not cache packages and http requests. nothing gets saved, it's all fresh every time ✨
  • --interactive β€” lets the command stop and wait for you to do stuff or type stuff. like finishing authentication, for example. it literally waits for you πŸ™ˆ
  • -? | -h | --help β€” prints out a description of how to use the command. your little cheat sheet πŸ“
  • -v | --verbosity <LEVEL> β€” sets the verbosity level of the command. allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. more info at <xref:Microsoft.Build.Framework.LoggerVerbosity>.

🌈 Example 🌈

  • dotnet tool restore

restores local tools for the current directory. iconic behavior, honestly πŸ‘‘


⭐ SEE ALSO ⭐

  • .NET tools
  • Tutorial: Install and use a .NET local tool using the .NET CLI

and that's the whole page, bestie!! this one's from 2025-10-30, and yeah, it's the dotnet-tool-restore(1) manual β€” go restore some tools and slay πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from