Open-source project
harry0703/MangoDisk avatar
harry0703/MangoDisk

MangoDisk: a Rust and Tauri disk cleaner that scans read-only first

Safety-first disk cleaner and space analyzer for macOS and Windows, with duplicate cleanup, app uninstall, startup management, system optimization, and maintenance.

2,763 stars196 forksRustGPL-3.0

At a glance

What is it?
MangoDisk is a GPL-3.0 desktop cleaner for macOS and Windows built on a Rust core with a Tauri 2 front end. Its selling point is restraint: scans are read-only by default and every deletion is confirmed before it runs.
Who is it for?
MangoDisk suits developers and power users on macOS or Windows who want one tool for caches, build artifacts, duplicate files, and uninstall leftovers, and who value a read-only first scan over maximum aggression. It is the wrong tool if you need scripted, unattended cleanup on servers, because the README describes a desktop application, not a headless service.
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 2 days ago.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

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

DEEP OPEN-SOURCE ANALYSIS

The storage problem MangoDisk targets

The README frames the problem as fragmentation of reclaimable space. Caches, logs, update packages, browser data, container layers, project build directories, and local AI model files all accumulate in different places, and checking each location by hand is slow. MangoDisk groups scan results by reclaimable space so one pass covers system caches, application caches, browser data, developer tools, Xcode data, container caches, project build artifacts, and AI models.

The intended user is a developer or power user on macOS or Windows who has filled a disk and does not want to reason about ten separate cache directories. The README also addresses a second audience: people who want duplicate file cleanup, an application uninstaller, startup item management, and system maintenance in the same window, rather than four separate utilities. The privacy cleanup feature targets browsing history, searches, cookies, recent items, and clipboard data, which puts it in the same category as tools that clear activity traces.

Read-only scanning and the confirmation gate

The README states that MangoDisk scans in read-only mode by default. Before cleanup, deletion, uninstall, or system setting changes begin, the user can review and confirm exactly what will happen, and results are saved to Operation History. That history records how much space was recovered and what completed successfully.

System Optimization is the most constrained feature. According to the README it only uses built-in, validated settings and never accepts arbitrary registry paths, terminal commands, or scripts. After changing a setting, MangoDisk reads it again and flags high-impact items and changes that need administrator access or a restart. This is a deliberate narrowing of scope: a tool that refuses custom commands cannot be extended into a general automation runner, and that refusal is the point.

Duplicate cleanup has a similar guardrail. The README says files are not treated as duplicates merely because they share a name, and smart selection keeps at least one file in every group. The README does not describe the hashing algorithm used for duplicate detection, so the comparison method cannot be confirmed from the documentation alone.

How the Rust core and Tauri 2 shell fit together

The repository is a Rust workspace with a Vue front end. Cargo.toml lists five members: src-tauri, src-tauri/crates/mangodisk-core, src-tauri/crates/mangodisk-cli, src-tauri/crates/mangodisk-platform, and src-tauri/xtask. The workspace pins edition 2021 and rust-version 1.88.0, and the workspace package version is 1.1.1, matching the version field in package.json.

Two profile overrides in Cargo.toml reveal where the authors expect time to be spent. mangodisk-core and mangodisk-platform are compiled at opt-level 2 even in dev builds, and the blake3 crate is compiled at opt-level 3. A comment in the manifest explains the choice: filesystem traversal and content hashing are exercised directly from the desktop development build, so optimizing only those packages keeps UI iteration responsive while preserving debug assertions. The presence of blake3 at opt-level 3 is the strongest available hint that content hashing is on the duplicate detection path, though the README itself does not name the algorithm.

On the front end, package.json defines a private package named mangodisk with type module, a Vite dev server, and a Vue type-check step. The build script runs vue-tsc --build --force, then vite build, then a check-build-output.mjs script. The repository also carries a pnpm workspace file and a Cargo.lock, so both toolchains are locked.

Installing MangoDisk and running a first scan

The README does not include a build-from-source section in the text available here. The releases badge points at the GitHub releases page, and the desktop application is distributed as a release artifact, so the normal path is to download the build for macOS or Windows from that page.

If you want to build the front end yourself, the repository is a pnpm workspace. The package.json scripts give the exact commands. This installs dependencies and starts the Vite dev server:

bash
pnpm install
pnpm dev

The dev server serves the UI, but the Rust side is what performs scanning, so a full desktop build is the realistic route for testing real cleanup behaviour. The build script chains the type check, the Vite build, and an output check:

bash
pnpm build

