Builds, dependencies and caches pile up, project after project. Delest finds what rebuilds itself, explains every verdict, and nothing leaves without your say-so.
A real run on a demo folder: a Rust API, a Next.js site, a Python project with its .env, and a Flutter app whose build/ git does not know. Nothing is moved until you confirm.
$ delest scan ~/projects
freeable — 330 MB (3)
256 MB ~/projects/api/target
ignored by git; next to Cargo.toml; last commit today
73 MB ~/projects/web/.next
ignored by git; next to package.json; last commit today
1 MB ~/projects/ml/__pycache__
ignored by git; Python bytecode, regenerated on the next run; last commit today
freeable online — 100 MB (1)
100 MB ~/projects/web/node_modules
ignored by git; lockfile package-lock.json; project worked on today (last commit)
to review — 126 MB (1)
126 MB ~/projects/ml/.venv
ignored by git; only requirements.txt: a reinstall may bring other versions; project worked on today (last commit)
Freeable: 330 MB, plus 100 MB with the network; 126 MB to review. Nothing was changed.
$ delest explain ~/projects/mobile/build
~/projects/mobile/build — protected (build)
- neither tracked nor ignored by git
Size on disk: 42 MB
$ delest clean ~/projects --dry-run
To move into the quarantine — 330 MB:
256 MB ~/projects/api/target
ignored by git; next to Cargo.toml; last commit today
73 MB ~/projects/web/.next
ignored by git; next to package.json; last commit today
1 MB ~/projects/ml/__pycache__
ignored by git; Python bytecode, regenerated on the next run; last commit today
Kept: 1 item (100 MB) of projects worked on in the last 30 days.
To review: 1 item (126 MB), left out; --review asks about each one.
Preview only: nothing was moved.
A typical cleaner deletes whatever looks like a cache. Delest does the opposite: it only proposes what it can prove rebuilds, and it shows you the proof.
target, node_modules, build, .gradle, .venv, Pods, .next: recognised by their manifest and lockfile, never by their name alone.
Ignored by git, next to its manifest, last commit three days ago: every proposal comes with its reasons.
Work git does not track, tracked files, secrets (.env, .pem), source code and Docker volumes are never proposed.
A preview, your consent, then the quarantine: seven days to restore anything, before the final deletion.
A folder is proposed only when the file that rebuilds it sits next to it. The rules in shadow already recognise their folders and propose nothing until the corpus accepts them.
target next to Cargo.tomltarget next to pom.xmlnode_modules with its lockfile: npm, pnpm, Yarn, Bun; .next, .turbo.venv, venv with uv.lock, poetry.lock, Pipfile.lock or pdm.lock; __pycache__build, .gradle next to build.gradle(.kts)build, .dart_tool next to pubspec.yamlPods with Podfile.lock; Xcode's DerivedData.env and keys, source code, Docker volumes, AI modelsDelest's Brain weighs the rules, your project's context and your past decisions. The local model is a voice it listens to on unknown folders, never the one that decides.
At each session, Delest checks the free space and stays quiet unless the disk is filling up. Through MCP, your agents can ask it themselves.
A check at session start in Claude Code, Codex, Cursor, Gemini CLI, VS Code (Copilot) and OpenCode; Kiro through Vario. In the app: Settings › A check at each agent session, one button per agent. In a terminal: delest install, and delest remove takes them out. Each file is backed up.
delest_status (the disk and what can be freed), delest_explain (the reasons for one folder), delest_scan (what can be freed in folders you name).
For a folder you are unsure of, the app can put your question to Claude Code: the folder's path and the names of what it holds, never the files.
# the hooks, from a terminal
delest install
# Delest as an MCP server for Claude Code
# Linux (.deb) or Cargo
claude mcp add delest -- delest mcp
# macOS
claude mcp add delest -- /Applications/Delest.app/Contents/MacOS/delest mcp
# Windows (PowerShell)
claude mcp add delest -- "$env:LOCALAPPDATA\Delest\delest.exe" mcp
With the macOS or Windows app, delest stays inside the app: give its full path, as above, or install the command with Cargo.
Delest reads folder names and facts (size, git state, nearby manifests). It does not open your files to send them anywhere.
Every rule is replayed on a corpus of real folders whose verdict was set by hand. Blocking criterion: no protected folder classed deletable.
agreement with the reference on 188 real folders, and no protected folder classed deletable.
of free space after a full clean of the developer's machine, done from the app.
macOS, Linux and Windows: a corpus of 34 situations gives the expected verdict there with every version.
The corpus and its checks are in the code: corpus/synthetique.toml, tested on every change by the CI on macOS, Linux and Windows.
The app with the delest command inside. The packages are not signed yet: your system asks to confirm the first opening.
Intel and Apple Silicon, macOS 12 or later. The first time: right-click Delest, then Open. The command: /Applications/Delest.app/Contents/MacOS/delest.
Windows 10 or 11, 64-bit, installed for your account only. SmartScreen: More info, then Run anyway. The command: %LOCALAPPDATA%\Delest\delest.exe.
64-bit, with WebKitGTK. The .deb package also installs the delest command.
No package installer on your system? From the folder where you downloaded it:
sudo apt install ./Delest_0.1.6_amd64.debThe AppImage needs no installation: chmod +x Delest_0.1.6_amd64.AppImage, then open it.
The command alone, built from the source:
cargo install --git https://github.com/kdev1966/Delest delestDelest deletes files: you should be able to read how it decides. Everything is on GitHub, under the MIT licence.
No. It proposes, you choose, then the folders go into the quarantine for seven days. Nothing is deleted without your consent.
Restore it from the Quarantine page, or with delest restore, within seven days. After that, it is deleted.
No. The app and the command work on their own; agents only add a check at each session.
It does not propose it. The local model can give an opinion, always towards caution, and the decision is yours.
No. Delest works without them. In Settings › AI, “Install the local AI” shows what it would download (about 3.2 GB), and fetches it only after you confirm; each file is checked against its published fingerprint. The engine needs macOS 13.3 or later, and on Windows a recent Visual C++ runtime.
Nothing. Delest is free and open source, under the MIT licence: its code is on GitHub.