Open-source project
Kami958/WhoShitsonMyC avatar
Kami958/WhoShitsonMyC

WhoShitsOnMyC: a snapshot diff tool for tracking what eats your C: drive

磁盘空间变化对比轻量小工具;A lightweight disk space change comparison tool.

579 stars31 forksPythonGPL-3.0

At a glance

What is it?
WhoShitsOnMyC is a Windows-only snapshot comparison tool that records directory sizes and shows what grew between two scans. It is built for people who clean disk space by hand and want to know which folder refilled.
Who is it for?
Adopt WhoShitsOnMyC if you already manage disk space by hand on Windows 10 or 11 and want a record of which folders grew between two points in time. Skip it if you need cross-platform support, a long-running monitor, or an automated cleanup tool, because the README describes a single-file Windows executable with no daemon and no deletion features.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 7, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem: space disappears between cleanups

Cleanup utilities remove files and then go quiet. Days later the same drive is short again, and the cleanup tool offers another list of items that might be safe to delete. The README frames this as the core frustration: after a cleanup you have no idea which process or directory consumed the space that reappeared. WhoShitsOnMyC targets people who prefer to manage disk space manually rather than trust a cleaner's judgement. Instead of guessing at what is junk, you take a snapshot while the drive is healthy, take another after space drops, and compare the two. The tool reports which paths grew and which are new. It is a measurement instrument, not a cleaner: the README describes no delete action, no scheduled cleanup, and no file removal of any kind. That distinction matters, because it means the tool cannot make a wrong deletion. It can only tell you where to look.

How the snapshot comparison actually works

The workflow is built around two saved snapshots of the same directory. You create a scan by picking a path such as C:\, and the scan walks that tree and records sizes. That result becomes a snapshot on disk. When space drops again, you scan the same directory a second time. In the sidebar you mark the older snapshot as the baseline and the newer one as current, then run the comparison. The result renders as a tree below, with red marking growth and green marking shrinkage. Snapshots live by default in a snapshots folder under %LOCALAPPDATA%\WhoShitsOnMyC, and the settings page can move that location. The scan engine has two knobs that matter. One is thread count, which the README says should be set to 1 when the target directory sits on a mechanical hard drive. The other is an MFT scanning option, which requires administrator rights and may help when scanning a drive root. Running as administrator also lets the scan reach hidden paths, which is why the README recommends it. The comparison itself is a diff over two recorded trees, so any path that was not fully scanned cannot participate and is shown as not comparable.

Install and first scan on Windows

There is no installer. The README points to the Releases page, where the project ships a single exe. Windows 10 or 11 is required, and the interface depends on Microsoft Edge WebView2, which the README says is generally preinstalled on Windows 11 and most Windows 10 systems. If it is missing, the program reports it at startup and opens the download page; install the Evergreen runtime and reopen the program. The README recommends launching as administrator, both for speed when scanning a drive root and for access to hidden paths. From the source tree, the runtime dependency is pywebview, declared in requirements.txt as pywebview>=5.0, and the developer documentation under assets/docs/Designed.md covers running, testing and packaging:

bash
pip install -r requirements.txt
python app.py

Once the window is open, the first real use is a baseline scan. Click the plus button to create a new scan, choose a directory such as C:\, and wait. The README notes that scan time depends on how many files are under the chosen path and on the machine, and gives one data point from the author's laptop: a drive root with roughly a million files on an M.2 SSD took on the order of ten-plus seconds with MFT enabled, varying with machine and cache state. When the scan finishes you have a snapshot. Set it aside as your baseline and do not rescan until the drive loses space again. Then scan the same directory, mark the older snapshot as baseline and the newer as current, and press compare. The settings page exposes the options that change how a scan behaves, listed in the README as scan threads, whether to compress snapshots, whether to attempt MFT, and the snapshot storage directory. If the comparison tree shows a path as not comparable, that path was not scanned completely, usually for permission reasons, and it is excluded from the diff.

Limits, failure modes and when this is the wrong tool

The most concrete limitation is the not-comparable state. Any path the scan could not fully read, typically because of permissions, cannot be compared, so a large change hidden inside such a path will not appear in the tree. The README also addresses the obvious question of why two consecutive scans of the same drive can differ: the two runs may have used different privilege levels, since some paths need administrator rights, or other software may genuinely have written data between the scans. That second explanation is the tool working as intended, but it also means a comparison is only as meaningful as the interval you chose. The platform constraint is absolute: Windows 10 and 11 only, with a WebView2 dependency that can block startup on a machine where the runtime is absent. The tool is also not a monitor. It stores snapshots and compares them on demand; nothing in the README describes a background service or scheduled scan, so you must remember to scan again after space drops. And it will not free a byte. If what you want is an automated cleaner, this is the wrong category of program. There is also an honest note in the README about the project itself: it writes configuration and snapshots to your C: drive under %LOCALAPPDATA%\WhoShitsOnMyC, which the README acknowledges with a joke about adding its own clutter.

