Built-in rules
OpenDisk ships 61 rules for macOS. This page is generated from core/rules/macos.yaml, the same file that is compiled into the app, so it is always up to date.
Paths are relative to your home folder (~). * matches anything inside one folder level and {a,b} matches either name. See Safety model for what each safety level means.
AI models
GPT4All models review
Local language models downloaded by GPT4All (often 4-8 GB each). You can download them again from the app's model list. Quit GPT4All first.
- Rule id:
gpt4all-models - Paths:
~/Library/Application Support/nomic.ai/GPT4All/*.{gguf,bin} - Processes that must not run:
GPT4Allchat
Ollama models review
All models pulled with `ollama pull`. Removing them means downloading again (`ollama pull <model>`). To remove a single model use `ollama rm <model>`.
- Rule id:
ollama-models - Paths:
~/.ollama/models - Apps that must be closed:
com.electron.ollama - Processes that must not run:
ollama
LM Studio models review
Models downloaded in LM Studio, one folder per model. They can be downloaded again from LM Studio's Discover tab. Quit LM Studio first.
- Rule id:
lmstudio-models - Paths:
~/.lmstudio/models/*/*~/.cache/lm-studio/models/*/* - Apps that must be closed:
ai.elementlabs.lmstudio
Hugging Face model cache review
Models and tokenizers downloaded by transformers, diffusers and the huggingface_hub library (`models--org--name`). They are downloaded again the next time a script loads them, which can take a while for large models.
- Rule id:
huggingface-hub - Paths:
~/.cache/huggingface/hub/*~/.cache/huggingface/xet
Hugging Face datasets cache review
Datasets downloaded and preprocessed by the `datasets` library. They are downloaded and processed again when a script loads them.
- Rule id:
huggingface-datasets - Paths:
~/.cache/huggingface/datasets/*
PyTorch hub cache review
Pretrained weights downloaded by torch.hub and torchvision. PyTorch downloads them again when a model asks for them.
- Rule id:
torch-hub - Paths:
~/.cache/torch/*
Whisper models review
Speech recognition models downloaded by openai-whisper. They are downloaded again on first use.
- Rule id:
whisper-models - Paths:
~/.cache/whisper/*
Xcode & simulators
Xcode DerivedData regenerable
Intermediate build products and indexes. Xcode rebuilds them on the next build (the first build after cleaning is slower). Quit Xcode first.
- Rule id:
xcode-derived-data - Paths:
~/Library/Developer/Xcode/DerivedData/* - Apps that must be closed:
com.apple.dt.Xcode
Xcode archives review
Archived app builds, including the dSYM files needed to symbolicate crash reports of released versions. Keep the ones for builds still in the wild.
- Rule id:
xcode-archives - Paths:
~/Library/Developer/Xcode/Archives/*
Xcode device support files regenerable
Debug symbols copied from every device OS version you have connected. Xcode copies them again the next time you connect a device with that version.
- Rule id:
xcode-device-support - Paths:
~/Library/Developer/Xcode/{iOS,watchOS,tvOS,visionOS} DeviceSupport/* - Apps that must be closed:
com.apple.dt.Xcode
SwiftUI previews cache regenerable
Simulator devices and data used by SwiftUI previews, and Xcode's documentation cache. Xcode recreates them when needed.
- Rule id:
xcode-previews - Paths:
~/Library/Developer/Xcode/UserData/Previews/*~/Library/Developer/Xcode/DocumentationCache/* - Apps that must be closed:
com.apple.dt.Xcode
Xcode cache regenerable
Xcode's general cache (downloads metadata, compiled asset catalogs). Xcode rebuilds it. Quit Xcode first.
- Rule id:
xcode-cache - Paths:
~/Library/Caches/com.apple.dt.Xcode - Apps that must be closed:
com.apple.dt.Xcode
iOS simulators review
Simulator devices and the apps and data installed in them. OpenDisk runs `xcrun simctl delete unavailable`, which only removes simulators whose runtime is gone; delete others from Xcode > Devices and Simulators.
- Rule id:
simulator-devices - Paths:
~/Library/Developer/CoreSimulator/Devices - Cleans with
xcrun simctl delete unavailable: Deletes only the simulators whose OS runtime is no longer installed.
Simulator caches regenerable
Dyld shared caches built for simulator runtimes. The simulator rebuilds them when it boots a device.
- Rule id:
simulator-caches - Paths:
~/Library/Developer/CoreSimulator/Caches/* - Apps that must be closed:
com.apple.iphonesimulator
Swift Package Manager cache regenerable
Cloned package repositories and downloaded artifacts. SwiftPM fetches them again when resolving packages.
- Rule id:
swiftpm-cache - Paths:
~/Library/Caches/org.swift.swiftpm
CocoaPods cache regenerable
Downloaded pod sources and specs. `pod install` downloads them again.
- Rule id:
cocoapods-cache - Paths:
~/Library/Caches/CocoaPods
Carthage cache regenerable
Cloned dependencies and prebuilt binaries cached by Carthage. They are fetched again on the next `carthage bootstrap`.
- Rule id:
carthage-cache - Paths:
~/Library/Caches/org.carthage.CarthageKit
JavaScript
npm cache regenerable
Every package tarball npm has downloaded, plus npx installs and logs. Projects keep working; npm downloads packages again when needed (same as `npm cache clean --force`).
- Rule id:
npm-cache - Paths:
~/.npm/_cacache~/.npm/_npx~/.npm/_logs
Yarn cache regenerable
Package archives cached by Yarn classic and Yarn Berry. Yarn downloads them again on the next install.
- Rule id:
yarn-cache - Paths:
~/Library/Caches/Yarn~/.yarn/berry/cache
pnpm store regenerable
pnpm's content-addressed store. node_modules folders hardlink into it, so deleting it frees less than shown until projects reinstall. `pnpm store prune` removes only unreferenced packages.
- Rule id:
pnpm-store - Paths:
~/Library/pnpm/store~/.local/share/pnpm/store~/.pnpm-store - Cleans with
pnpm store prune: Removes only packages no project references any more.
Bun cache regenerable
Packages cached by `bun install`. Bun downloads them again when needed.
- Rule id:
bun-cache - Paths:
~/.bun/install/cache
node-gyp headers regenerable
Node.js headers downloaded to compile native addons. node-gyp downloads them again for the next native build.
- Rule id:
node-gyp-cache - Paths:
~/Library/Caches/node-gyp~/.node-gyp
nvm download cache regenerable
Node.js tarballs nvm downloaded while installing versions. Installed Node versions are not affected.
- Rule id:
nvm-cache - Paths:
~/.nvm/.cache
JavaScript tooling caches regenerable
Caches of Deno, the TypeScript language service, Electron and electron-builder downloads. Each tool downloads or rebuilds them on demand.
- Rule id:
js-tooling-caches - Paths:
~/Library/Caches/deno~/Library/Caches/typescript~/Library/Caches/electron~/Library/Caches/electron-builder
Browser testing downloads regenerable
Browser builds downloaded by Playwright, Cypress and Puppeteer. Run `npx playwright install` (or reinstall Cypress/Puppeteer) to get them back.
- Rule id:
browser-test-runtimes - Paths:
~/Library/Caches/ms-playwright~/Library/Caches/Cypress~/.cache/puppeteer
Java & Android
Gradle caches regenerable
Downloaded dependencies, build cache and daemon logs. Gradle downloads what it needs on the next build. Run `./gradlew --stop` first.
- Rule id:
gradle-caches - Paths:
~/.gradle/caches~/.gradle/daemon
Gradle wrapper distributions regenerable
Full Gradle distributions downloaded by `./gradlew`, one per version. The wrapper downloads the version a project needs again.
- Rule id:
gradle-wrapper - Paths:
~/.gradle/wrapper/dists/*
Maven local repository regenerable
Artifacts downloaded by Maven (and some Gradle builds). Maven downloads them again. Artifacts you installed locally with `mvn install` would need a rebuild.
- Rule id:
maven-repository - Paths:
~/.m2/repository
Android build cache regenerable
Android Gradle plugin and SDK manager caches. They are rebuilt on demand.
- Rule id:
android-build-cache - Paths:
~/.android/cache~/.android/build-cache
Android emulators review
Android Virtual Devices, including their installed apps and data. Recreate them in Android Studio's Device Manager. Close the emulator first.
- Rule id:
android-emulators - Paths:
~/.android/avd/*.avd - Processes that must not run:
emulatorqemu-system-aarch64qemu-system-x86_64
Python
pip cache regenerable
Wheels and downloads cached by pip. Same as `pip cache purge`; packages are downloaded again on the next install.
- Rule id:
pip-cache - Paths:
~/Library/Caches/pip
uv cache regenerable
Packages and Python builds cached by uv. Same as `uv cache clean`. Virtual environments created by uv keep working.
- Rule id:
uv-cache - Paths:
~/.cache/uv
Poetry cache regenerable
Package archives and metadata cached by Poetry. Poetry downloads them again.
- Rule id:
poetry-cache - Paths:
~/Library/Caches/pypoetry
Conda package cache regenerable
Downloaded package tarballs and extracted packages. Packages used by an environment are hardlinked, so `conda clean --all` is the safe way to trim it.
- Rule id:
conda-packages - Paths:
~/{miniconda3,anaconda3,miniforge3,mambaforge,.conda}/pkgs - Cleans with
conda clean --all --yes: Removes unused packages and tarballs from the conda cache.
pre-commit environments regenerable
Hook environments built by pre-commit. They are rebuilt the next time hooks run.
- Rule id:
pre-commit-cache - Paths:
~/.cache/pre-commit
Rust & Go
Cargo registry cache regenerable
Downloaded crates and git dependencies. Cargo downloads them again on the next build. Installed binaries in ~/.cargo/bin are not touched.
- Rule id:
cargo-registry - Paths:
~/.cargo/registry/{cache,src}~/.cargo/git/{checkouts,db} - Processes that must not run:
cargorust-analyzer
Rust toolchains review
Installed Rust toolchains. Keep the ones you build with; remove old nightlies with `rustup toolchain uninstall <name>`.
- Rule id:
rustup-toolchains - Paths:
~/.rustup/toolchains/*
Go build cache regenerable
Compiled packages cached by `go build`. Same as `go clean -cache`.
- Rule id:
go-build-cache - Paths:
~/Library/Caches/go-build
Go module cache regenerable
Downloaded Go modules. They are read-only on disk, so OpenDisk uses `go clean -modcache`. Modules are downloaded again on the next build.
- Rule id:
go-module-cache - Paths:
~/go/pkg/mod - Cleans with
go clean -modcache: Removes the Go module download cache.
Containers
Docker Desktop disk image personal
The virtual disk holding every Docker image, container and volume. Volumes may contain databases. OpenDisk runs `docker system prune` instead of deleting it; Docker Desktop then shrinks the file over time.
- Rule id:
docker-desktop-disk - Paths:
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw - Cleans with
docker system prune --force: Removes stopped containers, unused networks, dangling images and build cache.
Homebrew
Homebrew downloads regenerable
Bottles and source archives downloaded by Homebrew. Installed packages are not affected.
- Rule id:
homebrew-cache - Paths:
~/Library/Caches/Homebrew - Cleans with
brew cleanup --prune=all: Removes old versions and all cached downloads.
App caches
JetBrains IDE caches regenerable
Indexes and caches of IntelliJ, PyCharm, Android Studio and other JetBrains IDEs, one folder per version (old versions pile up). Rebuilt when the IDE reopens a project.
- Rule id:
jetbrains-caches - Paths:
~/Library/Caches/JetBrains/*
VS Code caches regenerable
Electron caches, old-version update data and logs of Visual Studio Code. Settings and extensions are not touched. Quit VS Code first.
- Rule id:
vscode-caches - Paths:
~/Library/Application Support/Code/{Cache,CachedData,CachedExtensionVSIXs,Code Cache,GPUCache,logs}~/Library/Application Support/Code/Service Worker/CacheStorage - Apps that must be closed:
com.microsoft.VSCode
Cursor caches regenerable
Electron caches and logs of the Cursor editor. Settings and extensions are not touched. Quit Cursor first.
- Rule id:
cursor-caches - Paths:
~/Library/Application Support/Cursor/{Cache,CachedData,CachedExtensionVSIXs,Code Cache,GPUCache,logs}~/Library/Application Support/Cursor/Service Worker/CacheStorage - Apps that must be closed:
com.todesktop.230313mzl4w4u92
Slack caches regenerable
Cached images, files and web code from Slack. Messages live on Slack's servers and are downloaded again. Quit Slack first.
- Rule id:
slack-caches - Paths:
~/Library/Application Support/Slack/{Cache,Code Cache,GPUCache}~/Library/Application Support/Slack/Service Worker/CacheStorage~/Library/Containers/com.tinyspeck.slackmacgap/Data/Library/Application Support/Slack/{Cache,Code Cache,GPUCache}~/Library/Containers/com.tinyspeck.slackmacgap/Data/Library/Application Support/Slack/Service Worker/CacheStorage - Apps that must be closed:
com.tinyspeck.slackmacgap
Discord caches regenerable
Cached images, videos and web code from Discord. Downloaded again as you browse. Quit Discord first.
- Rule id:
discord-caches - Paths:
~/Library/Application Support/discord/{Cache,Code Cache,GPUCache} - Apps that must be closed:
com.hnc.Discord
Microsoft Teams caches regenerable
Web caches of new and classic Microsoft Teams. Chats and files are on Microsoft's servers. Quit Teams first.
- Rule id:
teams-caches - Paths:
~/Library/Containers/com.microsoft.teams2/Data/Library/Caches/*~/Library/Application Support/Microsoft/Teams/{Cache,Code Cache,GPUCache}~/Library/Application Support/Microsoft/Teams/Service Worker/CacheStorage - Apps that must be closed:
com.microsoft.teams2com.microsoft.teams
Spotify offline cache regenerable
Songs Spotify cached while streaming. Downloaded playlists may need to be downloaded again. Quit Spotify first.
- Rule id:
spotify-cache - Paths:
~/Library/Application Support/Spotify/PersistentCache - Apps that must be closed:
com.spotify.client
Application caches regenerable
Per-app caches in ~/Library/Caches. macOS itself may purge this folder when space runs low, and apps rebuild what they need. Apple's own caches are skipped. The owning app must be closed.
- Rule id:
user-caches - Paths:
~/Library/Caches/*
Sandboxed app caches regenerable
Caches inside sandboxed (mostly App Store) apps' containers. The app rebuilds them. Apple's own app containers are never touched.
- Rule id:
container-caches - Paths:
~/Library/Containers/*/Data/Library/Caches/*
Command-line tool caches review
Caches written by command-line tools under ~/.cache (XDG cache folder). Most tools rebuild them, but some keep state here, so they go to the Trash.
- Rule id:
dot-cache - Paths:
~/.cache/*
Browsers
Google Chrome caches regenerable
Per-profile code, GPU and service worker caches. Bookmarks, history, passwords and cookies are not touched. Quit Chrome first.
- Rule id:
chrome-caches - Paths:
~/Library/Application Support/Google/Chrome/*/{Cache,Code Cache,GPUCache}~/Library/Application Support/Google/Chrome/*/Service Worker/CacheStorage - Apps that must be closed:
com.google.Chrome
Microsoft Edge caches regenerable
Per-profile code, GPU and service worker caches of Edge. Browsing data you care about is not touched. Quit Edge first.
- Rule id:
edge-caches - Paths:
~/Library/Application Support/Microsoft Edge/*/{Cache,Code Cache,GPUCache}~/Library/Application Support/Microsoft Edge/*/Service Worker/CacheStorage - Apps that must be closed:
com.microsoft.edgemac
Brave caches regenerable
Per-profile code, GPU and service worker caches of Brave. Quit Brave first.
- Rule id:
brave-caches - Paths:
~/Library/Application Support/BraveSoftware/Brave-Browser/*/{Cache,Code Cache,GPUCache}~/Library/Application Support/BraveSoftware/Brave-Browser/*/Service Worker/CacheStorage - Apps that must be closed:
com.brave.Browser
Arc caches regenerable
Per-profile code, GPU and service worker caches of Arc. Quit Arc first.
- Rule id:
arc-caches - Paths:
~/Library/Application Support/Arc/User Data/*/{Cache,Code Cache,GPUCache}~/Library/Application Support/Arc/User Data/*/Service Worker/CacheStorage - Apps that must be closed:
company.thebrowser.Browser
Firefox cache regenerable
Firefox's web cache for each profile. Quit Firefox first.
- Rule id:
firefox-cache - Paths:
~/Library/Caches/Firefox/Profiles/*/cache2 - Apps that must be closed:
org.mozilla.firefox
Logs
Application logs review
Log files and crash reports written by apps. Useful when debugging a crash, otherwise safe to remove; apps create new ones.
- Rule id:
user-logs - Paths:
~/Library/Logs/*
Downloads
Old installers in Downloads review
Disk images and installer packages downloaded more than 30 days ago. Once the app is installed they are usually not needed.
- Rule id:
old-installers - Paths:
~/Downloads/*.{dmg,pkg,iso,xip,mpkg} - Only items older than 30 days
Device backups
iPhone and iPad backups personal
Local backups made by Finder or iTunes. They may be the only copy of a device's data. Check the date and device in Finder before removing one.
- Rule id:
ios-backups - Paths:
~/Library/Application Support/MobileSync/Backup/*
iOS firmware downloads regenerable
Device firmware files downloaded to restore or update an iPhone or iPad. Finder downloads the current version again when needed.
- Rule id:
ios-software-updates - Paths:
~/Library/iTunes/{iPhone,iPad,iPod} Software Updates/*.ipsw
Trash
Trash personalpermanent
Items you already moved to the Trash. Emptying it deletes them for good; this is the only action in OpenDisk that cannot be undone.
- Rule id:
trash - Paths:
~/.Trash/*