Quick guide
The short answer
Use the App Store for App Store apps and Homebrew for apps it manages. Other apps may have Check for Updates, a separate developer updater, or a download on the developer's website. Start with the app's own instructions if you are unsure.
The six common update sources
| Source | Where to check |
|---|---|
| Mac App Store | App Store > Updates |
| Homebrew | brew list --cask, then brew outdated --cask |
| Sparkle | Check for Updates inside the app |
| Developer update tools | Tools such as Microsoft AutoUpdate or Adobe Creative Cloud |
| Direct downloads | The developer's official website |
| Other built-in updaters | The app's update menu or settings |
These are common patterns, not a guarantee that every app fits neatly into one group.
Apps from the Mac App Store
Open the App Store and choose Updates. Apps you installed there use your Apple Account and the store's update system.
A separate download from a developer's website can be a different copy of the same product. Do not replace the App Store copy unless the developer explains how to switch.
Apps installed with Homebrew
Homebrew keeps a list of the apps it manages. Open Terminal and run:
brew list --cask
If the app is listed, follow the Homebrew update guide. A matching app name in Homebrew's catalog is not enough; it needs to manage your installed copy.
Apps that use Sparkle
Sparkle is an updater built into many apps from developer websites. You usually use it by choosing Check for Updates inside the app.
You do not need to read its update feed to use it. The Sparkle guide explains the steps and common problems.
Apps with a developer's update tool
Some developers use one tool for several apps. For example, Microsoft AutoUpdate handles supported Microsoft apps, and Creative Cloud handles Adobe apps.
Use that tool when the developer recommends it. Replacing one app by hand can miss shared files or services the installer needs to update.
Apps updated from a website
Some apps do not have their own updater. Visit the developer's official site and follow the installation steps for the newer version.
Save a copy before replacing the app directly. Back up important files separately, and do not ignore macOS security warnings.
Other built-in update menus
An app can have Check for Updates without using Sparkle. The command may open its own installer or take you to a release page.
Follow that app's instructions. Missing a Sparkle feed does not mean the app has no updater.
When an app has more than one updater
A Homebrew app can also have a built-in updater. A developer can offer both App Store and website versions.
Check which copy you installed before switching tools. Avoid creating a second copy or forcing one updater to replace another's app.
macCurrent finds updates across several sources and installs supported updates. It labels each source and shows the action to take. Direct describes where the app came from; it does not promise automatic installation. Read which update sources macCurrent supports.
Optional checks for experienced users
Check an App Store receipt or Sparkle feed
An App Store receipt is a clue about how the app was installed. Replace AppName.app with the actual name:
ls "/Applications/AppName.app/Contents/_MASReceipt"
Some Sparkle apps store their feed address in SUFeedURL:
defaults read "/Applications/AppName.app/Contents/Info.plist" SUFeedURL
These checks are clues, not a complete test. Some apps set their feed in code. Use the installed app's menu and the developer's instructions to confirm the update method.
Developer packages and language runtimes
macCurrent also checks and updates eligible Python packages, standalone Go tools, global npm packages, Rust/Cargo tools and global Composer/PHP tools. Each installation keeps its environment or owning manager. See the developer package overview for the supported actions and Python runtime guide for Python.org installers.
Frequently asked questions
Why does an update's source matter?
It tells you which tool to use. The App Store, Homebrew, and developer updaters do not all manage the same installed apps.
Can one app have more than one updater?
Yes. A Homebrew app may also update itself. Check which copy you installed and avoid forcing a different updater to replace it.
Does every Check for Updates menu use Sparkle?
No. Some apps use their own updater. Follow the app's instructions either way.
Can Homebrew take over an app I installed myself?
Sometimes, but that is a separate migration. Its --adopt option requires an identical app, not just a matching version name.
What does Direct mean in macCurrent?
It means the app was distributed outside the App Store and Homebrew. The available update action can still vary by app.
Related macCurrent guides
- Developer package update coverage
- Python package updates
- Update Python on a Mac
- Go command-line tool updates
- How to update Mac apps safely from every source
- Homebrew vs Mac App Store updates compared
- Is it safe to auto-update Mac apps?
- Homebrew cask updates for Mac apps
- Sparkle app updater on Mac: feeds and signatures
- Mac app update fragmentation report
- Browse all Mac app update guides