CLI script to inventory installed macOS apps across Homebrew, Mac App Store, and local Applications folders.
- Lists Homebrew casks.
- Lists Mac App Store applications when
masis available. - Lists manually installed
.appbundles from/Applicationsand~/Applications. - Optionally includes Homebrew formulae.
- Exports the same canonical inventory to CSV, Markdown, and JSON.
- macOS
- Bash
brewfor Homebrew sectionsmasfor Mac App Store sections
The script does not install dependencies automatically. If a command is not available, the related section is skipped with a warning.
./list-installed-apps.sh [options]--with-formulae: Include Homebrew formulae in the output.--export-csv: Export the inventory toinstalled_apps.csv.--export-md: Export the inventory toinstalled_apps.md.--export-json: Export the inventory toinstalled_apps.json.--output-dir DIR: Write export files intoDIR.--help: Print usage information.
For a reproducible inventory of a mounted volume or a test fixture, set
APPLICATIONS_DIRS to a colon-separated list of folders. When it is unset,
the script scans /Applications and ~/Applications as usual.
All output formats are generated from a single internal inventory model so app names with spaces, Mac App Store entries, and manual-app deduplication stay consistent across console output and exports.
Validation commands:
bash -n list-installed-apps.sh
shellcheck list-installed-apps.sh
./tests/test-list-installed-apps.shThis project is licensed under the MIT License. See LICENSE.