How it differs from a disk usage analyzer

Tools such as WinDirStat or WizTree answer a different question: what is big right now. They build a treemap of the current state of a directory and let you drill into it. WhoShitsOnMyC answers what changed since last time, which requires you to have kept an earlier snapshot. The practical difference shows up in the workflow. With a usage analyzer you open the tool after the problem appears and inspect the largest folders, then decide from their names whether they are expected. With snapshot comparison you already hold a record from before the problem, so growth is attributed to a path rather than inferred from size alone. The trade-off runs the other way too. A usage analyzer gives you an answer on the first run; WhoShitsOnMyC gives you nothing useful until you have two snapshots, and its value depends on having taken the baseline while the drive was still healthy. If you never anticipated the problem, you have already lost the chance to take a clean baseline, and the first comparison you make will cover an interval you cannot fully account for. A tool like WizTree also offers a live view of the filesystem, while this project works from stored snapshot files that you import, refresh or open from the sidebar.

Maintenance, storage and the GPL-3.0 licence

The repository is not archived, and the last push was on 2026-09-06, the same day as the v1.1.5 release. Two earlier releases, v1.1.4 and v1.1.3, landed on 2026-08-15 and 2026-08-01, so the release cadence over that window was roughly every two to three weeks. The README states that the tool was developed with a mix of models including grok4.5, fable5, dpskv4 and glm5.x, and that bug reports are handled by sending the code to an AI or by filing an issue rather than through a conventional support channel. That is worth weighing if you need a maintainer to reason about a bug from first principles. There is no versioned upgrade mechanism described: the README says the program is a single exe and that you delete it yourself to remove it, so upgrading means replacing that file. Uninstalling from the settings page clears the configuration and snapshots in the default data directory, but the README explicitly warns that if you migrated the snapshot folder elsewhere, that location must be deleted by hand. On licensing, the project is under GNU GPLv3. If you only run the exe, the usual consideration is that the GPL grants you the right to the source and to redistribute under the same terms; if you intend to embed the code in another product, the copyleft obligations are the thing to read in the LICENSE file. This is a description of the licence, not legal advice.

Editorial conclusion

Adopt WhoShitsOnMyC if you already manage disk space by hand on Windows 10 or 11 and want a record of which folders grew between two points in time. Skip it if you need cross-platform support, a long-running monitor, or an automated cleanup tool, because the README describes a single-file Windows executable with no daemon and no deletion features. Before relying on it, verify that WebView2 is present on the target machine, confirm whether you are running as administrator for both scans, and check where snapshots are stored under %LOCALAPPDATA%\WhoShitsOnMyC since migrated snapshot locations must be deleted manually during uninstall.

Frequently asked questions

What is WhoShitsOnMyC and who is it for?

It is a lightweight disk space change comparison tool for Windows that records directory snapshots and shows which paths grew or shrank between two scans. The README says it is aimed at users who like to manage disk space manually.

How do I install and run WhoShitsOnMyC on Windows?

Download the single exe from the Releases page and run it, preferably as administrator. Windows 10 or 11 is required, and the interface needs Microsoft Edge WebView2, which the README says is usually preinstalled; if it is missing, the program prompts you and opens the download page.

Why do two consecutive scans of the same directory show very different sizes?

The README gives two explanations: the two scans may have run at different privilege levels, since some paths need administrator rights to read, or other software genuinely wrote data between the scans. The comparison tree shows where the difference sits.

Why does a path show as not comparable in WhoShitsOnMyC?

The README states that some paths may not have been scanned completely, for example because of permissions, so they cannot take part in the comparison.

How do I uninstall WhoShitsOnMyC and remove its data?

Use the uninstall entry on the settings page, which clears the configuration and snapshots in the default data directory. The README warns that if you moved the snapshot storage location, that migrated folder still has to be deleted manually, after which you can delete the exe yourself.

Official sources

  1. Issues
  2. Kami958/WhoShitsonMyC on GitHub
  3. License: GPL-3.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/kami958-whoshitsonmyc.svg)](https://hysenlabs.com/projects/kami958-whoshitsonmyc)