Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

167 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MacOS Cleaner MacOS Cleaner

License: GPLv3+CommonsClause GitHub Stars Platform: macOS Language: Swift 6 UI: SwiftUI Build: XcodeGen Version: 2.1.0 Ko-fi

๐Ÿงน Free up disk space by cleaning caches, temp files, app leftovers, duplicates, and more. Review candidates first, confirm what to remove, automate safe cleanups with Siri or Shortcuts, and recover from Trash when you need to.


Screenshots

๐Ÿ“ท View all screenshots


๐Ÿš€ Quick Install & Download

GitHub Releases (DMG)

Download the latest signed release directly from GitHub Releases.


Features

๐Ÿง  Apple Intelligence โ€” Native local AI explanations powered by FoundationModels (requires macOS 26.0+). Operates fully offline on supported Apple Silicon Macs. Explains files, caches, running processes, and startup agents to help you decide what is safe to remove. Prompts are optimized in English for higher model reasoning, with explanations output in your preferred UI language (English, ะ ัƒััะบะธะน, ะฃะบั€ะฐั—ะฝััŒะบะฐ, Espaรฑol). Fully toggleable in settings, with real-time model status tracking.

๐ŸŒ Fully Localized โ€” English, Deutsch, ๆ—ฅๆœฌ่ชž, Franรงais, ็ฎ€ไฝ“ไธญๆ–‡, Italiano, Portuguรชs (Brasil), Espaรฑol, ะ ัƒััะบะธะน, ะฃะบั€ะฐั—ะฝััŒะบะฐ (10 languages with 100% key parity). All UI, errors, logs, and system info translated dynamically. Dates and byte counts format automatically for your language.

๐ŸŽ™๏ธ Siri, Shortcuts & Automator โ€” native App Intents can clean developer caches, clean a specific category, report storage and Trash status, or run a scheduled cleanup. App Shortcuts support voice commands through Siri. Automation integrations can be enabled individually and managed from Settings.

Dashboard ๐Ÿ“Š โ€” native Liquid Glass design for macOS 27 with interactive Apple Watch-style activity rings. Shows total and available disk capacity, storage categories, system info (model, CPU, RAM, macOS version), cleanup history and stats.

Smart Cleanup ๐Ÿ” โ€” scans 54 categories using 1,770 path definitions covering 251 apps and 66 CLI toolchains:

  • Caches & Containers โ€” Browsers (Safari, Chrome, Firefox, Arc, etc.), Messengers, App Containers, System & WebKit caches, dynamic Electron discovery.
  • Dev Tools & IDEs โ€” Xcode DerivedData and Simulators, Android SDK/Studio, package managers (Homebrew, npm, Cargo, Go, SwiftPM), JetBrains, VS Code, Cursor, Docker, and local project build artifacts.
  • System & Maintenance โ€” APFS purgeable space, local Time Machine snapshots, Mail attachments, logs, crash reports, QuickLook thumbnails, Font and DNS cache flushing, LaunchAgents/Daemons.
  • Leftovers & Junk โ€” evidence-backed orphaned app remnants, .DS_Store, __MACOSX, broken symlinks, old installers (DMG/PKG/ISO), large files, old backups, duplicates, and unused apps (180+ days).
  • Local AI Models โ€” detects Ollama, Hugging Face, LM Studio, Jan, MLX, PyTorch, Whisper, vLLM, and Draw Things data for opt-in review.

Cleanup tasks run in parallel across all available cores for maximum speed. All categories are scanned, while risky or personal-content groups remain unselected for review. Dev-related ones show a purple "DEV" badge. Risk badges (Safe / Moderate / Dangerous / Protected) appear after scan โ€” you pick what to delete, then confirm.

Cleanup Options โ€” toggles before scan:

  • Clean .DS_Store files โ€” removes Finder metadata from directories (off by default)
  • Clean Maven repository โ€” removes Maven cached dependencies from ~/.m2/repository (off by default)
  • Clean Go module cache โ€” removes Go package caches from GOMODCACHE (off by default)
  • Clean .dart_tool in projects โ€” scans and cleans Flutter/Dart development builds in common project locations (off by default)
  • Clean iCloud Documents โ€” includes iCloud document cache (off by default)
  • Clean Voice Memos โ€” includes Voice Memos recordings (off by default)
  • Clean GarageBand / Logic โ€” includes project files and caches (off by default)
  • Clean iMovie / Final Cut โ€” includes render files and libraries (off by default)
  • Clean Sleep Image โ€” removes hibernation image file (off by default)

