Support
Maben Sweep is new, so feedback helps a lot. If something doesn't work, or you have a question about it, email me directly. I read every message and answer myself.
maxbenschop1@gmail.com
If Sweep removed something it shouldn't have, or refuses to clean something it should, include the name of the folder, what the project's row says when you open it, and your macOS version.
Requirements
- Mac
- macOS 13 or later, on Apple silicon or Intel.
- Git
- Needed for automatic cleanup. It comes with Apple's command line tools and with Homebrew.
- Account
- None. There's no Maben account to sign up for.
Questions
How do I install it?
Download the disk image, open it and drag Maben Sweep to your Applications folder. It is signed with my Developer ID and notarized by Apple, so it opens with a double-click. It lives in the menu bar, as a small broom.
What happens the first time I open it?
The Sweep window opens with a Scan my projects button. The first scan only shows what could go: nothing is removed. macOS may ask once whether Sweep may read your Documents folder; it needs that to find the projects in it.
What does it remove?
Folders that a tool created and can create again: dependencies (node_modules, Pods, vendor), build output (.next, dist, build, target, .build) and caches (.turbo, .gradle, .pytest_cache). It knows these for Node, Rust, Swift, CocoaPods, Python, PHP, Go, Gradle, Maven, .NET, Flutter, Elixir, Zig and Haskell. You can switch each of the three kinds off under Cleanup.
What does it never remove?
Anything that isn't on its list of known folders, so your code, .env files, databases and uploads are never candidates. A known folder is also left alone when git tracks even one file inside it, when the file that proves what made it isn't next to it (a node_modules without a package.json), when it is a link to another place, or when it holds a git repository of its own.
What does Asks mean?
The folder can probably be rebuilt, but one check is missing: there is no lockfile, the project isn't in git, or git doesn't ignore the folder. Python environments always ask, because they can hold packages you installed by hand. Sweep never removes these by itself. Open the project's row and click Remove if you want it gone.
How does it decide a project is idle?
It takes the newest of: the last commit on any branch, the last changed file outside the removable folders, git activity such as a checkout or a pull, the last Claude Code or Codex session started in the project, and the last install or build. When that is longer ago than the idle time you set (60 days unless you change it), the project is idle. A project with a program running in it, such as a dev server, is never cleaned.
Will it clean without telling me?
Not unless you choose that. Automatic cleanup is off on a new install. When you turn it on, a project that becomes idle first gets a notification three days ahead, with a Keep button, and the date is shown in the window. You can set the warning to 1, 3 or 7 days, or to none. If notifications are switched off for Sweep in System Settings, the window still shows the date.
Can I get a folder back?
Yes. History lists every cleanup with the command that brings it back, such as npm install or cargo build. Restore opens Terminal and runs it there. Build output without a command comes back the next time you build. Two limits: reinstalling needs an internet connection, and a package that has since been removed from its registry can't be downloaded again. Changes you made by hand inside a dependency folder are lost.
Is it deleted, or moved to the Trash?
Deleted right away by default, so the space is free at once. Under Cleanup you can choose to move folders to the Trash instead; the space is then free when you empty the Trash.
Which folders does it look in?
On a new install: the folders in your home folder that usually hold code and exist on your Mac, such as Developer, Projects, Code, Sites and Documents. Under Folders you can add and remove folders, and list folders it must skip.
Does it need git?
For automatic cleanup, yes. Sweep uses git to check that a folder is ignored and that nothing inside it is tracked. Git comes with Apple's command line tools and with Homebrew. A project that isn't in git still shows up, but everything in it asks first.
Does it send anything anywhere?
No. Its only connection is asking GitHub whether there is a new version, which you can switch off under Cleanup › Updates. There is no account and no analytics. See Privacy.
How do I get a new version?
It updates itself. It asks GitHub for the latest release at start and every 6 hours, checks that the download is signed by Maben and notarized by Apple, and installs it when no scan or cleanup is running. You can switch both off under Cleanup › Updates, and see what changed in the changelog. Your settings and history are kept.
Can I see the code?
Yes. Maben Sweep is open source under the MIT licence, on GitHub. The rules for what may be removed are in Sources/SweepCore/Rules.swift and Safety.swift, with tests for each. Bug reports and ideas are welcome as issues.
How do I remove it?
Quit Maben Sweep from its menu, then drag it from Applications to the Trash. Its settings and history are in ~/Library/Application Support/Maben Sweep; delete that folder too if you want nothing left.