Skip to content

THE PIT STOP FOR YOUR MAC

Less clutter.
More momentum.

Reclaim the space taken by worktrees, dependencies and builds. A precise tool for developers moving fast — without leaving their Mac behind.

macOS Open source You stay in control.

BUILT FOR YOUR STACK Git worktreesReact NativeiOS / AndroidAI agents

Scan. Select. Breathe.

lu-cleaner on a demo home folder: scan, AI agent worktrees, project artifacts, confirmation, summary. The data is synthetic, hence sizes in MB; on a real machine, count in GB.

Your stack moves fast. So should your cleanup.

Section titled “Your stack moves fast. So should your cleanup.”

AI coding agents changed what fills a developer's disk. Every Codex, Cursor, Conductor or Claude Code task can spawn a git worktree with its own node_modules, ios/Pods and Android build. Simulators silently collect gigabytes of UI-test recordings. Package managers keep several global caches and node versions. General-purpose cleaners either don't know these places, or deliberately stay away from them.

lu-cleaner knows them — and knows which ones are safe to remove.

AI agent worktrees

Finds every linked worktree (Codex, Cursor, Conductor, Claude Code, manual), shows its branch and status — clean, dirty, unpushed, merged, orphaned — and removes finished ones with git worktree remove. Branches are always kept.

React Native aware

npkill-style scan of node_modules, ios/Pods, ios/build, android/app/build, .gradle, .cxx, .expo… with marker files and git-ignore checks so a folder named build that is source code is never touched.

Simulators & emulators

iOS simulators, runtimes, orphan device folders, XCTest recordings and unified logs; Android AVDs, unused system images, NDKs and Gradle distributions — including SDKs on external drives.

Safe by design

Every path is re-checked right before deletion: protected credentials and configs, inode identity, running apps, open databases, processes working inside, uncommitted work. Dry-run everywhere.

Fast

Written in Go, with native macOS reads and results streamed as they arrive. The default eco mode limits load; use --scan-mode fast when your Mac has room to accelerate.

Scriptable & LLM-friendly

--json everywhere, strict rules for non-interactive --yes, and this documentation is available as llms.txt for your coding assistant.

Terminal window
go install github.com/ludwig-pro/lu-cleaner/cmd/lu-cleaner@latest
lu-cleaner # dashboard: you pick what to remove, nothing is preselected
lu-cleaner clean --smart # same, but starts with the recommended items selected