Jharu

Free · open source · no telemetry

The disk cleaner that understands AI and dev clutter.

Reclaim the gigabytes your models, package managers, and dead apps leave behind — on macOS and Windows.

Everything goes to the Trash — nothing is permanently deleted. Universal Mac build (Apple Silicon + Intel). Signed on both platforms.

jharu — scan complete
Hugging Face cache ML models 16.5 GB ~/.cache/huggingface · 7 never loaded
Ollama models unused 4 mo 12.4 GB ~/.ollama/models
npm cache safe 8.0 GB ~/.npm/_cacache
Conda environments 4 stale 3.3 GB ~/miniconda3/envs
Reclaimable right now 40.2 GB
Understands Hugging Face Ollama PyTorch Whisper conda npm Docker Xcode Cargo

The problem

Your disk is full of things you downloaded once.

A model you tried for an afternoon. Package caches from five virtualenvs. An app you uninstalled a year ago that never cleaned up after itself. Generic cleaners see folder sizes. Jharu knows what the data actually is — and whether you ever used it.

What makes it different

It tells used from merely downloaded.

Per-model ML intelligence

Every model listed individually — Hugging Face, Ollama, Whisper. Jharu separates models you actually loaded from ones downloaded once and never opened. Shared Ollama layers are kept, so removing one never breaks another.

See your whole disk as a map

A treemap sizes every folder by what it holds, colour-coded by type. Click a block to go inside. The biggest space-eater is simply the biggest rectangle — no more guessing.

Nothing is ever really deleted

Every clean moves data to the Trash or Recycle Bin, and a plain-English dialog tells you the real cost first — a cache rebuilds itself, a model re-downloads, your own files are gone for good.

Clean uninstaller

Removes an app and the support files, caches, and preferences it scattered across your system. On Windows it runs each program's own uninstaller, then sweeps the leftovers.

Python environment analyzer

Finds every virtualenv and conda environment and shows what duplication costs — the "torch is installed eleven times" problem, quantified across your whole machine.

Honest by design

No registry cleaner. Prefetch is shown but never cleared. If Jharu can't read a folder, it says so instead of hiding it. A cleaner that hides what it can't see is worse than one that admits it.

New in 1.0

From a cache cleaner to a full storage tool.

Jharu 1.0 opens on an Overview of every drive, adds a Speed tab with live load, a floating gadget and a careful task closer, and is now signed on both platforms. Released October 30, 2026.

Git worktrees

Finds the spare checkouts that git worktree, Claude Code and Codex leave behind. Only worktrees whose commits are already on the main branch and have nothing uncommitted are preselected. Branches are never deleted.

Build folders

node_modules, Rust target, .next, dist and more — offered only when the project beside it confirms what it is, with the command that brings it back.

AI coding tools

What Claude Code, Codex, Cursor, Windsurf, Copilot, Continue and Aider leave behind. Caches are safe once the tool is closed; conversations, memory and settings are never preselected.

Duplicates

Identical files and the same model stored by several tools, confirmed by BLAKE3 hashes — never by name or date. Hard links are recognised as shared space, not duplicates.

App sandboxes

The private AppData copies of Store (MSIX) apps on Windows and sandboxed apps on macOS, which most cleaners never show — one package held 86 GB.

System space

The hibernation file, restore points, the component store, Time Machine snapshots and Docker — each with what turning it off costs and the exact command Jharu runs.

Screenshots

What Jharu 1.0 looks like.

Real screens from the app. Every item is sized, explained in plain language and rated for how safe it is to remove — and anything removed goes to the Trash or Recycle Bin.

Jharu overview with free space on each drive, what is safe to clean now, live CPU and memory load, and cleanable space grouped by how safe it is

Overview — every drive and what is safe to clean now

The page Jharu opens on: free space on each drive and when it will fill up, what is safe to clean right now, live CPU and memory load, and cleanable space grouped by how safe it is.

Jharu dashboard showing reclaimable disk space, a storage breakdown bar, and developer cache findings with safety ratings

Dev clean — every known cache location, sized and rated

More than 25 developer and machine-learning cache locations, each with its size, a plain-language explanation and a safety rating.

Jharu ML models tab listing individual models with badges showing which were downloaded but never loaded

ML models — used versus downloaded and never loaded

Every Hugging Face, Ollama, Whisper and PyTorch model listed individually. In this example 21.1 GB of the 21.7 GB had been downloaded and never loaded once.

Jharu deep clean treemap with folders sized by disk usage and a notice naming folders that could not be read

Deep clean — folders sized by what they hold

A treemap where box area is size on disk and colour is the safety rating, with an honest notice naming any folders Jharu could not read.

Jharu AI tools tab separating caches that are safe to clear from conversation history and settings that are never selected automatically

AI tools — caches kept apart from history you cannot get back

What Claude Code, Codex, Cursor, Windsurf, Copilot, Continue and Aider leave behind. Rebuildable caches are safe once the tool is closed; conversations, memory and settings are never selected automatically.

Jharu Git worktrees tab totalling spare checkouts and the merged, clean ones that are safe to remove

Git worktrees — spare checkouts and which ones are merged

The full copies of a repository that git worktree, Claude Code and Codex leave behind. Jharu asks git which are merged and clean, and preselects only those.

Jharu Speed tab with live CPU, memory, swap and disk activity, and running programs that can be closed one at a time

Speed — live load and a careful task closer