Project Build Artifacts ๐Ÿ› ๏ธ โ€” safely detects regenerable output in common project folders. Supports Xcode/Swift, Android/Gradle, Flutter/Dart, Node.js, Rust, Go, Python, and CMake. Ambiguous directories such as build, dist, target, vendor, venv, and node_modules are included only when matching project files are present.

Duplicate File Finder ๐Ÿงฌ โ€” finds exact duplicates without external dependencies using a staged pipeline: file size โ†’ first 4 KB hash โ†’ full SHA-256. Scanning uses Swift actors for race-free parallelism, and smart selection keeps the most appropriate copy by default.

Disk Space Analyzer ๐Ÿ“ โ€” scan any custom folder to browse its subdirectories and files sorted by size. Features categorized breakdowns (Videos, Audio, Photos, Apps, Documents, Archives) and lets you reveal items in Finder or move them to the Trash directly from the app.

Process Manager โš™๏ธ โ€” lists running processes in Flat or Grouped views and sorts by CPU, memory, name, or threads. A native Liquid Glass split button terminates with one click or exposes force quit when needed. Supports individual processes, multiple selection, or entire groups. Critical system processes (kernel_task, launchd, WindowServer) are protected automatically. Custom Whitelists and Blacklists prevent accidental termination or help close unwanted apps quickly.

Startup Services ๐Ÿš€ โ€” redesigned with modern macOS styling. Scans LaunchAgents and LaunchDaemons from both user-level (~/Library) and system-level (/Library) directories. Categorizes them automatically into My Services (User), Third-party, and System services. Allows you to load/unload or stop active services (asking for permissions via AppleScript when necessary), and configure custom vendor prefixes (System Vendors) to protect specific services from accidental modification.

App Uninstaller ๐Ÿ—‘๏ธ โ€” drag and drop any .app bundle directly or select from the complete app list. Finds installed apps and previously orphaned remnants using a bounded filesystem index and 30 types of evidence (Bundle ID, Team ID, Spotlight, Plist contents, known catalog paths, and more). Shows total reclaimable space and real-time scan progress. Tailored rules cover Docker, Parallels, Adobe CC, Microsoft Office, Discord, Figma, JetBrains, browsers, and more.

  • Scan Modes (Safe / Balanced) โ€” choose between Safe mode (depth 3, exact matches only, no Spotlight, highest confidence files) and Balanced mode (depth 5, full deep scan including Spotlight and fuzzy matching) to tailor uninstallation aggressiveness
  • Background Deep Scanning โ€” apps are scanned thoroughly in the background; the UI updates in real time as each app's total size is finalized
  • Evidence-Based Forensics โ€” each candidate file is scored against 30 evidence types: identity, code signing, system integration, metadata, content analysis, graph relationships, and Launch Services registration
  • Confidence Tiers โ€” .guaranteed (critical evidence), .veryLikely, .possible, or .ignore
  • Developer Components โ€” detects and offers to clean Android SDK, Gradle/Maven, Xcode DerivedData, iOS Simulators, Flutter pub-cache, Docker containers, and Homebrew artifacts
  • Reveal in Finder โ€” quick action to show any related file or folder in Finder before deleting
  • Why this file? โ€” each related file includes an evidence breakdown with localized explanations. Tap any file to see exactly why it was associated with the app
  • Post-Uninstall Verification โ€” re-scan confirms cleanup completeness; snapshots stored for rollback

Smart Updates ๐Ÿ”„ โ€” automatic, lightweight background check for new versions on startup directly via GitHub Releases. Get gently notified when a new update is ready, without background daemons, persistent tracking, or extra dependencies.

Settings โ€” modular Liquid Glass interface organized into General, Cleanup, Automation, Processes, Advanced, and About. Manage Full Disk Access and notifications through direct System Settings links, configure Debug Mode (hiding/showing detailed execution logs), Siri and Automator integrations, Apple Intelligence, themes, languages, scan-on-startup, Trash behavior, custom System Vendors, and more.


