Quick start
Five commands and you know where your disk space went.
1. Look at your drives
Section titled “1. Look at your drives”uv run diskgoup drives╭──────────┬─────────────────┬────────┬─────────┬─────────┬─────────┬────────╮│ Mount │ Device │ Type │ Total │ Used │ Free │ Usage │├──────────┼─────────────────┼────────┼─────────┼─────────┼─────────┼────────┤│ / │ /dev/disk3s5 │ apfs │ 494 GB │ 121 GB │ 358 GB │ 25% │╰──────────┴─────────────────┴────────┴─────────┴─────────┴─────────┴────────╯On macOS the APFS container is collapsed into one row, so you see one disk rather than the sealed system volume, the data volume and the helper volumes.
2. Scan something
Section titled “2. Scan something”uv run diskgoup scan ~The scan walks the tree once and writes every entry into the SQLite index. The progress line updates while it runs:
182,441 files · 41.2 GB · 12.4s✔ scanned /Users/you 182,441 files · 21,904 folders · 41.2 GB logical · 38.9 GB on disk · 12.4s scan id 1Every later command reads that index instead of walking the disk again.
3. Look at it from different angles
Section titled “3. Look at it from different angles”uv run diskgoup tree ~ --depth 2 # the folder treeuv run diskgoup sizes ~ --limit 10 # the biggest folders and filesuv run diskgoup types ~ # the file-type breakdownuv run diskgoup age ~ # how old the files are4. Draw it
Section titled “4. Draw it”uv run diskgoup treemap ~ --output treemap.svgThat writes a standalone SVG. Swap treemap for sunburst, flame,
bubbles or mindmap — all eight Explore views are the same scan seen from a
different angle.
5. Find what you can reclaim
Section titled “5. Find what you can reclaim”uv run diskgoup duplicates ~ --min-size 1048576312 duplicate groups · 4.8 GB reclaimable · 24,910 candidatesOr ask the tool what is safe to remove on its own:
uv run diskgoup cleanup stage ~/Library/Caches/exampleuv run diskgoup cleanup listuv run diskgoup cleanup validateuv run diskgoup cleanup commitNothing is deleted at the stage step. The commit asks for confirmation, and
the list is validated again immediately before anything moves to the recycle
bin.
Making it scriptable
Section titled “Making it scriptable”Every command accepts --json, which replaces the formatted output with a
machine-readable payload:
uv run diskgoup --json sizes ~ --limit 5{ "scan": { "scan_id": 1, "root": "/Users/you", "total_size": 44256345344, "…": "…" }, "entries": [ { "name": "Downloads", "path": "/Users/you/Downloads", "is_dir": true, "size": 12884901888, "on_disk": 12884901888, "kind": "other", "protected": false, "share": 0.291 } ]}--json is the contract the desktop app builds on. It is also the easiest way
to script DiskGOup from a shell.
- Scanning → — scan options, reusing scans, refreshing one folder.
- Cleaning up safely → — the full staged flow.