Anthropic Issue #18869 opens with one sentence that quietly reframes what a Mac cleaner needs to do: "My Apple M1 Max with a 1TB drive failed to update macOS last night due to low diskspace." The developer used DaisyDisk to find 472 GB of Claude CLI debug logs and MCP traces. One tool, one bug, one Mac. CleanMyDev vs Room Service is one of the first head-to-head comparisons in the category of cleaner built for problems like that.
Why does a Room Service comparison need to exist at all?
Until late 2025, "what cleaner should I use on my Mac" had two answers for non-devs (CleanMyMac or a free utility like OmniDiskSweeper) and one for devs (a personal shell script). None of those accounted for AI coding tools and local LLMs quietly becoming the largest disk consumers on a working dev Mac.
Room Service was one of the first cleaners to advertise itself with the AI artifact angle baked in. The pitch is sharper than CleanMyMac's smart-scan framing because it names the paths people are searching for. CleanMyDev launched with a wider scope, treating model weights as one category among many. Both agreed on a thing the consumer cleaners missed: devs want to see the path, the size, and the last-used date before any byte is deleted.
How do CleanMyDev and Room Service price up?
Neither tool wants your card on file forever. The difference is in the sticker and what you get for it.
| Item | Room Service | CleanMyDev |
|---|---|---|
| Price model | one-time lifetime | one-time lifetime |
| Headline price | ~$19 to $25 once | $9.99 once |
| Yearly renewal | none | none |
| Free trial | scan-only demo | read-only audit mode |
| Subscription auto-renew | no | no |
| Bundled in Setapp | no | no |
| Account required | no | no |
| Telemetry | minimal, opt-in | none, no account |
Over five years on a single Mac, Room Service stays around its sticker, CleanMyDev stays at $9.99, and CleanMyMac costs about $200 at the current yearly rate. Both indie tools sit in the same psychological bucket. Price is not the deciding factor. Scope is.
What does each cleaner actually scan?
This is the substance of CleanMyDev vs Room Service. Below is a side-by-side for the categories that pile up on a modern dev Mac.
| Category | Specific paths | Room Service | CleanMyDev |
|---|---|---|---|
| Ollama models | ~/.ollama/models/ |
yes, inspect-first | yes, inspect-first |
| Hugging Face hub cache | ~/.cache/huggingface/hub/ |
yes | yes |
| Hugging Face datasets | ~/.cache/huggingface/datasets/ |
partial | yes |
| Hugging Face transformers | ~/.cache/huggingface/transformers/ |
partial | yes |
| LM Studio models | ~/.lmstudio/models/, ~/.cache/lm-studio/ |
yes | yes |
| GPT4All / generic GGUF | ~/Library/Application Support/nomic.ai/GPT4All/ |
partial | yes |
| Claude Code debug | ~/.claude/debug/, ~/.claude/projects/ |
partial | yes |
| Claude CLI MCP logs | ~/Library/Caches/claude-cli-nodejs/ |
no | yes |
| Codex CLI sessions | ~/.codex/sessions/, rollouts, worktrees |
no | yes |
| Cursor workspaceStorage | ~/Library/Application Support/Cursor/User/workspaceStorage/ packfiles |
partial | yes |
| Cline checkpoints | ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/ |
no | yes |
| Factory AI cache | ~/.factory/, ~/Library/Caches/factory-ai/ |
no | yes |
| Windsurf / Codeium | ~/.codeium/, ~/Library/Application Support/Windsurf/ |
no | yes |
| Gemini CLI | ~/.gemini/ |
no | yes |
| Xcode DerivedData | ~/Library/Developer/Xcode/DerivedData/ |
partial | yes |
| Xcode Archives | ~/Library/Developer/Xcode/Archives/ |
no | yes |
| iOS DeviceSupport | ~/Library/Developer/Xcode/iOS DeviceSupport/ |
no | yes |
| CoreSimulator caches | ~/Library/Developer/CoreSimulator/Caches/ |
no | yes |
| Orphaned sim runtimes | /System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime/ |
no | yes |
xctestdevices |
~/Library/Developer/XCTestDevices/ |
no | yes |
| Docker.raw | ~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw |
no | yes |
| Docker images, volumes, build cache | via Docker socket | no | yes |
| Colima / OrbStack data | ~/.colima/, ~/.orbstack/ |
no | yes |
| npm / pnpm / bun / yarn caches | ~/.npm/_cacache/, ~/.pnpm-store/, ~/.bun/install/cache/, ~/.yarn/ |
no | yes |
node_modules graveyard |
recursive scan across user folders | no | yes |
| Playwright browsers | ~/Library/Caches/ms-playwright/ |
no | yes |
Room Service does the AI-weight category well, and that is useful work. The honest read is that Room Service fits someone whose primary disk pain is local model storage and whose Xcode and Docker are already under control. CleanMyDev is the choice when you want all of it audited at once.
How does each tool handle the dangerous categories?
Local AI model weights are the most expensive things on the disk to redownload. The brtkwr "Using Claude to free 200GB" writeup flags this directly: "Unused GPT4All / LLM model files" sat at 7 GB on a single dev Mac, but the same shape can be 70 GB if you forgot a quantised 70B model in the cache. The rule both Room Service and CleanMyDev settled on is the same: inspect, archive, move, or delete, never auto-purge.
Room Service surfaces the per-model list under a single AI Models page. It tags each model with a size and last-used date. The default action is selective delete with a confirm dialog.
CleanMyDev surfaces the same list, plus the Hugging Face triple cache split into three rows, plus an option to mark a model as archived to an external volume so future audits stop nagging. The default action is Move to Trash with a seven day window, not permanent delete on confirm.
The same idea applies to ~/.claude/, which is documented as a source of cascade failures in Anthropic Issue #24207 where unbounded growth corrupted auth at 0 bytes free. CleanMyDev splits the tree into debug, projects, settings, and auth rows so you can trash the diagnostic folders without going near the credential store. Room Service treats ~/.claude/ as a single AI-tools row at the current product version.
What does a typical cleanup workflow look like?
Both tools start from an audit. The visible difference is per-subpath granularity. Here is a CleanMyDev session expressed as the terminal equivalent of what the GUI runs.
# 1. Audit only. Walk every known dev cache path and print sizes.
du -sh \
~/.ollama/models \
~/.lmstudio/models \
~/.cache/huggingface/hub \
~/.cache/huggingface/datasets \
~/.cache/huggingface/transformers \
~/.claude/debug \
~/.claude/projects \
~/Library/Caches/claude-cli-nodejs \
~/.codex/sessions \
~/Library/Application\ Support/Cursor/User/workspaceStorage \
~/Library/Developer/Xcode/DerivedData \
~/Library/Developer/Xcode/Archives \
~/Library/Developer/Xcode/"iOS DeviceSupport" 2>/dev/null
# 2. Move to Trash, not rm. CleanMyDev wraps NSFileManager
# trashItem(at:resultingItemURL:) so Finder can restore on regret.
osascript -e 'tell application "Finder" to delete POSIX file "/Users/me/Library/Developer/Xcode/DerivedData"'
# 3. Cap future Claude growth so the 472 GB bug cannot repeat.
echo '{ "cleanupPeriodDays": 4 }' > ~/.claude/settings.json
Room Service wraps a similar audit and confirm pass. The difference is what each row shows. Room Service collapses Hugging Face into one triple-cache row. CleanMyDev shows three. Room Service collapses ~/.claude/ into one row. CleanMyDev shows the subpaths. On a clean baseline the two views look identical. On a screen that says "47 GB of Claude state, you have no idea which 47," the per-subpath breakdown is what you want.
Which one should you pick?
Use this decision matrix rather than guessing.
| Your stack | Pick |
|---|---|
| Local LLM heavy, mostly Ollama and LM Studio | Room Service (calm UI, AI-first framing) |
| Local LLM plus Hugging Face datasets noise | CleanMyDev (per-cache breakdown of hub, datasets, transformers) |
| iOS dev with Xcode plus AI tooling | CleanMyDev (deep Xcode coverage Room Service does not have) |
| AI editor sprawl (Claude, Cursor, Codex, Cline, Windsurf) | CleanMyDev (per-tool subpaths) |
| JS toolchain plus Docker | CleanMyDev (Docker socket plus node_modules graveyard) |
| You want the smallest possible AI cleaner | Room Service (tight scope) |
| You want a free read-only audit before paying | CleanMyDev (audit mode is free) |
| You want to read receipts before any byte is deleted | either, both are review-first |
For how this style of comparison maps onto other dev-focused cleaners, the Pearcleaner comparison covers the open-source uninstaller angle, and the Devpurge comparison covers the closest indie competitor by scope. The trust argument behind review-first cleaners is laid out in why CleanMyDev shows receipts.
Can you trial both?
Yes. Room Service ships a scan-only demo. CleanMyDev ships a free read-only audit mode that writes a full JSON inventory with sizes and last-used dates. Run both on the same Mac. The one that shows you a category you forgot is the one that earns the sticker.
If your disk pain is the modern AI plus iOS plus containers stack and you want the cleaner with the broadest coverage at the lowest sticker price, the CleanMyDev pricing page is at /#pricing. One-time $9.99 lifetime, Move to Trash by default, no sudo, no account, no telemetry, no renewal, no upsell. The audit mode is free. If after the side-by-side you decide Room Service is the better fit for a Mac that is mostly Ollama and not much else, that is fine too. The category is wide enough for both. The thing every dev cleaner agrees on is that the Claude Code 472 GB blowup is the new baseline for what a Mac cleaner has to handle.