# What Is ~/Library/Frameworks on Mac?

> ~/Library/Frameworks holds shared code libraries installed for one user. Most Macs don't have it; when it exists, an installer usually put it there.

- Updated: 2026-10-10
- URL: https://fresh.ist/library/frameworks/

**TL;DR:** ~/Library/Frameworks is the per-user spot for shared code bundles (.framework) that apps or developer tools load at run time. macOS doesn't create it, and most Macs never have one. If it exists, check which installer created it before removing anything, because an app that links a framework from here fails to launch without it.

## Definition

- Full path: `~/Library/Frameworks`
- Scope: user (inside your home 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.

## 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:

| Folder | Who uses it | Typical contents |
| --- | --- | --- |
| `/System/Library/Frameworks` | macOS itself | Apple frameworks, protected |
| `/Library/Frameworks` | All users | Python from python.org, audio and driver SDKs |
| `~/Library/Frameworks` | One user | Rare 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

```bash
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:

```bash
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](/library/audio-plug-ins-components/) and [Input Methods](/library/input-methods/).

## Sources

- [macOS Library Directory Details](https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/MacOSXDirectories/MacOSXDirectories.html), Apple File System Programming Guide
- [Framework Programming Guide: Installing Your Framework](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Tasks/InstallingFrameworks.html), Apple Developer
- [Python on macOS: Using Python on a Mac](https://docs.python.org/3/using/mac.html), Python documentation

## 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.

---

Canonical page: https://fresh.ist/library/frameworks/
Official site: https://fresh.ist/ (fresh.ist only)
Generated: 2026-10-10
