dotnet-tool-update(1)
β¨ NAME β¨
dotnet-tool-update β Updates the specified .NET tool on your machine. π
That's the whole vibe. One tool, freshly updated, no cap.
This article applies to: βοΈ .NET 6 SDK and later versions
Oh and pookie, this is dotnet-tool-update(1) from the .NET Documentation set, so you know it's official official. π
πΈ SYNOPSIS πΈ
dotnet tool update <PACKAGE_ID> -g|--global
[--add-source <SOURCE>] [--all] [--allow-downgrade]
[--configfile <FILE>]
[--disable-parallel] [--framework <FRAMEWORK>]
[--ignore-failed-sources] [--interactive]
[--no-cache] [--prerelease]
[-v|--verbosity <LEVEL>] [--version <VERSION>]
dotnet tool update <PACKAGE_ID> --tool-path <PATH>
[--add-source <SOURCE>] [--all] [--allow-downgrade]
[--configfile <FILE>]
[--disable-parallel] [--framework <FRAMEWORK>]
[--ignore-failed-sources] [--interactive]
[--no-cache] [--prerelease]
[-v|--verbosity <LEVEL>] [--version <VERSION>]
dotnet tool update <PACKAGE_ID> --local
[--add-source <SOURCE>] [--all] [--allow-downgrade]
[--configfile <FILE>]
[--disable-parallel] [--framework <FRAMEWORK>]
[--ignore-failed-sources] [--interactive]
[--no-cache] [--prerelease]
[--tool-manifest <PATH>]
[-v|--verbosity <LEVEL>] [--version <VERSION>]
dotnet tool update -h|--help
π DESCRIPTION π
Okay so bestie, dotnet tool update is literally your tool's glow-up appointment. β¨ It gives you a way to update .NET tools on your machine to the latest stable version of the package. The way it works is kinda dramatic: it uninstalls and reinstalls a tool, which effectively updates it. Main character energy, honestly.
To use the command, you specify one of these options:
- To update a global tool that was installed in the default location, use the
--globaloption π - To update a global tool that was installed in a custom location, use the
--tool-pathoption π¦ - To update a local tool, use the
--localoption πΈ
π ARGUMENTS π
PACKAGE_ID
Name/ID of the NuGet package that contains the .NET global tool to update. Not sure what it's called? You can find the package name using the dotnet tool list command. iykyk π«Ά
π OPTIONS π
--add-source <SOURCE>β Adds an additional NuGet package source to use during installation. Heads up though: feeds are accessed in parallel, not sequentially in some order of precedence. So if the same package and version lives in multiple feeds, the fastest feed wins. Race condition but make it β¨fashionβ¨. For more information, see What happens when a NuGet package is installed?.--allβ Update all tools. Every single one. Periodt.--allow-downgradeβ Allow package downgrade when installing or updating a .NET tool package. This suppresses the warning, βThe requested version x.x.x is lower than existing version x.x.x.β Going backwards, on purpose, unbothered. π--configfile <FILE>β The NuGet configuration file (nuget.config) to use. If specified, only the settings from this file will be used β no mixing, no blending. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see Common NuGet Configurations.--disable-parallelβ Prevent restoring multiple projects in parallel. One at a time, we're being calm today. π§--framework <FRAMEWORK>β Specifies the target framework to update the tool for.-g|--globalβ Specifies that the update is for a user-wide tool. Canβt be combined with the--tool-pathoption β pick a lane bestie. Omitting both--globaland--tool-pathspecifies that the tool to be updated is a local tool.-?|-h|--helpβ Prints out a description of how to use the command. When in doubt, ask for help, that's self-care. π--ignore-failed-sourcesβ Treat package source failures as warnings. Failed source? Not a crisis, just a lil note. π--interactiveβ Allows the command to stop and wait for user input or action. For example, to complete authentication. It'll just sit there patiently waiting for you, like a good friend. π«Ά--localβ Update the tool and the local tool manifest. Canβt be combined with the--globaloption or the--tool-pathoption.--no-cacheβ Do not cache packages and HTTP requests. Fresh every time, no leftovers. π--prereleaseβ Include prerelease versions. Living on the edge, we respect it. π₯--tool-manifest <PATH>β Path to the manifest file.--tool-path <PATH>β Specifies the location where the global tool is installed.PATHcan be absolute or relative. Canβt be combined with the--globaloption. Omitting both--globaland--tool-pathspecifies that the tool to be updated is a local tool.-v|--verbosity <LEVEL>β Sets the verbosity level of the command. Allowed values areq[uiet],m[inimal],n[ormal],d[etailed], anddiag[nostic]. For more information, see<xref:Microsoft.Build.Framework.LoggerVerbosity>. (Yes the shorthand in brackets is legit, you can typeqorquiet, either eats. π )--version <VERSION>β The version range of the tool package to update to. β οΈ This cannot be used to downgrade versions, you must uninstall newer versions first. No sneaky backwards sliding.
Starting in .NET 8.0, --version Major.Minor.Patch refers to a specific major.minor.patch version, including unlisted versions. To get the latest version of a certain major.minor version instead, use --version Major.Minor.*.
π EXAMPLES π
dotnet tool update -g dotnetsay
Updates the dotnetsay (https://www.nuget.org/packages/dotnetsay/) global tool.
dotnet tool update dotnetsay --tool-path c:\global-tools
Updates the dotnetsay (https://www.nuget.org/packages/dotnetsay/) global tool located in a specific Windows directory. πͺ
dotnet tool update dotnetsay --tool-path ~/bin
Updates the dotnetsay (https://www.nuget.org/packages/dotnetsay/) global tool located in a specific Linux/macOS directory. π§π
dotnet tool update dotnetsay
Updates the dotnetsay (https://www.nuget.org/packages/dotnetsay/) local tool installed for the current directory.
dotnet tool update -g dotnetsay --version 2.0.*
Updates the dotnetsay (https://www.nuget.org/packages/dotnetsay/) global tool to the latest patch version, with a major version of 2, and a minor version of 0.
dotnet tool update -g dotnetsay --version (2.0.*,2.1.4)
Updates the dotnetsay (https://www.nuget.org/packages/dotnetsay/) global tool to the lowest version within the specified range (> 2.0.0 && < 2.1.4), version 2.1.0 would be installed. For more information on semantic versioning ranges, see NuGet packaging version ranges.
π¦ SEE ALSO π¦
- .NET tools
- Semantic versioning (
https://semver.org) - Tutorial: Install and use a .NET global tool using the .NET CLI
- Tutorial: Install and use a .NET local tool using the .NET CLI
And that's the whole page, bestie β go forth and update something. π
This was dotnet-tool-update(1) straight from the .NET Documentation crew, dated 2025-10-30. Slay, bye! πβ¨π
π¦ 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