Changelog
- Clean leaves what is still in use:
mo cleanno longer deletes__pycache__,.dart_tool, Flutterbuild/or.next/cachefolders that Git tracks or that hold another repository, keeps the DiagnosticReports folder so crash reports still save, and no longer asks for your password later once you skip admin access at the start. - One slow tool no longer ends the clean: When
go cleantimes out or an npm cache command fails, Mole skips that step and keeps going, and Ctrl-C during Homebrew, bun, simctl or tart cleanup now stops the whole clean right away. - Faster clean and purge: Large files measures its rows in parallel and now shows the big Simulator and DerivedData folders it used to miss, and a purge dry run over a large projects folder dropped from about 27 s to 12 s.
- Dry run matches the real clean:
mo clean --dry-runlists every Trash item the real run empties, and browser code-signature clones no longer inflate the reclaimable total. - Uninstall list opens faster:
mo uninstallshows its list without the blank pause (about 0.9 s instead of 1.6 s on a Mac with 37 apps) and no longer rescans every installer receipt on the first run each hour. S and O sort by name before sizes load, and/search matches spaces and punctuation as typed. - Uninstall keeps data a second copy still uses: Removing a Beta or Nightly build next to the stable app keeps the data they share, and the summary says once why that data stayed.
- Update notices only for real releases: After an interactive command, Mole mentions a new version only after it is published, and looks it up about once a day.
- Optimize leaves your VPN alone:
mo optimizeskips the DNS flush while a VPN is connected, so WireGuard-style clients stop reconnecting, and login item checks stopped by permissions or a time limit show as unavailable instead of failed. - History groups each run:
mo historykeeps a run's actions together even when runs overlap or one was cut short, and a file name can no longer fake an entry. - Homebrew leftovers on one line:
mo cleanlists unused Homebrew dependencies on one line with thebrew autoremovecommand, and still leaves removing them to you. - Nix support: Mole can be installed, upgraded and removed with Nix on macOS.
更新日志
- 清理时不动还在用的东西:Git 跟踪着的、或者里面还套着仓库的
__pycache__、.dart_tool、Flutterbuild/和.next/cache不再被删,DiagnosticReports 目录本身会留着,崩溃报告也就能正常写进去,开头跳过管理员权限后,后面也不会再找你要密码。 - 一个工具卡住不会拖垮整轮清理:
go clean超时或者 npm 缓存命令报错时,Mole 只跳过这一步接着清,清 Homebrew、bun、simctl 和 tart 时按 Ctrl-C 也能马上停下来。 - clean 和 purge 快了不少:Large files 改成并行测量,以前漏掉的大块 Simulator 和 DerivedData 目录也能显示出来,对一个大项目目录做 purge 预览从 27 秒左右降到 12 秒。
- 预览和真清理对得上了:
mo clean --dry-run会列出真清理时要清空的每一项废纸篓内容,浏览器代码签名克隆也不会再把可回收空间算大。 - 卸载列表出得更快:
mo uninstall出列表前不再白屏,一台装了 37 个 App 的 Mac 上从 1.6 秒降到 0.9 秒左右,每小时第一次打开也不用重扫一遍安装包回执,S 和 O 在大小还没算完时就能按名字排序,/搜索时空格和标点照原样匹配。 - 卸载时留下另一个版本还在用的数据:卸载和正式版并存的 Beta 或 Nightly 时,两者共用的数据会留着,汇总里只说一次为什么留下。
- 只提示真正发布了的新版本:交互式命令跑完后,有正式发布的新版本才会提示,大约一天查一次。
- 优化时不碰 VPN:VPN 连着时
mo optimize会跳过 DNS 缓存刷新,WireGuard 这类客户端不用每次都重连,登录项检查因为权限或超时没跑完时,显示为不可用而不是失败。 - 历史记录按每一轮分好:
mo history会把同一轮的操作放在一起,几轮重叠或者中途被打断也不会混,文件名也没法再伪造出一条记录。 - Homebrew 多余依赖只占一行:
mo clean把可以移除的 Homebrew 依赖合成一行,附上要跑的brew autoremove,删不删还是你来定。 - 支持 Nix:现在可以在 macOS 上用 Nix 安装、升级和卸载 Mole。
Thanks
Issue reporters and PR contributors this cycle: @cdeil · @Yuxin-Qiao · @M-Hassan-Raza · @md786-dotcom · @HaraldNordgren · @lylythechosenone · @devcsb · @jgreen417 · @fhello23 · @timonwong · @dhjo70 · @Pimzino.
Mole Mac App
If you would rather work in a window than a terminal, Mole Mac App covers cleaning, app removal, maintenance, disk analysis and live status, shows everything before it deletes, and adds tools in the menu bar. It costs $19 once, with free updates and a 14-day refund, and you can download it here. The CLI stays free and open source.