Manage Homebrew with Jamf Pro
Use Jamf Pro’s package delivery, policies and inventory to manage Homebrew on enrolled Apple Silicon Macs.
Start with one computer in a Homebrew Pilot group and a reviewed team Brewfile.
Deploy Homebrew and the baseline
- Complete account provisioning and installer configuration in a prerequisite policy.
Verify the account, writable home and
HOMEBREW_PKG_USERconfiguration before assigning the package policy. - Upload the approved Homebrew
.pkgunder Settings > Computer management > Packages. Create a package policy scoped only to pilot devices whose prerequisite checks succeeded. Script priority controls ordering; use policy scope to gate deployment on the prerequisite results. Follow Jamf’s package policy instructions. - Deliver central configuration and the Brewfile. Use an After script for the Brewfile installation job once the files are present.
- Review the policy log and verify the installed owner and version. Require these checks before expanding the policy scope; a package receipt alone is insufficient.
Show update needs in inventory
- Deploy
jqin the baseline and refresh Homebrew metadata in the maintenance policy. -
Add a script computer extension attribute named
Homebrew outdated formulae, with data type String. The script below usesas-brew-userto query the prefix owner’s installation from Jamf’s root job:#!/bin/bash set -o pipefail if count=$(/opt/homebrew/bin/brew as-brew-user outdated --json=v2 | /opt/homebrew/bin/jq -er '.formulae | arrays | length'); then printf '<result>%s</result>\n' "${count}" else printf '<result>unknown</result>\n' fi - Run an inventory update and inspect the device’s attribute.
Expect a count such as
3; a failed command must produceunknown, not0. - Create a Smart Computer Group where the attribute is neither
0norunknown, and a separate group forunknown. Check last inventory time to distinguish current results from stale devices. Retain full inventory, SBOM and vulnerability reports separately; an outdated count is not a security finding. For these shared collection examples, use the same absolute paths andas-brew-userwrapper from Jamf’s root jobs.
Schedule updates and offer approved installations
- Under Computers > Policies, create a policy with the reviewed update job in its Scripts payload. Choose a recurring check-in trigger, execution frequency and pilot scope using Jamf’s script policy controls.
- Add an inventory update after maintenance, inspect failures and expand to the affected group after the pilot succeeds. For security work, follow the scan, select, upgrade and rescan workflow; retain the final scan even when upgrading fails.
- Create a separate policy with a fixed approved installation action and enable Self Service. Test it with a standard user, then refresh inventory.
- Collect large report files through your existing log collection system; Jamf policy logs truncate at 25 KB.
Limit administrator access
- Configure Jamf accounts, groups and privilege sets for inventory readers, deployment operators and script maintainers.
- Test each role with a restricted account, including access to reports and policy scope.
- For multiple customers, use supported site or tenant boundaries and test cross-customer isolation. A Smart Computer Group is not an access-control boundary; see shared administration guidance.