Mole: A Terminal Toolkit for Mac Cleanup, Uninstall, and Monitoring
Terminal toolkit for macOS that deep-cleans caches and leftovers, fully uninstalls apps, maps disk usage, and shows live CPU, GPU, memory, and network stats.
At a glance
- What is it?
- Mole is a free, open-source CLI that combines cleaning, app uninstallation, disk analysis, optimization, and system monitoring into a single binary. It is built for macOS and offers a native app as a paid alternative.
- Who is it for?
- Adopt Mole if you are a macOS user who prefers terminal workflows and wants a single tool for cleanup, uninstall, disk analysis, and monitoring without paying for a commercial app. Do not adopt it if you need a GUI, run Windows as your primary OS, or require guaranteed support for older macOS versions.
- 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 1 day ago.
- What is it written in?
- Mainly Shell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Mole Solves and Who It Targets
Mole addresses a common pain point for macOS users: system maintenance scattered across multiple tools. The README claims it combines the functions of CleanMyMac, AppCleaner, DaisyDisk, and iStat Menus into a single binary. That is a bold claim, but the feature list supports it: deep cleaning, smart uninstall, disk visualization, and live monitoring. The target audience is clear. It is for developers and power users who live in the terminal and want to avoid GUI apps. The project also offers a native Mac app for those who prefer a graphical interface, but the CLI remains free and open source. The primary language is Shell, which means the tool is lightweight and scriptable, but it also means it depends on macOS system commands and may have platform-specific quirks.
The Mechanism: A Single Binary with Subcommands
Mole works as a single binary named `mo`. The README shows that you invoke different subcommands to trigger specific actions. For example, `mo clean` performs deep cleanup, `mo uninstall` removes apps and their leftovers, `mo optimize` refreshes caches and services, and `mo status` shows a live system health dashboard. The data flow is straightforward: each subcommand scans predefined locations, evaluates what is safe to change, and then acts. The tool tracks cleanup activity in `~/Library/Logs/mole/operations.log`, which you can review with `mo history`. This logging is a concrete mechanism for accountability. The whitelist feature, managed via `mo clean --whitelist`, persists in `~/.config/mole/whitelist`, which shows that user preferences are stored in a predictable location. The tool also supports `--dry-run` for previewing actions, which is a critical safety feature.
Getting Mole Running: Install and First Commands
The primary installation method is Homebrew: `brew install mole`. If Homebrew does not support your macOS version, the README offers a script: `curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash`. The script installs to `/usr/local/bin` by default, which may require an administrator password. To avoid future password prompts for `mo update`, you can install into a user-owned directory: `mkdir -p "$HOME/.local/bin"` and then run the script with `--prefix "$HOME/.local/bin"`. You must add that directory to your `PATH` in `~/.zshrc`. The README also notes that `latest` is a legacy alias for `main`, which installs unreleased code, not the newest stable release. This is a potential trap for users who assume `latest` means stable. For stable releases, you should pass a specific tag like `1.51.0` to the install script.
Safety Features and the Dry-Run Workflow
Mole can delete files, so the README emphasizes safety. It validates paths, protects shared and system-owned locations, and asks for confirmation when needed. If Mole cannot prove an item is safe to change, it skips or refuses it. The `--dry-run` flag is available for `clean`, `uninstall`, `optimize`, `purge`, and `installer` commands. This allows you to preview what would happen without making changes. The `--debug` flag adds detailed logs to the dry run. The README also mentions `SECURITY.md` and `SECURITY_AUDIT.md` for reporting guidance and current limitations. This is a genuine effort to address the risk of data loss. However, the tool's safety depends on its heuristics. If the heuristics are wrong, it could skip files that are safe to remove or, worse, remove files that should be kept. The documentation does not specify the exact validation rules, so users must trust the implementation.
Limitations: Windows Is Experimental and Cleanup Is Conservative
Mole is built for macOS. An experimental Windows version exists on a separate branch, but the README does not describe its maturity. If you are on Windows, this is not a production-ready tool. Even on macOS, the cleanup is conservative by design. The README shows examples like `pnpm cache · skipped (pnpm busy)`, which indicates that Mole skips items when it detects they are in use. This is safe but may leave more data than you expect. The tool also protects system-owned locations, so it will not clean everything. For users who want aggressive cleanup, this could be frustrating. Another limitation is that `mo uninstall` only removes files it can tie back to the app. If an app leaves remnants in obscure locations, Mole may miss them. The documentation states that `mo clean` handles leftovers from already-uninstalled apps, but the coverage is not exhaustive.
Alternative Tools and Different Approaches
The most direct alternative is the native Mole for Mac app, which is paid but offers a GUI with VoiceOver support. The CLI is free, but the app provides a visual disk map and live status in a more accessible format. Another alternative is to use separate open-source tools for each task. For example, you could use `ncdu` for disk analysis, `brew cleanup` for package caches, and `top` or `htop` for monitoring. The difference is that these tools are not integrated, so you must manage multiple commands and outputs. Mole's advantage is consolidation, but the trade-off is that it may not be as deep as specialized tools. For instance, `ncdu` gives you a detailed interactive disk usage view, while `mo analyze` moves items to Trash after confirmation, which is a different interaction model. The choice depends on whether you value integration over specialization.
Maintenance, Upgrades, and License Implications
Mole is under active development, with releases like V1.52.0 in August 2026. The install script supports updating to a specific tag or the `main` branch. The `mo update` command is mentioned, but the README does not detail how it works. The project is licensed under GPL-3.0, which means if you modify and distribute it, you must share your changes under the same license. This is important for commercial use. The native app is a separate product with a license that covers 2 Macs and includes lifetime updates. The CLI is free, so you can use it without payment, but the GPL applies. The maintenance cost is low for the CLI: you need to run `mo update` periodically to get fixes and new features. The project's activity suggests it is well-maintained, but the dependence on a single maintainer (tw93) is a risk. If the maintainer stops, the tool may stagnate.
Editorial conclusion
Adopt Mole if you are a macOS user who prefers terminal workflows and wants a single tool for cleanup, uninstall, disk analysis, and monitoring without paying for a commercial app. Do not adopt it if you need a GUI, run Windows as your primary OS, or require guaranteed support for older macOS versions. Before using it, verify the safety boundaries in SECURITY.md and SECURITY_AUDIT.md, and always run commands like `mo clean --dry-run` first. The project is actively maintained, with a recent release in August 2026, but the experimental Windows branch means cross-platform users should wait for stable support.
Community notes