Peel
Uninstall Mac apps completely, and see why every file belongs to them.
A free, open source uninstaller and cleaner for macOS, which also fine-tunes your Mac and sets up Terminal.
Install
[!CAUTION]
Peel is published in one place only: this repository,
github.com/TuguiDragos/Peel. Download it from its
releases or with the Homebrew command below, which installs
the same release. My only websites are tuguidragos.com and Peel's page,
peel.tuguidragos.com, whose downloads lead here. Any other site, download page, or
store offering Peel is not mine, and what it gives you may not be the app I build and sign. Peel is free, so anyone
asking you to pay for it is not me. Please download it only from here.
> The Homebrew command below is the only command that installs Peel, so a website that asks you to paste anything else
into Terminal to get Peel is not mine. Every copy I release is signed by my team, 6R6J264YA2, and
codesign -dv /Applications/Peel.app 2>&1 | grep TeamIdentifier shows it.
Requirements: macOS Tahoe 26 or later, on any Mac that runs it: every Mac with Apple silicon, and the few Intel Macs from 2019 and 2020 that Apple lists for macOS 26. Peel moves your files, and each version of macOS moves where apps keep theirs: macOS 26, for one, gives an app's list of recent documents a new name. So I test every release myself before it ships, on macOS 26 and every version since, which is why it starts at macOS 26 and won't open on an older one.
Download
- Download
Peel-from the latest release..dmg - Open it and drag Peel into your Applications folder.
- Open Peel. It's signed by its developer and notarized by Apple, so it opens like any app you download from
Homebrew
brew install --cask tuguidragos/tap/peel
Homebrew also puts the peel command on your path, with its manual page and shell completions.
Updates
To update Peel, choose Check for Updates in the Peel menu. While Check for app updates is on, Peel also looks once a
day, and About Peel says when a new version is out. Peel shows what is new and installs the update only when you
choose, once it has checked that the update is signed as Peel's. A copy Homebrew installed updates the same way, and
brew upgrade --cask peel updates it too.
What Peel does
Dragging an app to the Trash leaves pieces of it behind: caches, settings, containers, launch agents, and support files scattered across your Library, sometimes gigabytes of them. Peel finds what an app left, tells you why each file belongs to it and how sure it is, and moves what you choose to the Trash. Nothing of yours is deleted without asking first, and History puts back what went to the Trash.
- Uninstall apps completely: the app and every file it left, each with the
- Free up disk space: what apps you removed left behind, caches of developer tools,
- Look after your Mac: background items, extensions, plug-ins, installer receipts,
- Fine-tune your Mac: settings macOS already has, many of them out of sight, each
- Set up Terminal: dark themes built on Apple's Clear Dark, a prompt, and settings
- Stay in control: History puts back what Peel moved, and Exclusions name what Peel
- Work your way: export what's installed, open a tool from Shortcuts or the menu bar,
peel command.
Peel is free and open source, and it speaks English and 17 other languages. GUIDE.md shows what each tool does, what Peel asks for and why, and how to remove Peel.
Safe by design
A cleaner should never cost you something you wanted. Peel is built around that.
- The Trash, never deletion. Everything Peel removes goes to the Trash, and History puts it back where it was.
- Protected places stay protected. Peel refuses to move iCloud Drive and anything else that syncs to your other
- Nothing shared, nothing unknown. A file another app also uses is never selected for you. A folder Peel
- Every decision explained. When Peel holds a file back, the row says why, and each item is checked once more
SAFETY.md lists everything Peel protects, and ARCHITECTURE.md shows how a removal travels through the code.
Privacy
Peel sends no analytics and has no account. PRIVACY.md says when Peel goes online, what it sends, and every address Peel or Homebrew may contact.
The peel command
The command ships inside the app. Settings > General shows the Terminal command that puts it on your path, and a
Homebrew install puts it there for you. GUIDE.md says how it asks before it moves
anything, and peel help lists every option. With a Homebrew install, man peel does too.
All commands
| Command | What it does |
|---|---|
| peel apps | Lists installed apps. |
| peel inventory | Writes out what is installed and where each app came from, as text, JSON, CSV, or a Brewfile. |
| peel leftovers | Shows the files an app leaves behind, and why each one belongs to it. |
| peel uninstall | Moves an app and its leftovers to the Trash, and takes its icon out of the Dock unless --keep-in-dock is given. --reset-privacy also clears the permissions macOS gave it. |
| peel orphans | Lists files left by apps that are no longer installed. --remove moves one group. |
| peel caches | Lists the caches of developer tools. --remove moves the ones Peel suggests. |
| peel projects | Lists what builds left in your projects. --remove moves the ones Peel suggests. |
| peel duplicates [folders] | Finds files and folders with identical contents. --remove keeps one copy of each and moves the rest. |
| peel search | Searches Spotlight by name, kind, or size, and by age along with one of them. |
| peel updates | Checks your apps for updates. |
| peel history | Lists what Peel moved to the Trash, from the app and from Terminal alike. --refused lists what it was asked to move and wouldn't, and why. |
| peel restore | Puts one of those removals back. |
| peel exclusions | Shows what Peel leaves alone. add and remove change it. |
Frequently asked questions
How do I completely uninstall an app on a Mac?
Open Peel, choose the app under Applications, look over what Peel found, and click Move to Trash. The app and its leftovers go to the Trash together, and History can put them back. You can also Control-click the app in Finder and choose Uninstall with Peel, once the Finder extension is on in System Settings.
Can Peel delete something I need?
Peel moves files to the Trash instead of deleting them, and History can put them back while they are still there (it keeps the latest 20,000 items). What can't be undone, such as Homebrew's own uninstall, Peel names before you confirm it. Peel selects for you only what it is sure, or nearly sure, belongs to the app, never a file another app uses, and refuses to touch places like iCloud Drive, your keychains, Mail, Messages, and photo libraries.
Does Peel collect any data?
No. Peel has no analytics and no account. It goes online only to check your apps, and itself, for updates, which you can turn off, to download a new Peel when you choose to install it, and when you ask Homebrew to do something. PRIVACY.md says what each of those sends, and where.
Does Peel work on Intel Macs and older versions of macOS?
Peel runs on macOS Tahoe 26 or later, on any Mac that runs it: every Mac with Apple silicon, and the few Intel Macs from 2019 and 2020 that Apple lists for macOS 26. It doesn't run on earlier versions of macOS: each version moves where apps keep their files, so I test every release myself before it ships, on macOS 26 and every version since.
Peel's helper keeps waiting for approval. What can I do?
macOS keeps a background item's approval by its developer and its identifier, so a record left by an earlier copy of Peel can keep the helper waiting even while Login Items & Extensions in System Settings shows Peel turned on. If Peel's Settings > Helper still asks you to allow Peel, run this in Terminal, then restart your Mac, as Apple's deployment guide recommends:
sudo sfltool resetbtm
It resets the login and background item data of every app, not only Peel's, so other apps may ask for approval again.
Build it yourself
You need macOS Tahoe 26 or later, Xcode 27 (Swift 6.4), and a team to sign with, even a free one. First build Sparkle,
which updates Peel, from its source with zsh Scripts/build_sparkle.sh. Then open Peel.xcodeproj, choose your team
for Peel, PeelHelper, PeelFinder, and PeelCLI under Signing & Capabilities, and run the Peel scheme. Or, from Terminal,
with your own team ID:
zsh Scripts/build_sparkle.sh
xcodebuild -project Peel.xcodeproj -scheme Peel -configuration Debug -destination "platform=macOS,arch=$(uname -m)" \
-derivedDataPath build/DerivedData DEVELOPMENT_TEAM=YOUR_TEAM_ID build
swift test --package-path Packages/PeelCore -Xswiftc -warnings-as-errors
The helper starts only as the team named in Support/com.tuguidragos.Peel.Helper.plist, so to install the helper
you build, put your team there as well. ARCHITECTURE.md explains how Peel is put together, and
CONTRIBUTING.md what a change needs.
Contributing
Bug reports, ideas, and pull requests are welcome.
- Found a bug? Report it. Have an idea? Suggest it in
- Want to change Peel? CONTRIBUTING.md says how to start, and AGENTS.md holds the
- Found a security problem? Please report it privately, as SECURITY.md describes, and not in a
- Everyone taking part is expected to follow the Code of Conduct.
Thank you
Peel would never have existed without the work, the generosity, and the ideas of others. To each of you, thank you with all my heart.
- blobatar, by Alain, for the animations that bring Peel's face to life:
- Swift Argument Parser, by Apple, which every
peelcommand is
- Sparkle, by the Sparkle Project, which updates Peel and checks that
- AppCleaner, by FreeMacSoft, and
- Every contributor to this project, for your time,
Without you, this project would never have been possible. I bow to you all. ❤️
License
Peel is free software under the GNU General Public License, version 3 or later. You may use, study, change, and share it. If you share a changed version, it has to carry the same freedoms: nobody can take Peel, close it, and sell it as their own.
Copyright (C) 2026 Țugui Dragoș-Constantin
Peel moves the files it removes to the Trash, and History can put them back. As the GPL states, it comes with no warranty, to the extent the law allows.
swift-argument-parser is by Apple Inc. under the Apache License 2.0, and Sparkle, which updates Peel, is by the
Sparkle Project under the MIT License. The motion of the face at the head of the sidebar is ported from
blobatar, by Alain, under the MIT License. These licenses ship inside the app
and are kept in Peel/Licenses/.
More from Țugui Dragoș
Tapetum, my free theme pack for VS Code and the editors built on it, on the Visual Studio Marketplace and Open VSX: 58 themes in 28 families, each in dark and light, plus a high contrast pair for Coherence, with every color placed by hand and its contrast measured on the surface it sits on.