Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › Developer Tools

How to install and update open-source developer tools on Windows with WinGet

By Freedom251 Team · · 10 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Microsoft WinGet from PowerShell, Windows Terminal, or Command Prompt to find a package, confirm its exact identifier, install it, and keep it current. For a dependable workflow, install by exact ID (for example, Git.Git), select the intended source when necessary, preview upgrades before applying them, and use --all only after understanding its exclusions.

What WinGet does and which Windows versions support it

WinGet is Microsoft’s open-source command-line client for discovering, installing, upgrading, removing, and configuring applications. It is available on Windows 10, Windows 11, and Windows Server 2025 according to Microsoft’s WinGet overview. You can run it from PowerShell, Windows Terminal, or Command Prompt.

As an Amazon Associate I earn from qualifying purchases.

WinGet is a package-management interface, not a guarantee that every package is open source. The package’s own license and publisher remain the authority on whether a developer tool is open source. WinGet gives you a consistent way to locate and maintain the software.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The safest pattern is to separate discovery from installation: search broadly, verify the result and source, then install with the exact package ID. The same principle applies to updates. Preview the packages WinGet recognizes, then choose a targeted upgrade or a controlled all-packages run.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Prepare before installing a tool

Confirm that the command is available

Open one of these shells:

  • PowerShell
  • Windows Terminal
  • Command Prompt

Run:

winget

If WinGet displays its help and command list, the client is available in that shell. If Windows reports that the command is not recognized, check that your Windows edition and installation include WinGet, then open a fresh terminal after making any system changes. The supported operating-system scope documented by Microsoft is Windows 10, Windows 11, and Windows Server 2025.

Know what you are trying to install

Have the tool’s name and, ideally, its package ID ready. Names are convenient for searching but can match several results. An exact ID identifies the package WinGet should install and makes a script less dependent on display-name matching.

Review the source you intend to use

WinGet can be configured with multiple sources. When more than one source contains a similar result, specifying the source in the install command prevents an accidental choice. Use only sources you trust, because adding a source changes which packages WinGet can discover and install.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install an open-source developer tool step by step

1. Search for the package

Search for the tool by name from the terminal. A broad query may return more than one package, publisher, or source. Read the result list rather than selecting the first line automatically.

winget search Git

If the query does not resolve to one application, WinGet presents results that you can refine. Compare the displayed package ID, publisher, and source with the project you actually intend to use. This check matters for developer tools with similarly named packages or multiple distribution channels.

2. Install using the exact ID and source

Microsoft’s documented Git example uses the exact ID, the exact-match switch, and the WinGet Community Repository source:

winget install --id Git.Git -e --source winget

Here, --id Git.Git supplies the package identifier, -e requests an exact match, and --source winget selects the source named winget. Replace the ID only after verifying the result for your chosen tool. Package IDs and availability can change as manifests are updated, so check the current search result when you install a new machine.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

3. Install several known packages in sequence

When you already have verified IDs, WinGet can accept multiple package IDs in one install command and install them serially. This is useful for a new development workstation, but review every ID before running the command because one incorrect identifier can stop or alter the intended setup.

Keep the command explicit about the source when your configuration contains more than one source. For interactive work, watch each installer rather than assuming every package uses the same installer behavior.

4. Handle package and source agreements

Some installations display a package agreement, and the source may present a separate source agreement. Both are distinct. WinGet does not proceed when you decline a required agreement.

Read the terms in an interactive installation and accept them only when they match your organization’s policy. For deliberate automation, Microsoft documents --accept-package-agreements to suppress package-agreement prompts:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
winget install --id Git.Git -e --source winget --accept-package-agreements

This switch does not automatically settle a separate source agreement. Treat non-interactive acceptance as an explicit policy decision, not a default shortcut for a personal installation.

5. Installing from a local YAML manifest

