What Is /private/var/db/receipts on Mac?

System (root-owned)Updated

Definition
Full path
  • /private/var/db/receipts
Scope
System (root-owned)Shared by every account on the Mac and owned by macOS (root).
Freshist & this folder
Freshist checks this folder when uninstalling an app. When you uninstall an app, Freshist only considers items directly inside this folder whose name matches the app's bundle ID. They're never pre-selected, and because the folder is owned by macOS (root), selected items are deleted permanently by Freshist's signed helper rather than moved to the Trash.

From Freshist's own cleaning rules — the same catalog the app uses.

The Mac's record of installed packages

When you install software from a .pkg file, the macOS Installer writes two files into /private/var/db/receipts (also reachable as /var/db/receipts, because /var is a link to /private/var):

  • <package ID>.plist: the package ID, version, install date and the volume it went to.
  • <package ID>.bom: a bill of materials listing every file and folder the package installed, with permissions and checksums.

Apple's system updates, the Command Line Tools, many App Store apps and most third-party installers all leave receipts. Drag-and-drop apps from a disk image don't, because no installer runs.

Why receipts are useful

Receipts are the most reliable map of where a package put its files, and that list is what you need when uninstalling software that came as a .pkg. A package can spread files across /Library, /usr/local and elsewhere; the .bom file remembers all of them.

CommandWhat it shows
pkgutil --pkgsEvery package ID with a receipt
pkgutil --pkgs='com\.example.*'Package IDs matching a pattern
pkgutil --pkg-info com.example.pkgVersion, install location and date
pkgutil --files com.example.pkgEvery path the package installed
pkgutil --file-info /path/to/fileWhich package installed a given file

All of these only read. Package IDs often don't match the app's bundle ID; a vendor might use com.example.pkg.Tool for an app identified as com.example.Tool, so search by vendor name if the first pattern finds nothing.

Removing a receipt the right way

A receipt is only a record. Removing it before removing the software leaves the files on disk with no list of where they are. The order that works:

  1. Run the vendor's uninstaller if there is one.
  2. Otherwise use pkgutil --files <package ID> to see what was installed, and remove the software's files and background items (see LaunchDaemons and PrivilegedHelperTools).
  3. Then remove the receipt with Apple's own command:
sudo pkgutil --forget com.example.pkg

--forget discards the receipt data, the .plist and .bom, without touching any installed files. Don't forget receipts whose IDs start with com.apple.pkg.; macOS and Apple's installers use them to track system components and updates.

How Freshist fits in

Like the other system folders, Freshist only considers receipts here whose names match the uninstalled app's bundle ID, as summarized in the facts box. Receipts filed under a different package ID are left for you to review with pkgutil. For the rest of an app's traces, see uninstalling apps completely, and /safety/ explains how Freshist treats folders owned by macOS.

Inspecting the folder directly

ls -la /private/var/db/receipts | head -40
du -sh /private/var/db/receipts

Neither command changes anything. Finder hides /private, so use Go → Go to Folder… and enter /private/var/db/receipts if you prefer browsing.

Sources

Frequently asked questions

Will deleting receipts free up much space?

Usually tens to a couple of hundred megabytes in total. Large apps like Xcode or office suites have the biggest .bom files, at tens of megabytes each. Leftovers from removed software are worth clearing for tidiness, not for space.

Can a missing receipt cause problems?

Sometimes. Some installers check for an existing receipt to decide whether to upgrade or do a fresh install, and pkgutil can no longer tell you which files a package installed. Only remove receipts for software you've already uninstalled.

Why do I see receipts for apps I installed from the App Store?

The App Store installs apps as packages too, so many of them get a receipt here, often with AppStore in the package ID. This is separate from the purchase receipt stored inside the app.

Keep reading