- All-in-one toolkit: CCleaner, WinDirStat, and TreeSize combined into a single binary
- Deep cleaning: Scans and removes caches, temp files, and browser leftovers to reclaim gigabytes of space
- Project-aware: Only cleans build artifacts from inactive projects (14+ days), respecting Git status
- Disk insights: Visualizes usage, finds large files, and explores your disk space interactively
- Safe by default: Dry-run mode, Recycle Bin deletion, and full restore capability
- Incremental scan cache: SQLite-based cache system for lightning-fast incremental scans - only rescans changed files
- File type detection: Comprehensive file type detection with emoji indicators (π¬ videos, π΅ audio, π» code, etc.)
- Smart filtering: Search and filter by file type or extension in interactive TUI mode
- Disk insights cache: Cached folder tree structures for instant disk usage analysis
Install via PowerShell β recommended:
irm https://raw.githubusercontent.com/jplx05/wole/master/install.ps1 | iexOr via Bash:
curl -fsSL https://raw.githubusercontent.com/jplx05/wole/master/install.sh | bashRun:
wole # Interactive TUI menu (recommended!)
wole scan --all # Preview what would be cleaned
wole clean --cache --temp # Clean caches and temp files
wole clean --trash -y # Empty Recycle Bin
wole analyze # Visual disk explorer
wole analyze --interactive # Interactive disk insights TUI
wole restore --last # Restore files from last deletion
wole restore --all # Restore all Recycle Bin contents
wole config --show # View current configuration
wole config --edit # Edit config in your editor
wole remove # Uninstall wole from your system
wole remove --config --data # Uninstall and remove all data
wole --help # Show help
wole --version # Show installed version
wole scan --all -v # Verbose scan with file paths
wole scan --all --json # JSON output for scripting
wole clean --all --dry-run # Preview cleanup without deleting
wole clean --all --permanent # Bypass Recycle Bin (use with caution!)
wole status # Real-time system health dashboard
wole status --json # Status output as JSON
wole optimize --all # Run all system optimizations
wole update # Check for and install updates- Terminal: Works best with Windows Terminal, PowerShell, or any modern terminal emulator.
- Safety: Built with strict protections. See Security Audit. Preview changes with
wole scan --allor--dry-run. - Verbose Mode: Use
-vor-vvfor detailed output showing file paths and scan progress. - Navigation: TUI supports arrow keys for intuitive navigation.
- Configuration: Run
wole config --editto customize thresholds, exclusions, and scan paths. - System Monitoring: Use
wole statusto monitor system health in real-time. The dashboard auto-refreshes every second. - System Optimization: Run
wole optimize --allto perform various Windows optimizations. Some operations require administrator privileges. - Scan Cache: Incremental scans are automatically cached for faster subsequent runs. Cache is stored in
%LOCALAPPDATA%\wole\cache\scan_cache.db. - File Type Filtering: In TUI results screen, press
/to search and filter by file type (e.g., "video", "code", ".mp4") or extension.
$ wole clean --all
Scanning for cleanable files...
Found 362 files (8.1 GB) to clean.
Cleaning...
β Package cache: 45 files (2.3 GB)
β Temp: 128 files (456 MB)
β Trash: 23 files (89 MB)
β Build: 12 files (1.2 GB)
β Browser: 67 files (234 MB)
β System: 34 files (567 MB)
β Windows Update: 8 files (1.5 GB)
β Event Logs: 12 files (234 MB)
====================================================================
Space freed: 8.1 GB | Free space now: 53.3 GB
====================================================================$ wole
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββ βββ βββββββ βββ ββββββββ β
β βββ βββββββββββββββ ββββββββ β
β βββ ββ ββββββ ββββββ ββββββ β
β βββββββββββββ ββββββ ββββββ β
β βββββββββββββββββββββββββββββββββββ β
β ββββββββ βββββββ ββββββββββββββββ β
β β
β Windows-first cleanup tool β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β ACTIONS β
β β
β > Scan Find cleanable files (safe, dry-run) β
β Clean Delete selected files β
β Analyze Explore disk usage (folder sizes) β
β Restore Restore files from last deletion β
β Config View or modify settings β
β Optimize Optimize Windows system performance β
β Status Real-time system health dashboard β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Select categories to scan: β
β β
β [X] Package cache [X] Temp [X] Trash β
β [X] Build [ ] Browser [ ] System β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ββ] Navigate [Space] Toggle [Enter] Confirm [Esc] Exit$ wole analyze
Disk Insights: C:\Users\user
Total: 120 GB β 15,234 files
# ββββββββββββββββββββ 100.0% 120 GB
C:\Users\user
1 ββββββββββββββββββββ 85.2% 102 GB Projects
2 ββββββββββββββββββββ 18.5% 22 GB Downloads
3 ββββββββββββββββββββ 8.3% 10 GB Documents
Largest Files:
45 GB C:\Users\user\Projects\game\assets.bin
12 GB C:\Users\user\Downloads\movie.mkv
[ββ] Navigate [Enter] Open [Esc] Back [S] SortClean old build artifacts (node_modules, target, bin/obj, etc.) from inactive projects while respecting Git status.
$ wole clean --build
Scanning for cleanable files...
Build 12 1.2 GB [OK] Inactive projects
C:\Users\user\Projects\old-react-app\node_modules
C:\Users\user\Projects\rust-experiment\target
C:\Users\user\Projects\dotnet-api\bin
... and 9 more
====================================================================
Space freed: 1.2 GB
====================================================================Smart detection: Only cleans projects inactive for 14+ days. Skips projects with recent commits or uncommitted changes.
$ wole scan --all
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Wole Scan Results β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
Category Items Size Status
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Package cache 45 2.3 GB [OK] Safe to clean
Temp 128 456 MB [OK] Safe to clean
Trash 23 89 MB [OK] Safe to clean
Build 12 1.2 GB [OK] Inactive projects
Browser 67 234 MB [OK] Safe to clean
System 34 567 MB [OK] Safe to clean
Windows Update 8 1.5 GB [!] Requires admin
Event Logs 12 234 MB [!] Requires admin
Large 8 2.1 GB [!] Review suggested
Old 45 890 MB [!] Review suggested
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Total 362 8.1 GB Reclaimable
Run wole clean --all to remove these files.Wole uses an intelligent SQLite-based cache system to dramatically speed up subsequent scans. After the first scan, only files that have changed or been added are rescanned, making follow-up scans 2-10x faster.
$ wole scan --all
# First scan: Scans all files (may take a few minutes)
$ wole scan --all
# Second scan: Only rescans changed/new files (much faster!)How it works:
- File signatures (size, modified time, optional content hash) are cached in
%LOCALAPPDATA%\wole\cache\scan_cache.db - Cache is automatically invalidated when files change
- Per-category caching allows partial cache hits
- Cache can be disabled via configuration if needed
Benefits:
- β‘ Faster scans: Subsequent scans only check changed files
- πΎ Lower CPU usage: Less disk I/O on repeat scans
- π Smart updates: Cache automatically stays in sync with file changes
Wole includes comprehensive file type detection with visual emoji indicators, making it easy to identify file types at a glance.
Supported file types:
- π¬ Videos (mp4, avi, mkv, mov, etc.)
- π΅ Audio (mp3, wav, flac, etc.)
- πΌοΈ Images (jpg, png, gif, webp, etc.)
- π» Code (js, py, rs, cpp, etc.)
- π Documents (pdf, docx, etc.)
- π¦ Archives (zip, tar, rar, etc.)
- ποΈ Databases (sqlite, db, etc.)
- And 20+ more categories!
In TUI Results Screen:
- Press
/to open search/filter dialog - Filter by file type name (e.g., "video", "code", "image")
- Filter by extension (e.g., ".mp4", ".js", ".pdf")
- File types are automatically detected and displayed with emoji indicators
Easily restore files from your last deletion session or restore all Recycle Bin contents in bulk.
# Restore from last deletion session (uses bulk restore for better performance)
$ wole restore --last
# Restore all contents of Recycle Bin in bulk (fastest option on Windows)
$ wole restore --all
# Restore a specific file or directory
$ wole restore --path "C:\Users\user\Documents\file.txt"Restore operations use bulk restore by default for better performance on Windows.
Monitor your system's health in real-time with comprehensive metrics.
$ wole status
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Health status: β 85 Live β
β DESKTOP-ABC123 Β· Intel Core i7-9700K Β· 32.0GB Β· Windows β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β CPU β¦ Memory β
β Total β°β°β°β°β°β°β°β°β±β±β±β±β±β±β±β±β±β±β±β± 45.2% β
β Load 2.34 / 1.89 / 1.45 (8 cores) β
β β
β β€ Disk β‘ Power β
β Used β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β±β±β±β± 78.5% β
β Free 234.5 GB β
β β
β β
Network βΆ Processes β
β Down β°β°β°β±β± 12.3 MB/s β
β Up β°β±β±β±β± 2.1 MB/s β
β Status Connected Β· WiFi β
β IPv4 192.168.1.100 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββWith Battery (Laptop):
$ wole status
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Health status: β 85 Live β
β LAPTOP-ABC123 Β· Intel Core i7-9700K Β· 32.0GB Β· Windows β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β CPU β
β Total β°β°β°β°β°β°β°β°β±β±β±β±β±β±β±β±β±β±β±β± 45.2% β
β Load 2.34 / 1.89 / 1.45 (8 cores) β
β β
β β¦ Memory β
β Used β°β°β°β°β°β°β°β°β±β±β±β±β±β±β±β±β±β±β±β± 45.2% β
β Total 24.5 / 32.0 GB β
β β
β β€ Disk β
β Used β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β±β±β±β± 78.5% β
β Free 234.5 GB β
β Read β°β°β°β±β± 45.2 MB/s β
β Write β°β±β±β±β± 12.3 MB/s β
β β
β β‘ Power β
β Level β°β°β°β°β°β°β°β°β°β°β°β±β± 87.5% β
β Status Charging β
β Health Good β
β Cycles 245 β
β Time 2h 15m to full β
β Volt 12.45 V β
β Power 15.2 W β
β Design 85000 mWh β
β Full 82000 mWh β
β β
β β
Network β
β Down β°β°β°β±β± 12.3 MB/s β
β Up β°β±β±β±β± 2.1 MB/s β
β Status Connected Β· WiFi β
β IPv4 192.168.1.100 β
β β
β βΆ Processes β
β chrome.exe 1234 β°β°β°β±β± 15.2% 245M β
β code.exe 5678 β°β°β±β±β± 8.5% 180M β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββBattery Information Displayed:
- Level: Current battery percentage with visual progress bar
- Status: Charging, Discharging, Full, or Not Charging
- Health: Good (β₯80%), Fair (β₯50%), or Poor (<50%)
- Cycles: Number of charge/discharge cycles (if available)
- Time: Estimated time until empty or until fully charged
- Voltage: Current battery voltage in volts
- Power: Current power draw/charge rate in watts
- Design Capacity: Original battery capacity when new (mWh)
- Full Charge Capacity: Current maximum capacity (mWh)
On desktop systems without a battery, the Power section shows "Status Plugged In".
The status dashboard shows:
- Health Score: Overall system health (0-100)
- CPU: Usage, load averages, core details, frequency, vendor info
- Memory: Used, total, free, swap/page file
- Disk: Usage, free space, read/write speeds
- Power: Battery level, status, health, cycles, temperature (laptops)
- Network: Download/upload speeds, connection status, IP addresses
- Processes: Top 10 processes by CPU usage
Use wole status --json for JSON output suitable for scripting.
scan- Find cleanable files (safe, dry-run)clean- Delete selected filesanalyze- Explore disk usage or show detailed analysisrestore- Restore files from deletion or Recycle Binconfig- View or modify configurationstatus- Real-time system health dashboardoptimize- Optimize Windows system performanceupdate- Check for and install updatesremove- Uninstall wole from your system
| Flag | Description |
|---|---|
--cache |
Package manager caches (npm/yarn/pnpm, NuGet, Cargo, pip) |
--app-cache |
Application caches (Discord, VS Code, Slack, Spotify) |
--temp |
Windows temp files older than 1 day |
--trash |
Recycle Bin contents |
--build |
Build artifacts from inactive projects (node_modules, target/, bin/obj, etc.) |
--browser |
Browser caches (Chrome, Edge, Firefox, Brave, etc.) |
--system |
Windows system caches (thumbnails, updates, icons) |
--downloads |
Old files in Downloads (30+ days) |
--large |
Large files (100MB+) |
--old |
Files not accessed in 30+ days |
--empty |
Empty folders |
--duplicates |
Duplicate files |
--applications |
Installed applications |
--windows-update |
Windows Update download files (requires admin) |
--event-logs |
Windows Event Log files (requires admin) |
Note: Only --build is project-aware. Other categories clean files system-wide. --windows-update and --event-logs require administrator privileges.
Common:
--all- Enable all categories--exclude <PATTERN>- Exclude paths (repeatable)--json- JSON output for scripting-v,-vv- Verbose output-q- Quiet mode
Scan:
--project-age <DAYS>- Project inactivity threshold for--build(default: 14)--min-age <DAYS>- Minimum file age for--downloadsand--old(default: 30)--min-size <SIZE>- Minimum file size for--large(default: 100MB)
Clean:
-y,--yes- Skip confirmation--permanent- Bypass Recycle Bin--dry-run- Preview only
Status:
--json- Output as JSON for scripting-w,--watch- Continuous refresh mode (TUI auto-refreshes by default)
Optimize:
--all- Run all optimizations--dns- Flush DNS cache--thumbnails- Clear thumbnail cache--icons- Rebuild icon cache and restart Explorer--databases- Optimize browser databases (VACUUM)--fonts- Restart font cache service (requires admin)--memory- Clear standby memory (requires admin)--network- Reset network stack (requires admin)--bluetooth- Restart Bluetooth service (requires admin)--search- Restart Windows Search service (requires admin)--explorer- Restart Windows Explorer--dry-run- Preview only-y,--yes- Skip confirmation for admin operations
Config file: %APPDATA%\wole\config.toml
[thresholds]
project_age_days = 14
min_age_days = 30
min_size_mb = 100
[exclusions]
patterns = ["**/important-project/**"]
[cache]
enabled = true # Enable incremental scan cache (default: true)
full_disk_baseline = false # Full disk traversal on first scan (default: false)
max_age_days = 30 # Cache entry expiration (default: 30)
content_hash_threshold_bytes = 10485760 # Hash files >10MB for better accuracy (default: 10MB)wole config --show # View config
wole config --edit # Edit config
wole remove # Uninstall wole
wole remove --config --data # Uninstall and remove all dataPrerequisites: Rust, Visual Studio Build Tools
cargo build --releaseOutput: target\release\wole.exe
- File locked: File is open in another app. Will be skipped automatically.
- Long paths: Handled automatically. Update if issues persist.
- Symlinks: Automatically skipped (expected behavior).
- TUI not working: Use PowerShell/Windows Terminal, or CLI mode:
wole scan --all - No items found: Check project activity with
--project-age 0or file ages with--min-age 0
- If Wole saved you disk space, consider starring the repo or sharing it with friends.
- Have ideas or fixes? Check our Contributing Guide, then open an issue or PR.
MIT License β feel free to enjoy and participate in open source