pin specific application versions with winget to prevent unwanted upgrades in automated provisioning scripts

domain: learn.microsoft.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Pin an app to its currently installed version with `winget pin add --id <PackageId>` so it's excluded from `winget upgrade --all`.
  2. Block all upgrades entirely (including manually targeted ones) with `winget pin add --id <PackageId> --blocking`.
  3. Pin to a version range using a wildcard as the last version component, e.g. `winget pin add --id <PackageId> --version 1.2.*`, to gate upgrades to a minor-version range.
  4. List currently pinned packages with `winget pin list`, and remove a pin with `winget pin remove --id <PackageId>` when upgrades should resume.
  5. Override a blocking pin for a one-off manual upgrade with `winget upgrade --id <PackageId> --force`.

Known gotchas

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans