Skip to content

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/*

Released under the MIT License.