WinGet supports local YAML manifests, but local-manifest installation must first be enabled by an administrator in WinGet settings. If you are following a project or internal setup document that supplies a manifest, ask an administrator to enable that capability before attempting the install. Do not assume a manifest can be installed merely because the file is present on disk.

Understand WinGet’s default sources

Microsoft documents three default sources:

Source Catalog Typical role
msstore Microsoft Store catalog Applications distributed through the Microsoft Store
winget WinGet Community Repository Applications represented in the community repository, including many developer tools
winget-font Community fonts Font packages rather than general applications

Use:

winget source list

to see the sources configured on your machine. If a source is stale or its catalog has changed, refresh it with:

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord | 6.35mm Jack, Durable Design, Stage and Home Studio Use, Low Noise Shielded Electric Cord for Bass, Keyboard, Amp, Mixer
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
winget source update

A source can require an agreement before it is used. WinGet may show those terms again if the source terms change or the source is reset. Adding a third-party source requires administrator privileges and changes the trust boundary of your package manager; do not add one casually. Verify who operates it, what packages it serves, and how your organization will review updates before enabling it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Update one tool safely

Preview available upgrades first

Run the upgrade command with no package argument:

winget upgrade

WinGet lists applications for which it recognizes an available upgrade. Use this list as a review step. Check that the displayed package is the developer tool you expect and note any package whose installed version or source looks unusual.

Upgrade a selected package by ID

For a controlled change, target one package and use an exact match:

winget upgrade --id Git.Git -e

Targeted upgrades are appropriate when you need to validate a tool before changing the rest of a development environment, or when a project depends on a known version range. The command asks WinGet to locate the package by ID and exact match rather than by a broad display-name query.

Attempt every recognized upgrade

To attempt all available upgrades, run:

winget upgrade --all

This command attempts packages for which WinGet finds an available update; it is not a promise that every installed application will be changed. Two documented conditions commonly explain omissions:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • A package whose installed version cannot be identified may require --include-unknown.
  • A pinned package can be excluded unless you use the appropriate option to include pinned packages.

Review the output after an all-packages run. A package can remain unchanged because no update was found, its version is unknown, it is pinned, an agreement was not accepted, or its installer returned an error.

Account for installer-specific behavior

Upgrade behavior depends on the package and its installer. Microsoft notes that an upgrade may or may not remove the previous version, depending on how that installer handles replacement. If a tool appears twice afterward, or if an upgrade leaves an older installation behind, inspect that package’s installer behavior and the application’s own uninstall guidance instead of deleting files manually.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Make a repeatable developer-machine setup

Export the package list

WinGet’s export/import workflow can record the applications on one machine and recreate the environment on another. Export the package list to a JSON file:

winget export -o developer-tools.json

The exported JSON describes package identifiers and their sources, with versions optional. Keep the file under version control only if your team’s handling rules allow it; it can reveal the software inventory of a machine even though it does not contain application binaries.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Inspect the JSON before sharing it

Check each identifier and source in the file. Remove entries that are not part of the intended developer baseline, and decide whether recording a specific version is useful for your project. A version pin can improve reproducibility but also prevents the setup from naturally following newer releases until you deliberately update the file.

Import on the replacement machine

Restore the package list with:

winget import -i developer-tools.json

WinGet processes imported packages serially. That means one package can complete before the next begins, and you should read the output for each item. An import can encounter a package that is unavailable from the listed source, has changed identifiers, needs an agreement, or cannot be matched to an installed version. Resolve those entries individually rather than treating a partial import as a complete environment rebuild.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choose the right command for the situation

Situation Safer choice Reason
You know the package identity install --id ... -e or upgrade --id ... -e Exact matching reduces ambiguity.
Several sources contain similar results Add --source with the verified source name The command does not have to choose between catalogs.
You are checking what can be updated winget upgrade It previews recognized upgrades without requesting every update.
You want broad maintenance winget upgrade --all, followed by output review It attempts available updates but excludes some unknown-version and pinned cases.
You are writing an unattended script Use exact IDs and deliberate agreement switches Scripts need deterministic matching and an explicit policy for terms.
You are rebuilding a workstation Export and import a JSON package list The package identifiers and sources can be shared and restored serially.

