Give your files
an expiry date.
TinyPrune automatically moves old files and folders to Trash after the time you choose.
downloadDownload for Mac
$brew install --cask tinyprune
Copied
Free · Open source · macOS
Nothing permanently deleted
No accounts
Active
·
Watching 3 folders
tune
Library
folder_managed
Overview
rule
Rules
4
schedule
Upcoming
17
history
Log
Reclaimed
18.2 GB
this month
Workspace is tidy.
3 folders monitored, running in background.
MONITORED FOLDERS
+ Add
folder
.dmg .pkg · 7-day hold
Downloads
~/Downloads
image
7-day hold · 38 items
Screenshots
~/Desktop
terminal
Preview mode (6 repos)
Developer
~/Developer
NEXT TO MOVE TO TRASH
inventory_2
Figma-installer.pkg
7d old · Today
148 MB
image
Screenshot 2026-09-13.png
Tomorrow
4 MB
folder_zip
old-portfolio/node_modules
Inactive 42d
1.2 GB
Files move to macOS Trash. Undo anytime with ⌘Z.
Local only
How it works
01
Pick what to tidy
02
Set an expiry
7 days, 30 days, or whatever works for you.
03
Forget about it
TinyPrune moves expired items to Trash automatically.
Clean exactly what you want.
Choose the folder, what to match, and how old it should be.
check_circleProtected files are never removed.
deleteNothing is permanently deleted.
tune
Active
Old Node Modules
rules/dev-09.json
WHERE
~/Developer/**
WHAT
node_modules
Directory
WHEN
repo idle > 30 days
EXCEPT
pinned: ~/Developer/Production/*
Dry Run: 8 folders eligible
6.4 GB reclaimable
Useful rules to start with
| Folder | Files | Remove after | Protected |
|---|---|---|---|
| ~/Downloads | .dmg, .zip | 7 days | Starred or tagged items |
| ~/Desktop | Screenshots | 7 days | Renamed captures |
| ~/Developer/** | node_modules | 30 days inactive | Active worktrees |
| ~/Developer/** | .venv, __pycache__ | 45 days inactive | Pinned environments |
| ~/Library/Caches | Xcode DerivedData | 14 days idle | Open projects |
Scheduled for Trash
3 items pending
figma-setup.pkg
Downloads rule · in 2 hours
148 MB
wireframe_v2.png
Screenshots rule · tomorrow
18 MB
client-proposal.key
Protected by Keep tag
lock
Kept
Every item says why.
Click any queued file to see which rule matched it, the timestamp it was evaluated against, and your options: keep it, snooze it for a week, or prune it immediately.
done
Optional notifications: Get a polite daily summary before anything moves.
done
Finder tags: Tag any file with “Keep” right in Finder to exclude it instantly.
done
Audit history: A full local log lets you review every action.
Private by design.
TinyPrune runs entirely on your Mac. No account. No telemetry.