| title | Fallout.GlobalTool → Fallout.Cli |
|---|---|
| description | Migrating from the renamed Fallout CLI NuGet package. Short guide — the command name didn't change, just the package ID. |
| draft | true |
In v11, the dotnet-tool NuGet package id was renamed: Fallout.GlobalTool → Fallout.Cli. The command name stays fallout, so build scripts and shell invocations don't change. The only thing that moves is the install/restore reference.
If you've never installed
Fallout.GlobalTool, you don't need this page — installFallout.Clidirectly per the Install section in the README.
Global install:
dotnet tool uninstall -g Fallout.GlobalTool
dotnet tool install -g Fallout.CliLocal manifest (.config/dotnet-tools.json): open the file, replace the fallout.globaltool entry with fallout.cli, restore.
{
"version": 1,
"isRoot": true,
"tools": {
- "fallout.globaltool": {
+ "fallout.cli": {
"version": "11.0.0",
"commands": [ "fallout" ]
}
}
}dotnet tool restoreThat's it. fallout :setup, fallout Compile, etc. all work unchanged because the command name (fallout) is the same.
dotnet tool install Fallout.Cli is easier to type and remember than dotnet tool install Fallout.GlobalTool. The "GlobalTool" suffix was a NUKE-era artefact distinguishing the dotnet-tool wrapper from the framework libraries — but every consumer's first encounter with the tool is at install-time, and Fallout.Cli is what they reach for naturally.
The change is purely cosmetic at the NuGet metadata layer. No source-level API changed; the C# namespace inside the tool moved from Fallout.GlobalTool.* to Fallout.Cli.* but those types are internal so external consumers never referenced them.
| Package | Last published | Status |
|---|---|---|
Fallout.GlobalTool |
10.3.40 |
Frozen on nuget.org. Unlisted as part of the v11 semver cleanup (see #220). Existing installs keep working; dotnet tool update won't find newer versions. |
Fallout.Cli |
11.0.x (current) |
Active. Receives all future tool releases. |
The 10.3.41 through 10.3.47 patch releases of Fallout.Cli are also unlisted — they shipped under a patch number that hid breaking changes, fixed by the v11 major bump. Pin to 11.0.0 or later.
dotnet tool uninstall -g Fallout.GlobalTool
dotnet tool install -g Fallout.Clidotnet tool list -g confirms only Fallout.Cli remains. The fallout command on your PATH now resolves to the renamed package.
Edit the manifest, replace fallout.globaltool with fallout.cli (both the key and any references). Bump the version pin to the current Fallout.Cli release (11.0.x and above).
dotnet tool restoreConfirm with dotnet tool list — the fallout.cli row should appear, the fallout.globaltool row should not.
Nothing to do. The shims call dotnet fallout "$@" — they look up the command by name, not by package ID, and dotnet tool restore resolves whatever your manifest pins.
If your repo is still on the old fat bootstrappers (with the BUILD_PROJECT_FILE config block + explicit dotnet build + dotnet run --project), those don't depend on the global tool at all and keep working unchanged. To adopt the new shape, re-run fallout :setup --force after upgrading. See the v11 CHANGELOG entry for #204 for what the new shape looks like.
Update the workflow's dotnet tool restore step's manifest to reference fallout.cli. The actual dotnet fallout <target> lines stay identical.
The package is unlisted but still downloadable if you have an explicit pin in your manifest. You can keep running on 10.3.40 indefinitely. When you're ready to upgrade, follow the steps above — there is no required intermediate step. Fallout.GlobalTool 10.3.40 and Fallout.Cli 11.0.0 are the same code-base; the only consequential difference is the package ID and the semver-correct breaking changes that have accumulated.
- #206 — the rename PR.
- #210 — README install section + the prompt to uninstall old CLI.
- #220 — the v11 semver-policy bump that catalysed unlisting the 10.3.41-47 range.
from-nuke.md— if you're also migrating from NUKE, do that first; this guide is downstream of it.