Troubleshoot the common failure modes

The search returns several packages

Do not install from an ambiguous name query. Compare the IDs, publisher information, and source in the results. Rerun the installation with --id, -e, and, when needed, --source. If you cannot establish which result belongs to the project, stop and verify the project’s official distribution information before installing.

WinGet asks for an agreement

Read the package terms and source terms separately. Declining a required agreement prevents the installation from proceeding. In automation, add --accept-package-agreements only after deciding that the package terms are acceptable; remember that source agreements are separate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

An installed package is missing from the upgrade list

First run winget upgrade again and inspect the package’s displayed state. If WinGet cannot identify the installed version, an all-packages run may require --include-unknown. If the package is pinned, an include-pinned option may be necessary. If no newer manifest is available, WinGet has nothing to upgrade even though the developer tool may have a release elsewhere.

The source cannot be queried or appears outdated

Run winget source list to confirm that the expected source exists, then use winget source update. If the source was reset, expect its agreement to be shown again. Do not solve a source problem by adding an unfamiliar third-party catalog without evaluating its ownership and package trust.

An upgrade leaves an old version behind

WinGet delegates installation and replacement behavior to the package’s installer. Microsoft documents that some installers remove the previous version while others do not. Check the package’s documented uninstall process and avoid deleting installation directories manually until you know which instance is active.

An imported package does not install

Because imports run serially, identify the exact entry that failed. Verify that its source is still configured, the package ID still resolves, and any required agreement can be handled under your policy. A JSON list is a set of instructions, not a frozen copy of the installers; catalogs and manifests can change after the file was created.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use WinGet responsibly in scripts and team workflows

Make matching deterministic

Store exact package IDs in scripts and setup documentation. A display name can produce multiple results as sources evolve, while an ID-and-source combination states what the script is intended to install. Recheck IDs periodically because package manifests and availability can change.

Separate source trust from package selection

Record the source alongside each package in a machine baseline. Review source changes as carefully as package changes: adding a catalog can introduce new software choices, and resetting a source can require accepting its terms again.

Keep automation explicit about agreements

Interactive commands let a person read terms at the terminal. Non-interactive commands should document why package agreements are accepted and how source agreements are handled. Do not hide agreement decisions in a generic bootstrap script that users cannot inspect.

Review broad upgrades as a change set

Use winget upgrade as the inventory step, then decide whether to upgrade selected IDs or attempt --all. For a production or shared development machine, record the date, package IDs, and any exclusions reported by WinGet so a later failure can be traced to a specific installer or unknown-version condition.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A practical maintenance routine

  1. Open PowerShell, Windows Terminal, or Command Prompt and confirm that winget responds.
  2. Run winget source list and confirm that the expected catalogs are configured.
  3. Use winget source update when a catalog needs refreshing.
  4. Run winget upgrade and review the recognized updates.
  5. Upgrade critical tools individually by exact ID.
  6. Use winget upgrade --all only when the remaining exclusions and installer behavior are acceptable.
  7. Read the resulting output and address unknown versions, pinned packages, agreements, or installer errors.
  8. Periodically export the intended tool set to JSON so a replacement machine can be rebuilt from a reviewed package list.

What this workflow can and cannot guarantee

WinGet provides a repeatable command surface and package identity model, but it cannot make every installer behave identically. It cannot update a package when no matching upgrade is available, and it may need extra options for unknown installed versions or pinned packages. A source can change, a manifest can be revised, and an installer can retain an older version. Treat the command output as the authoritative result of each run and keep your package IDs, sources, and agreement choices explicit.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Developer Toolsopen source softwarePackage ManagementPowerShellWindowsWinGet

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.