
mas
A command-line tool for searching, installing and updating Mac App Store apps.
- Stars
- 12.4k
- Forks
- 300
- Licence
- MIT
- Language
- Swift
- Last update
- 7 days ago
- Type
- CLI
What it is
mas is a command-line interface for the Mac App Store, built for scripting and automation. It lets you search the store, list installed apps, check for updates, and install or update apps from the Terminal instead of the App Store window. People use it to automate setting up or maintaining Macs.
- Search the App Store from Terminal with `mas search <term>`
- List installed App Store apps with `mas list`
- Check which apps have updates with `mas outdated`
- Update all outdated apps with `mas update`
- Output app details or search results as JSON for use in scripts
Great for
- Developers who script new Mac setups
- People who manage several Macs and want repeatable app installs
- Users who already use Homebrew and want App Store apps in the same workflow
- Anyone who wants to check or update App Store apps from the Terminal
Not ideal for
- People who only want a graphical App Store experience, since mas is a Terminal tool
- Users on older macOS versions than the README lists as supported (macOS 13+), because support depends on the install provider
- Anyone who needs to buy paid apps from the command line, since the README's paid-app and account notes are only partly covered in the truncated text
How to get it
- 1
Install with a package manager
You'll need: Homebrew (or MacPorts or Nix) installed · macOS 13 or newer (macOS 14+ recommended for Homebrew Core)
Install via Homebrew Core
brew install masInstall via MacPorts
sudo port install mas - 2
Run it
- Install mas with one of the package-manager commands above
- Run `mas version` to confirm it installed
- Run `mas search <term>` to find an app and note its ID
- Run `mas list` to see installed apps
- 3
Get the most out of it
- Use `mas --help` or `man mas` for full command details
- Add `--accurate` to `outdated` or `update` for more precise results, noting it may need an Apple Account
- Use the JSON output options on search, lookup and list in scripts
- Use `mas config` to view current configuration
Downloads
Strengths
- Installs and updates App Store apps without opening the App Store window
- Supports scripting, with JSON output for several commands
- Available through several package managers, including Homebrew, MacPorts and Nix
Trade-offs
- Some commands need an Apple Account signed in and may require root privileges, according to the command table
- The README is truncated, so the full list of limitations and account rules is not visible here
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| mas (this) | 12.4k | CLI | beginner | 7 days ago | Developers who script new Mac setups |
| hammerspoon | 16.4k | App | intermediate | 4 months ago | Mac users comfortable writing small scripts who want custom keyboard shortcuts or window behavior |
| macOS-Security-and-Privacy-Guide | 22.6k | Learning resource | intermediate | 4 days ago | Mac owners who want a checklist of security and privacy settings to work through |
| macos | 21.7k | Dev tool | intermediate | 29 days ago | Developers who need to test software on macOS from a Linux machine |
| nativefier | 35.2k | CLI | beginner | 3.1 years ago | People who want a site like WhatsApp Web or Gmail in its own window |
| atom | 60.7k | App | beginner | 3.8 years ago | Developers who want a desktop code editor they can customize with packages |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.