App updates and the server-side catalog
Updated 24 Jun 2026
The App Updates page inventories the apps installed on your PC and uses Windows' built-in winget tool to find which ones have a newer version available — then lets you update them in one click. As everywhere in BRUTAL, if it can't actually check, it tells you so instead of pretending everything is current.
Scanning your apps
- Click Scan. The app builds an inventory from Windows' installed-programs lists, the Microsoft Store (AppX), and Start Menu / Program Files.
- It then asks
wingetwhich of those have an upgrade available, and matches the results back to your installed apps. - Apps with an update available are listed first, then the rest alphabetically.
The badge at the top reflects exactly what happened:
- “N UPDATE(S)” — updates were found.
- “UP TO DATE” — the check ran cleanly and nothing newer was found.
- “COULDN'T CHECK” — winget ran but didn't return a readable result (timed out, blocked, or unrecognizable output). This is not treated as “up to date”.
- “CHECK UNAVAILABLE” — winget isn't installed.
- “NOT SCANNED” — you haven't run a scan yet.
You need winget (App Installer)
App-update detection relies on winget, which ships with Windows' App Installer package. If it's missing, a hint appears with a Get winget button that opens the App Installer page in the Microsoft Store. Install it, then scan again — the app re-probes for winget on each scan, so no restart is needed.
Updating apps
- Tick the apps you want, or use Select All (which selects only the updatable ones).
- Click Update Selected, or use the per-row Update button for a single app.
- Confirm. Each app is updated silently through
winget upgrade, accepting package and source agreements automatically.
Self-updating apps
Some apps (browsers, Discord, etc.) update themselves. The app still shows that a newer version exists, but it won't drive the update through winget — it lets the app manage its own updater, which is the safer choice. Apps published by the Microsoft Store are likewise flagged and best left to the Store.
The server-side catalog (opt-in)
There's an optional update catalog that does version comparison on BRUTAL's server. It's off by default. When you turn it on, the app uploads a hashed inventory (winget IDs, hashed app names, and version strings — never raw names, paths, accounts, or your license key) so the server can catch updates winget's local source missed.
It is purely additive and equally honest: the catalog can only add an update the local scan didn't have — it never hides a winget result and never turns a “couldn't check” into a false “up to date”. If the server can't confirm an app, that app stays as “couldn't verify”. This is part of a broader plan to move detection server-side over time; see Keeping BRUTAL Optimizer itself updated for the related self-update path.
Common issues / troubleshooting
- “Check unavailable”. winget isn't installed — grab App Installer from the Store via the Get winget button.
- An update failed (winget exit code shown). The app is usually running — close it and retry. Some apps also need their own elevation.
- An app has no Update button. It either self-updates or has no usable winget ID; update it from the vendor directly.
- The list looks short after a clean install of winget. winget can take a moment to finish registering its sources — wait a few seconds and scan again.
FAQ
What is winget and why does the app need it?
winget is Microsoft's official command-line package manager, included in the Windows App Installer package. BRUTAL uses it to detect and install app updates. If it's missing, the app shows a Get winget button that opens the App Installer page in the Microsoft Store.
Why does it say “Couldn't check” instead of “Up to date”?
Because winget ran but didn't return a result the app could read — a timeout, a block, or unfamiliar output. Reporting that honestly as “couldn't check” is the whole point; a silent false “up to date” would be the worse outcome.
What does the opt-in catalog send about my PC?
Only a hashed inventory: public winget IDs, hashed app display names, and version strings, plus your already-hashed machine ID. It never sends raw app names, file paths, your username, account email, or license key. It's off by default.
Why can't I update Discord or my browser from here?
Those apps update themselves. The app shows that a newer version exists but lets each app's own updater handle it, which avoids conflicts. Store apps are similarly left to the Microsoft Store.
More in Drivers & Updates
Still stuck?
Email us, and include your app version from Settings.