A Mac app for developers who use AI coding agents | Launch price $19 until October 25
Clean up what your AI agents left behind.
AiRay checks what you'd lose first, then frees the space safely.
Free download | macOS 14 Sonoma or later | Apple silicon and Intel

AI agent data piled up on one Mac
36.8GB
About 14% of a 256 GB Mac
The average left on the Macs of developers who use AI agents heavily.
Find
Every project on your Mac, in one place
Worktrees, node_modules and agent records, grouped by project.

Receipt
See what you'd lose before you delete
Uncommitted changes, projects with no remote, stashes and .env files get flagged first.

Clean
Clear many at once, safely
Rebuildable files go right away. Projects with no remote and uncommitted changes are archived and verified first.

Put Back
Changed your mind? Put it back
Projects in the Trash return to where they were, commits and stashes included.

Activity
Everything your agents did, at a glance
How much you shipped each day, and where your time went.

Built to be safe
Scans only read
Nothing is written to your projects.
Your code stays on your Mac
No project names, paths or code are sent.
You can always put it back
Anything moved to the Trash comes back from the app.
Seeing is free. Restoring is free. Cleaning is Pro.
You can try one cleanup free: one item, or several at once up to 5 GB. After that, cleaning needs Pro.
Free
$0
Never expires. Fine to use on work Macs.
See everything, every safety receipt, and Restore. Try one cleanup free.
Download freePro
$19
One payment, VAT included. Not a subscription
Launch price until October 25. $24 starting October 26
Unlimited bulk runs, automatic cleanup rules, 2 Macs.
Perpetual license: every future update is included at no extra cost. Data-safety fixes are free for everyone.
Download, then upgrade in the appYou pay inside the app: Buy Pro on the upgrade screen opens checkout.
Pro turns on as soon as you pay, which limits the right of withdrawal. Refund policy
Charged in US dollars, by card or wallet.
| Feature | Free | Pro |
|---|---|---|
| Scan every project on your Mac, no project cap | Included | Included |
| Recent work: briefing, swimlane, commits and agent sessions | Included | Included |
| Safety colors, space map and every receipt | Included | Included |
| Share card | Included | Included |
| Regrowth alert (weekly, read-only) | Included | Included |
| Menu bar item | Included | Included |
| Also finds local AI models, the npx cache, simulators, and Docker and Android SDK sizes | Included | Included |
| Clean, archive or trash | One free try (one item, or several up to 5 GB) | Unlimited, many at once |
| Automatic cleanup rules (only the ones you turn on, re-checked before each run) | Not included | Included |
| Restore, Put Back and History | Always | Always |
| License | Not needed | 2 Macs (move to a new Mac once every 30 days) |
| Updates | Included | Every future update |
- The free version is fine on work Macs too. No account, no DRM.
- No subscription. No countdown timers. The free version never expires.
- Automatic rules only take what a manual cleanup would, re-check every item right before it runs, and list everything in History. Agent files and models go to the Trash.
Questions
What is AiRay?
AiRay is a Mac disk cleanup app for developers who use AI coding agents like Claude Code and Codex. It finds the projects, git worktrees, node_modules and other build files, and agent chat history scattered across your Mac, and shows them project by project. Before anything is deleted it checks for uncommitted changes, unpushed commits and projects with no remote, backs up work you could lose, then moves items to the Trash. Projects moved to the Trash can be put back where they were. Made by JoCoding, Inc. (the JoCoding team).
How do I safely delete node_modules and git worktrees on a Mac?
Deleting the folder by hand can take uncommitted changes, unpushed commits, stashes and files like .env with it. AiRay scans each project for that kind of work first, clears only what can be reinstalled (node_modules, build folders, caches), and retires worktrees after checking their repo. It shows you the plan before it runs and checks again right before each step.
I moved projects to the Trash. Why didn't I get the space back?
macOS only frees Trash space when you empty the Trash. So the app always shows two numbers: what's freed right away (rebuildable folders are cleared on the spot) and what you get back once you empty the Trash. Recently Removed shows how much is waiting. You can also empty just the items the app removed that have a verified archive or were verified against their remote.
How does Restore work?
There are two ways back. While a project is in the Trash, Put Back in Recently Removed moves it to its original folder (and asks where to put it if that path is taken). After the Trash is emptied, Restore uses the archive: it extracts to a temporary folder, checks every file against the manifest, runs git fsck, compares branches and stash count, and only then moves it into place. It never overwrites anything. Dependencies aren't archived, so run your install command after restoring; the app shows you which one.
What if something was removed by mistake?
Do these in order. Don't empty the Trash. Open Recently Removed and click Put Back: the project goes back where it was. If the Trash was already emptied, open Archive and choose Restore. If anything still looks off, email bill@jocoding.net with 'Safety' in the subject and attach the log from History > Export log. We handle these first.
What does 'made with agents' mean?
A commit counts if it has an AI co-author trailer (Claude, Codex, Cursor and others), or if it was made during a Claude Code, Codex or Gemini session in the same project, matched by time. The time match is why Codex work shows up even without trailers. It's an estimate, and the app labels it 'matched by time'. It never reads token counts, cost or usage.
Which tools does it support?
Sessions from Claude Code, Codex and Gemini CLI are read and matched to your projects and commits. Cursor is counted from the co-author trailers it leaves on commits, and Cursor's app caches can be cleaned. VS Code and Windsurf show when you last opened a project, and Superset shows the worktrees it created. Whatever tool you use, commits and sizes come straight from git and your disk. Tools are shown by name, never by logo, and the app isn't affiliated with any of them.
Does it upload anything?
Not your project names, paths, commit messages, branches, remotes, prompts or file contents. It sends usage statistics only if you turn on anonymous statistics (off by default), and then only numbers like scans finished, cleanups run and size ranges. There is no account. It contacts our server for the signed safety switch (airay.jocoding.io/api/killswitch), update checks (airay.jocoding.io/downloads/appcast.xml) and, with Pro, the license check. The license check carries only a license token and a hashed device ID (plus, when Pro first turns on, the payment number or code, the app version and the Mac model name). None of these carries anything about your projects. When you run a plan, it also checks your remote live with your own git setup, the same as git ls-remote. That goes to GitHub or wherever your remote lives, not to us. Details are in the privacy policy.
Does it run on Intel Macs?
Yes. It's a universal app for Apple silicon and Intel, on macOS 14 Sonoma or later.
Windows? Linux?
Not yet. It's Mac-only for now. If you want it on Windows, tell us at bill@jocoding.net; that's how we'll decide.
How is it different from Mole, CleanMyMac, DaisyDisk or DevCleaner?
They're all good at what they do. Mole and CleanMyMac clean and maintain the whole Mac: caches, apps, system junk. DaisyDisk shows where your disk space went. DevCleaner clears developer tool caches. This app starts from your projects instead, and focuses on two things. First, it finds what AI agents left behind, sorted by project: worktrees, node_modules, and agent history from Claude Code, Codex, Gemini and claude-mem. Second, before a project folder goes, it shows what you'd lose (uncommitted changes, unpushed commits, stashes, local .env files), checks your remote live, and backs up uncommitted changes and projects with no remote into a verified archive you can restore. Use it alongside the others.
Will it touch a project I'm working on?
It never suggests projects you've touched in the last 7 days or pinned. If you pick one yourself, it starts unchecked in the plan, marked 'You're working on this.' Folders with a running dev server or agent are skipped, checked when the plan is made and again right before each step.
How do I turn on Safe mode?
Settings > Safety > Safe mode. With it on, the app scans, shows and restores, but removes nothing. On a managed Mac, an admin can turn it on with defaults write {bundleId} SafeMode -bool YES.
Why isn't it on the Mac App Store?
The App Store sandbox doesn't let apps run git, and reading git is the whole point. So it's a direct download, signed with Developer ID and notarized by Apple, and it updates itself from inside the app.
Is Pro a subscription?
No. Pay once (VAT included) and use it on 2 Macs. You can move it to a new Mac once every 30 days. Perpetual license: every future update is included at no extra cost, and data-safety fixes are free for everyone. Everything the app shows, every safety receipt and every restore stay free. You can also try one cleanup free.
Can I use it on a work Mac?
Yes. The free version is fine on work Macs. Pro is a license for one person on up to 2 Macs.
How do I pay?
Inside the app. On the upgrade screen, Buy Pro opens Stripe checkout in your browser. To pay on your phone, scan the QR code on the same screen. Once the payment is confirmed, Pro turns on in the app. Details are in the refund policy.
Do cards from outside Korea work?
Yes. English checkout charges in US dollars by card or wallet. Korean checkout charges in won and accepts Korean cards, KakaoPay, Naver Pay and cards issued abroad (your card issuer may add a fee).
Can my team buy multiple licenses?
For now, it's one license per purchase. A license is for one person on up to 2 Macs. For 5 or more people, email bill@jocoding.net first.
Can I get a receipt or invoice?
Stripe (or Link) emails your receipt to the address you enter at checkout. If you need anything else for expenses, email bill@jocoding.net with the receipt.
How long do I get updates?
Perpetual license: every future update is included at no extra cost. Data-safety fixes are free for everyone.
Who makes it?
JoCoding, Inc. (the JoCoding team) makes it as our own product. It's also been featured on JoCoding's AI News. Send questions to bill@jocoding.net.
See what AI agents left on your Mac.
Scanning changes nothing, and nothing is removed until you've reviewed the plan.
Free download | macOS 14 Sonoma or later | Apple silicon and Intel
