Rules that apply to every cleanup
- A dry run firstYou see every item, its size and why it is offered, before anything changes on the disk.
- Checked again right before actingAn item changed since the scan, opened in an app, behind a symbolic link or on another volume is refused.
- The Trash by defaultItems go to the Trash or Recycle Bin and can be put back from the Restore screen. Permanent deletion requires typing a confirmation word.
- Your exclusions come firstA folder you exclude, and everything inside it, is never offered.
Selected by default: what rebuilds itself
- App cachesIn ~/Library/Caches, ~/.cache or the temporary folders and browser caches on Windows. Caches managed by the system are excluded; an open app’s cache is skipped.
- Old logs (macOS)Files in ~/Library/Logs not modified for 30 days, crash reports included.
- Development cachesnpm, pnpm, Yarn, pip, Gradle, Playwright, Cursor and VS Code caches, Xcode DerivedData.
- Project build outputtarget, .next, .gradle, obj… only next to their marker file (table below), only if Git ignores them, and never if used today.
Suggested, never selected: your call
- Project dependenciesnode_modules, .venv, vendor, Pods: only after 180 days without reinstalling (adjustable), and only if Git ignores them.
- Installers, large archives, old downloadsIn Downloads, Desktop and Documents. These are personal files: check each one.
- DuplicatesIdentical files by content (BLAKE3 checksum), never by name alone. One copy is always kept.
- Applications (macOS)An app and the data it leaves in the Library. Apps that ship with macOS and open apps are refused.
Free up space without deleting
Cloud space removes the local copy of iCloud Drive, Google Drive, OneDrive or Dropbox files already uploaded. The file stays visible and downloads again when opened. A file not yet uploaded, changed since the scan or open is skipped. Available on macOS and Windows.
Never touched
- The systemEverything outside your home folder, the roots of volumes and the structural folders (home, Documents, Library…).
- Sensitive dataKeychains, SSH and GPG keys, Mail, Messages, accounts, the Photos library, Cursor and VS Code conversations and settings, Docker volumes.
- Your Git history.git folders are protected; a project with unpushed work is flagged, and a versioned folder is never offered.
- What you cannot get backCursor databases marked corrupted may contain conversations: they are listed for you to review, never deleted by Klystor.
Rebuildable project folders
A folder is only recognized when its marker file sits right next to it: a vendor folder without composer.json, for example, is never counted.
| Folder | Marker file | Rebuilt with | Selected by default |
|---|---|---|---|
target | Cargo.toml | cargo build | Yes |
node_modules | package.json | npm install | No |
.next, .nuxt, .svelte-kit, .angular, .turbo, .parcel-cache | package.json | the project’s build command | Yes |
.venv, venv | pyproject.toml, requirements.txt, setup.py | pip install | No |
vendor | composer.json | composer install | No |
Pods | Podfile | pod install | No |
.gradle | build.gradle, settings.gradle | gradle build | Yes |
build | build.gradle, settings.gradle | gradle build | No |
obj | *.csproj, *.fsproj, *.vbproj | dotnet build | Yes |
bin | *.csproj, *.fsproj, *.vbproj | dotnet build | No |
A question about a rule? Write to us.