v3.0.17 Β· MIT
soap
A macOS CLI that removes an app and all its leftover files β preferences, caches, containers, launch agents, and more.
npm install -g @kud/soap-cli
v3.0.17
Latest
40+
Dirs Scanned
macOS
Platform
MIT
Licence
Why soap
Features
Everything AppCleaner does, but open-source and terminal-native. No GUI, no drag-and-drop β just a single command.
Deep Directory Scan
Scans 40+ macOS locations including Application Support, Caches,
Containers, Preferences, LaunchAgents, and more β nothing gets
left behind.
Homebrew Integration
Resolves app metadata from
brew info and fetches
the cask's zap stanza β the maintainer-curated list of known
leftover paths.
Safe by Default
Files are moved to Trash, never permanently deleted. A full
checkbox list lets you deselect anything you want to keep before
anything moves.
Cask & Path Mode
Works with Homebrew cask names (
soap spotify) or
direct app paths (soap '/Applications/Spotify.app')
for manually installed apps.
Bundle ID Awareness
Derives the bundle identifier from the app and also scans vendor
subdirectories (e.g.
com.spotify.client) that a
simple name-match would miss.
Debug Mode
Set
SOAP_DEBUG=1 to enable verbose subprocess
output and trace every command that runs under the hood.
Get going fast
Quick Start
Install once, then pass any Homebrew cask name or app path. soap handles the rest interactively.
# Install globally via npm
npm install -g @kud/soap-cli
# Or via Homebrew
brew install kud/tap/soap-cli
# Remove Spotify and all its leftover files
soap spotify
Welcome to soap π§Ό, the app cleaner.
β Fetching cask infoβ¦
β Scanning for filesβ¦
βΉ Cleaning: Spotify
βΉ Mode: cask (spotify)
? Found 11 files. Select what to move to Trash:
β /Users/kud/Library/Application Support/Spotify
β /Users/kud/Library/Caches/com.spotify.client
β /Users/kud/Library/Preferences/com.spotify.client.plist
β /Users/kud/Library/Saved Application State/com.spotify.client.savedState
β /Users/kud/Library/Logs/Spotify
? Run `brew uninstall --zap spotify`? Yes
β Moved 11 file(s) to Trash.
β Done.
# For a manually installed app (no cask)
soap '/Applications/Android Studio.app'
Commands
CLI Reference
The soap command accepts a Homebrew cask name, a direct
app path, or a flag.
soap <cask-name>
Clean an app installed via Homebrew cask. Resolves app info,
scans 40+ directories, fetches the zap stanza, and presents a
checkbox list before moving anything to Trash.
soap <path-to-app>
Clean a manually installed .app bundle (e.g. from a DMG). Skips
the Homebrew step β scans by app name and bundle ID only.
soap --help
Show usage information and available options.
SOAP_DEBUG=1 soap <name>
Enable verbose debug output β prints every subprocess command
that runs so you can trace exactly what soap is doing.