The Rust workspace uses the toolchain pinned in rust-toolchain.toml. Building the Tauri application from the workspace root compiles the crates listed in Cargo.toml, including mangodisk-core and mangodisk-platform at the elevated dev opt-level. The README does not document a rollback procedure for cleanup operations, so treat Operation History as a record of what happened rather than an undo mechanism, and confirm each item before approving it.

Where MangoDisk is the wrong tool

Three constraints stand out. First, the README describes a desktop application for macOS and Windows. Nothing in the documentation describes a headless mode, a scheduled job runner, or a server deployment, so using it for unattended cleanup on a fleet of machines is outside what the documentation supports. The workspace does contain a mangodisk-cli crate, but the README does not document its interface, flags, or intended use, so its capabilities cannot be assumed.

Second, System Optimization deliberately rejects arbitrary registry paths, terminal commands, and scripts. If your workflow depends on applying a custom registry tweak or running a shell command as part of a cleanup profile, MangoDisk will not do it, by design.

Third, the AI explanations feature is bounded. The README states that official releases include free explanations each day, with the option to connect your own AI service, and that AI offers guidance while the user decides which actions to take. That means explanations are rate limited on the default path and require your own service credentials for heavier use. The README does not specify the daily limit or which providers can be connected.

There is also a licence boundary worth noting: the project is GPL-3.0-only, so redistributing a modified build carries source disclosure obligations.

MangoDisk compared with command line cleaners

The closest alternative in practice is not another GUI cleaner but the command line tools already on the machine: removing cache directories by hand, using a duplicate finder such as fdupes or jdupes, and reading startup entries through the operating system's own settings. The difference in approach is where the safety logic lives. A shell script encodes your assumptions once and runs them without asking; MangoDisk puts the rule set inside the application, scans read-only, and asks for confirmation per operation.

That trade-off cuts both ways. The command line approach is scriptable, auditable, and works over SSH on a headless box, which MangoDisk's documented scope does not cover. MangoDisk is faster to operate for someone who does not want to maintain their own rule list, and it records what it did in Operation History. The cost is that you inherit the project's rule definitions rather than writing your own, and the README states that third-party rules are not accepted into the built-in set. The README text available here is cut off mid-sentence at that point, so the full policy on third-party rules cannot be confirmed.

Release cadence, licence, and what upgrading costs

The last push to the repository was on 2026-09-16, and the most recent release is v1.1.1 from 2026-09-14, preceded by v1.1.0 on 2026-09-09 and v1.0.9 on 2026-09-04. That is a fast patch cadence, with three releases inside two weeks. For an operator, a cadence that tight means the version you install is likely to be superseded within days, and the changelog between patch releases is where you would look for rule changes.

The version string is kept in sync across package.json and the Cargo workspace package section, both at 1.1.1, which reduces the chance of a front end and Rust core mismatch in a self-built binary. The Rust toolchain is pinned to 1.88.0 and pnpm-lock.yaml plus Cargo.lock are committed, so reproducible builds are achievable without guessing dependency versions.

Licensing is GPL-3.0-only per both package.json and Cargo.toml. If you fork MangoDisk and distribute the modified binary, the GPL requires you to make the corresponding source available under the same terms. Internal use without distribution does not trigger that obligation. This is a description of the licence, not legal advice; check with your own counsel if redistribution is planned.

The upgrade cost itself is low for end users: download the newer release. For anyone tracking the repository, the check scripts in package.json (check:rule-sources, check:source-language, check:source-architecture, check:generated-ui, and others) are the gates a change has to pass, so a contribution touching cleanup rules is expected to keep rule sources consistent.

Editorial conclusion

MangoDisk suits developers and power users on macOS or Windows who want one tool for caches, build artifacts, duplicate files, and uninstall leftovers, and who value a read-only first scan over maximum aggression. It is the wrong tool if you need scripted, unattended cleanup on servers, because the README describes a desktop application, not a headless service. Before adopting it, verify the exact release you plan to run on the releases page and read the cleanup rule list in the repository, since the README states that rules ship only after their safety boundaries are defined and validated on real systems.

Frequently asked questions

Is MangoDisk available for Windows as well as macOS?

Yes. The README lists macOS and Windows as supported platforms, and the repository badges mark both as supported. The README does not mention Linux support.

Does MangoDisk delete files without asking?

The README states that MangoDisk scans in read-only mode by default, and that before cleanup, deletion, uninstall, or system setting changes begin, you can review and confirm exactly what will happen. Results are saved to Operation History.

What licence does MangoDisk use?

Both package.json and Cargo.toml declare GPL-3.0-only. The repository also includes a LICENSE file and a SECURITY.md at the top level.

Official sources

  1. harry0703/MangoDisk on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes