Help us improve
Share bugs, ideas, or general feedback.
From dotnet-skills
Installs .NET tools to PATH from local source, NuGet packages, or GitHub/git repos, with subcommands for listing, removing, updating, searching, and diagnosing installed tools.
npx claudepluginhub richlander/dotnet-skills --plugin dotnet-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-skills:dotnet-installThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Install .NET executables to PATH — like `cargo install`
Installing or managing .NET tools. Global, local, manifests, restore, version pinning.
Installs, upgrades, lists .NET tools via aliases (ef, coverage, stryker) with local manifests for reproducibility and global options.
Installs .NET SDK and configures NuGet proxy authentication in Claude Code web sessions. Enables dotnet restore, build, run, new, and fixes 401/407 proxy errors.
Share bugs, ideas, or general feedback.
Install .NET executables to PATH — like cargo install
and go install. Build from source, install from NuGet,
or clone from GitHub.
Each source requires an explicit flag. With no arguments,
dotnet-install in a directory with a project builds and
installs it (like dotnet publish). With nothing to act on,
it prints help.
# Local project (default — works like dotnet publish)
dotnet-install # current directory
dotnet-install src/my-tool # positional path
dotnet-install --project src/my-tool # explicit (like dotnet run --project)
dotnet-install app.cs # file-based app
# NuGet package (no SDK required)
dotnet-install --package dotnetsay
dotnet-install --package dotnet-counters@9.0.0 # pinned version
# GitHub repository
dotnet-install --github owner/repo # tracks default branch, updatable
dotnet-install --github owner/repo --branch main # tracks branch, updatable
dotnet-install --github owner/repo --tag v2.0 # pinned, no updates
dotnet-install --github owner/repo --rev abc123 # pinned, no updates
dotnet-install --github owner/repo@v2.0 # shorthand, pinned
dotnet-install --github owner/repo --ssh # clone via SSH
# Any git URL
dotnet-install --git https://example.com/repo.git
dotnet-install --git https://example.com/repo.git --tag v1.0
--path is an alias for --project. When combined with
--github or --git, --project specifies a sub-path
within the cloned repository.
| Flag | Pinned | Example |
|---|---|---|
| (none) | no | default branch, tracks upstream |
--branch | no | named branch, tracks upstream |
--tag | yes | fixed tag, no updates |
--rev | yes | fixed commit SHA, no updates |
@ref | yes | shorthand in --github spec |
Pinned installs are skipped by dotnet-install update.
To change versions, uninstall and reinstall.
dotnet-install ls # list installed tools
dotnet-install rm <tool> # remove a tool
dotnet-install update [tool] # update one or all tools
dotnet-install search <query> # search NuGet
dotnet-install info <tool> # show tool details
dotnet-install outdated # check for newer versions
dotnet-install run <pkg> [args] # run without installing
dotnet-install doctor # diagnose PATH and config
dotnet-install env # print environment info
dotnet-install completion <sh> # shell completion setup
Tools are installed to ~/.dotnet/bin/ by default.
Override with DOTNET_TOOL_BIN env var, -o <dir>,
or --local-bin (uses ~/.local/bin/).
dotnet-install uses a dedicated env file (~/.dotnet/bin/env)
that is sourced from the shell's rc file. Run
dotnet-install doctor --fix to configure PATH automatically.
To activate in the current shell without restarting:
. "$HOME/.dotnet/bin/env" # sh/bash/zsh
source "$HOME/.dotnet/bin/env.fish" # fish
--tag, --rev, @ref) are
immutable. update skips them and reports the
pinned ref. Changing versions requires an explicit
uninstall and reinstall.--package works without the SDK.--require-sourcelink enforces SourceLink metadata
in installed assemblies.