What Is ~/Library/Frameworks on Mac?

Your user folderUpdated

Definition
Full path
  • ~/Library/Frameworks
Scope
Your user folderInside your home folder — one copy per user account.
Freshist & this folder
Freshist checks this folder when uninstalling an app. When you uninstall an app, Freshist looks here for items that belong to it. Matches on the app's bundle ID can be pre-selected; name-only guesses are labeled “not sure” and never pre-selected. Removed items go to the Trash, so you can undo.

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

What a framework is

A framework is a bundle ending in .framework that packages a shared library together with its headers and resources. Apple's own frameworks, such as AppKit, live in /System/Library/Frameworks and are part of macOS. Apple's file system guide says that system folder is "for Apple-provided frameworks only" and that developers "should install their custom frameworks in either the local or user domain."

That gives three possible places on a Mac:

FolderWho uses itTypical contents
/System/Library/FrameworksmacOS itselfApple frameworks, protected
/Library/FrameworksAll usersPython from python.org, audio and driver SDKs
~/Library/FrameworksOne userRare per-user installs, developer tools

Why it's usually missing

Modern Mac apps embed their frameworks inside their own bundle, under Contents/Frameworks, so they don't depend on anything outside. A per-user framework folder appears only when an installer or a developer chose it. We found no such folder on our test Mac, while /Library/Frameworks held a Python framework.

The dynamic linker manual (man dyld) adds a useful detail: for binaries built from late 2023 onward there is no default fallback search path, and for older ones the fallback covers /Library/Frameworks and /System/Library/Frameworks, not your home folder. In practice, anything in ~/Library/Frameworks is used because a specific app was built to look for it there.

Looking at it without changing anything

ls -la ~/Library/Frameworks
du -sh ~/Library/Frameworks/* 2>/dev/null

To find out what a framework is and which version it is, read its bundle info:

plutil -p ~/Library/Frameworks/Name.framework/Resources/Info.plist

Replace Name.framework with the actual name. The bundle identifier usually points straight at the developer.

Removing a framework

Only remove a framework after its owning app is gone, and preferably with that app's uninstaller. If you do it by hand:

  1. Note the framework's bundle ID and developer.
  2. Confirm no installed app from that developer still needs it.
  3. In Finder, choose Go → Go to Folder…, enter ~/Library/Frameworks, and move the framework to the Trash.
  4. Launch any related apps once before emptying the Trash. If one fails with a "Library not loaded" error, put the framework back.

What not to touch

Never try to change /System/Library/Frameworks; it's part of the signed, read-only system volume. Be careful in /Library/Frameworks too, since language runtimes there serve every user and every script that calls them. Code that is loaded by a host app rather than linked, such as audio plug-ins or input methods, lives in other folders: see Audio Units and Input Methods.

Sources

Frequently asked questions

Is it normal that ~/Library/Frameworks doesn't exist?

Yes. Nothing in macOS needs it. Most apps bundle their frameworks inside the app itself, and system-wide ones go in /Library/Frameworks.

Can I delete Python.framework?

The python.org installer puts Python.framework in /Library/Frameworks, not in your home Library. Remove it only with that Python's uninstall steps, and only if nothing you use depends on that Python version.

What's the difference between a framework and a plug-in?

A framework is shared code that an app links to and loads automatically. A plug-in is loaded by a host app on demand. Frameworks break the app that needs them; missing plug-ins usually just disappear from a menu.

Keep reading