Live CPU, memory, swap and disk activity, and running programs that can be closed one at a time. Jharu asks a program to close before it offers to force it.

Jharu System space tab explaining the hibernation file, what turning it off costs, and the exact command it will run

System space — the big things the operating system keeps

The hibernation file, restore points and Docker, each with what turning it off costs, how to undo it and the exact command Jharu will run.

Watch

See it reclaim gigabytes in under a minute.

One scan, a plain-English breakdown, and a click to clean — with the real numbers from a real machine.

Jharu demo — scanning and cleaning developer caches ▸ demo · jharu · macOS

Honest comparison

A free CleanMyMac alternative, built for people who make things.

Generic cleaners are built to look busy and sell a subscription. Jharu does one thing deeply: the developer and AI data no general-purpose cleaner understands.

JharuCleanMyMacCCleaner
PriceFree forever$40+/yrFreemium
Open sourceYes · Apache 2.0NoNo
Understands ML model cachesYesNoNo
Used vs never-loaded detectionYesNoNo
Telemetry / trackingNoneYesYes
macOS & WindowsBothmacOS onlyBoth
Registry "cleaner" snake oilNever—Yes

Answers

Frequently asked questions

Is Jharu a free disk cleaner?
Yes. Jharu is completely free and open source under the Apache 2.0 license — no subscription, no paid tier, no ads, and no telemetry. It runs on both macOS and Windows.
Is it an AI cleaner?
Not in the sense of using AI to decide what to delete — Jharu is precise and rule-based, not a guessing machine. But it is the best cleaner for AI clutter: it understands the model caches that tools like Hugging Face, Ollama, PyTorch, and Whisper leave behind, and tells you which models you actually loaded versus which you only downloaded.
How do I clear the Hugging Face or Ollama model cache?
Open Jharu's ML models tab. It lists every downloaded model with its exact size and whether you have loaded it since downloading. Select the ones you no longer need and move them to the Trash — they re-download automatically the next time your code asks for them. Shared Ollama layers are preserved so removing one model never breaks another.
Is it safe? Will it delete something important?
Nothing is ever permanently deleted — every clean moves data to the macOS Trash or Windows Recycle Bin, where you can restore it. Before each action a dialog states the real consequence in plain language, and operating-system locations are protected and can never be cleaned.
Is this a good free alternative to CleanMyMac or CCleaner?
Yes, especially for developers and machine-learning practitioners. It is free and open source with no upsell, and its focus is deeper: the model caches, package caches, virtual environments, and app leftovers that general-purpose cleaners do not understand.
Does it work on both Mac and Windows?
Yes. The macOS build is universal (Apple Silicon and Intel in one download); the Windows build is a standard 64-bit installer. Jharu keeps itself up to date in-app on both.
Is the installer signed? Will Windows or macOS warn me?
From version 1.0.0 Jharu is signed on both platforms. The Mac app carries an Apple Developer ID and is notarized by Apple, so it opens like any other app, and the Windows installer is signed so it names its publisher. While the new Windows signature builds its reputation, SmartScreen may still show “Windows protected your PC” for a while: click More info to see the publisher, then Run anyway. Every in-app update is verified by a cryptographic signature too.
Does Jharu update itself?
Yes. Jharu checks GitHub releases for new versions and downloads and installs them from inside the app, signed and verified, with a one-click restart.
What can Jharu clean on a Mac or Windows PC?
Jharu scans more than 25 developer and machine-learning cache locations (Hugging Face, Ollama, PyTorch, Whisper, conda, pip, uv, npm, yarn, pnpm, Cargo, Go, Gradle, Maven, NuGet, Homebrew, Xcode, Docker, JetBrains and more), Python environments, build folders, Git worktrees, AI coding tool leftovers, duplicate files, app leftovers, junk files, and on Windows the Store-app sandboxes. Everything it finds is sized, explained and rated for safety.
How do I safely delete old node_modules and build folders?
Open Jharu's Build folders tab. A folder is offered only when the project beside it confirms what it is — node_modules next to a package.json, Rust target next to a Cargo.toml, dist or build only when .gitignore lists them. Each folder shows the real space freed and the command that brings it back, and removal goes to the Trash or Recycle Bin.
Can Jharu clean up Claude Code, Codex and Cursor leftovers?
Yes. The AI tools tab finds what Claude Code, the Claude desktop app, OpenAI Codex, Cursor, Windsurf, GitHub Copilot in VS Code, Continue and Aider leave behind. Caches and logs a tool rebuilds are rated safe once the tool is closed; conversation transcripts, memory, settings and extensions are rated risky and never selected automatically.
Does Jharu find duplicate files and duplicate models?
Yes. It finds identical files in the folders you choose and the same model or package stored by several tools. Files are grouped by size, compared by their first and last 64 KB, then confirmed by a full BLAKE3 hash, so nothing is called a duplicate by name, size or date. Hard links are listed as already sharing space, not as duplicates.
Does Jharu need administrator permission?
Not for everyday cleaning. Only a few actions need it — looking at Windows restore points and the component store, and changing system-level items such as the hibernation file — and Jharu asks for it only when you click. Those steps run through a helper that accepts a fixed list of actions, never a command line.

Reclaim your disk in about a minute.

Download Jharu, run one scan, and see exactly what is safe to remove — with the real numbers from your own machine.

Signed: Mac app notarized by Apple, Windows installer signed with a verified publisher.

v1.0.0 · Apache 2.0 · source on GitHub