Windows acting up? Updates that fail, no internet, a slow or crashing PC: WinMedic finds out why and repairs it, so you do not have to reinstall Windows.
It is a single program. Nothing to install, nothing else to download. It only looks until you click Repair, and it creates a restore point first, so you can go back. If Windows will not create one, WinMedic asks before it repairs without it.
WinMedic runs on 64-bit Windows 10 and 11.
With WinGet, which comes with Windows 10 and 11:
winget install SecretLUL.WinMedicOr by hand: download winmedic-<version>.exe from the
latest release and
start it. WinMedic is not code-signed yet, so Windows may warn you the first
time: click More info, then Run anyway.
How to check the download first
- Start WinMedic and confirm the Windows prompt. WinMedic needs administrator rights to check and repair Windows.
- Click Scan now. It takes a minute or two and changes nothing.
- Click Repair. WinMedic fixes what it can and tells you if Windows needs a restart.
WinMedic opens in Easy mode: how your PC is doing, what Repair will do (for example "Frees about 8.4 GB of disk space") and two big buttons. Press F7, or click Advanced mode top right, for Advanced mode: every detail, filters, the logs, and a simulation that shows what a repair would do without doing it.
| Area | What WinMedic looks for |
|---|---|
| System files | Damaged Windows files, the recovery environment, WMI, Start, Settings or the Store not opening, Windows features whose installation was rolled back |
| Windows Update | Stuck update services and download caches, updates that keep failing and why |
| Internet | A switched-off adapter, no IP address from the router (DHCP), name resolution (DNS), dead DNS servers, Winsock, broken proxies |
| Crashes | Blue screens, what changed in the week before they began, the last memory test, program add-ons that crash Explorer |
| Hardware | Processor, memory and PCIe errors Windows has logged |
| Disk | File system errors, drive health, disk and controller errors Windows logged, temporary files |
| Startup | Autostart entries and scheduled tasks that point at deleted programs or keep failing |
| Cleanup | Caches and leftovers that take up space |
| Memory | A switched-off or too small page file |
| Tweaks | Services, Windows system devices, policies and Defender that "tweak" and debloat tools switched off, and which device keeps a service from starting |
| Clock and restart | A wrong clock, a PC that has not been restarted for weeks |
| Devices | Devices that stopped working or have no driver, a stuck print queue |
Exactly what each check looks at and runs is in How WinMedic works.
- Scanning only reads. Nothing changes until you click Repair.
- Before a repair, WinMedic creates a Windows restore point and backs up the registry keys it deletes from or rewrites; those can be rolled back under Settings. Emptying the Recycle Bin or a cache cannot be undone, which is why WinMedic asks you first.
- Repairs that delete something you may want to keep, or need a restart, are never picked for you. You decide on those in Advanced mode.
- WinMedic is open source. Its checks are tested against output captured from real Windows installations, and every change runs a real scan in CI.
WinMedic collects no data and has no telemetry. It goes online only for this:
- Updates: it asks GitHub whether there is a newer version and downloads it when you click Update now. You can turn the check off under Settings. GitHub's privacy statement applies to both.
- Scan: it tests your internet connection by looking up
dns.googleandwww.microsoft.com, and compares your clock withtime.windows.com. It asks the DNS servers and proxies set on your PC whether they answer, and when names do not resolve it pings1.1.1.1by address, to tell a DNS fault from no connection at all. - Repair: DISM takes intact system files from Windows Update, and the
clock is set from
time.windows.com.
WinMedic also runs without its window, for scripts and remote support, from a console started as Administrator:
winmedic --scan # check and print the findings
winmedic --scan --output report.html # ... and save a report (.html, .md or .json)
winmedic --auto-fix # check and repair what is safe to repair
winmedic --dry-run # show each repair and its steps, run nothingThe exit code tells a script how it went: 0 fine, 1 warnings, 2 critical
problems, 3 a repair failed, 7 a check could not run, so the findings are
incomplete. 2 and 3 can also come with an incomplete scan; without --json
the console names each failed module ([X] Module ... failed). Every flag and
code is listed in How WinMedic works.
First click Settings → Remove WinMedic from Windows, or run
winmedic --uninstall. That removes the background scan, if you turned it on.
Then delete winmedic.exe, or run winget uninstall SecretLUL.WinMedic if you
installed it with WinGet.
Your settings and logs stay in %APPDATA%\WinMedic, the registry backups in
%ProgramData%\WinMedic and HKLM\SOFTWARE\WinMedic;
winmedic --uninstall --purge deletes them too.
WinMedic is written in Rust. You need Windows 10 or 11, Rust 1.95 or newer and the MSVC build tools:
git clone https://github.com/SecretLUL/WinMedic.git
cd WinMedic
cargo build --locked --release # creates target\release\winmedic.exeCONTRIBUTING.md explains what CI checks and which parts need extra care. Please report security problems privately, as described in SECURITY.md.
Copyright (c) 2026 Ammar (https://github.com/SecretLUL)
GPL-3.0-only, see LICENSE. Version 0.8.0 and earlier were released under the MIT License.