How It Works

Runs on Apple Silicon (M1โ€“M5) with full parallelism โ€” cleanup categories execute concurrently across all available cores. File scanning uses bounded, stack-based iteration with cancellation checks, inode deduplication, batching, and cached size calculations.

Cleanup and residual discovery use tokenized path templates, an O(1) bundle registry, and filesystem heuristics (Bundle ID, Team ID, entitlements, Spotlight, and related signals). Every path has a purpose: regenerable cache, uninstall-only app_data, non-automatic shared, or opt-in user_content. Scheduled cleanup is restricted to safe caches and logs. Orphan detection requires at least two independent ownership signals before suggesting a leftover.


Privacy & Safety ๐Ÿ›ก๏ธ

  • 100% Private โ€” No telemetry, no analytics, no usage tracking, and no remote logging. All operations run fully offline on your device.
  • Minimal Networking โ€” The only network connection is a startup update check using the GitHub Releases API (can be disabled in Settings).
  • Disk Space and App Uninstaller move files to Trash via trashItem(at:) โ€” recoverable by default
  • Smart Cleanup removes selected cache and temporary data after confirmation
  • SafetyManager blocks access to /System, /usr, /bin, ~/.ssh, and other critical paths
  • Personal-content roots, shared vendor services, updater components, and Messages attachments are protected by fail-closed path validation
  • Symlinks and resolved paths are validated again immediately before every destructive operation
  • Scheduled cleanup is limited to safe cache and log categories; review-only results always start unselected
  • ProcessSafetyPolicy protects system-critical processes from termination
  • Permanent deletion and automatic Trash handling are opt-in; cleanup can empty only items moved to Trash during the current session
  • Apps are closed before cleanup (graceful terminate โ†’ force-kill after 3s)
  • Full Disk Access is requested at startup

Tech Stack

  • Swift 6 โ€” actors, async/await, structured task groups
  • SwiftUI โ€” @Observable, NavigationSplitView, Charts, Liquid Glass
  • System Frameworks โ€” AppIntents, FoundationModels, CryptoKit
  • Build โ€” XcodeGen, validated build-time path code generation, whole-module optimization, -O Swift flag
  • Logging โ€” OSLog with structured subsystems
  • Architecture โ€” feature-oriented folders, component-based cleanup

Build from Source

Requirements: macOS 26.0+, Xcode 18+, XcodeGen

cd MacOSCleaner
xcodegen
open MacOSCleaner.xcodeproj

Use โŒ˜R to run, โŒ˜U to test, or Product โ†’ Archive to create a distributable app.


Troubleshooting

โš ๏ธ Fix damaged app attributes (if macOS asks you to move app to trash):

sudo xattr -r -c /Applications/MacOSCleaner.app

Logs: open Console.app โ†’ filter by subsystem input.MacOSCleaner.


๐Ÿšง Currently Working On

Track active development, upcoming releases, and share your ideas in Discussion #12.


Feedback & Contributions

Found a bug or have an idea? Open an issue โ€” contributions are welcome.

For detailed documentation, user guides, and FAQs, visit the ๐Ÿ“– MacOSCleaner Wiki.

Note: All contributions are subject to the project's Contributor License Agreement (CLA) to maintain dual-licensing capabilities.


โญ๏ธ Support & Star the Project

If MacOS Cleaner helped you free up disk space or speed up your Mac, please consider giving the repository a โญ๏ธ Star on GitHub! It takes 5 seconds and helps more macOS users find the app.

Star MacOS Cleaner on GitHub


License

Dual-licensed under:

  • GNU GPLv3 + Commons Clause v1.0 (Custom Non-Commercial) for open-source use, personal study, and non-commercial distribution. Direct sale, re-licensing, or commercialization of the software/binaries is strictly prohibited.
  • Commercial License for proprietary, enterprise, or commercial distribution. Contact the author for commercial licensing inquiries.

Trademark & Branding Notice: This license does not grant permission to use the project name ("MacOSCleaner"), logos, app icons, or branding in derivative works or redistributions. Modified versions or redistributions must remove or replace all official project branding.