Support
A question, a bug, or something that looks off? Start here.
Email us
Write to bill@jocoding.net. Korean or English is fine.
Email usPlease include
- Your macOS version and Mac (Apple silicon or Intel)
- The app version (app menu > About AiRay)
- What you did, and what you expected to happen
- For a removal or restore: the History entry. History > Export log redacts paths by default.
Think something was removed that shouldn't have been?
Don't panic. Do these in order.
- 1Don't empty the Trash.
- 2Open Recently Removed and click Put Back. The project goes back where it was.
- 3If the Trash was already emptied, open Archive and choose Restore.
- 4Email bill@jocoding.net with 'Safety' in the subject and attach the exported History log. We handle these first, and we can pause removal for everyone while we look into it.
Common questions
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.
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.
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.
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.
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 does the free cleanup (once) work?
Your first cleanup run is free. In a one-item plan it runs that item, whatever its size; in a plan with several items it takes the checked items smallest first, up to 5 GB (at least 2). Change the checkboxes to pick others. It counts as used once an item completes; if you cancel or everything fails, you keep it. It's offered once per Mac user account. Restore and Put Back are always free, trial or not.
I got a new Mac. How do I move my license?
A license covers 2 Macs. If one slot is free, just enter your license code on the new Mac in Settings > License > Enter code. If both are taken, turn Pro off on the old Mac in Settings > License (always allowed). If you couldn't turn the old Mac off first, enter the code on the new Mac and choose Use this Mac instead next to the Mac you want to free. Moving from a new Mac works once every 30 days. Lost or broken Mac? Email bill@jocoding.net.
I lost my license code.
If you paid inside the app, open Settings > License on that Mac to show and copy the code. It's also on the page you saw after paying. If you have neither, email bill@jocoding.net from the address you paid with, include your receipt, and we'll resend it.
It says git is missing.
The app reads history with the git on your Mac. Install Apple's Command Line Tools (xcode-select --install in Terminal) or git from Homebrew, then rescan. Sizes and agent data work without it.
Some of my projects are missing.
macOS asks separately before an app can read Desktop, Documents and Downloads. If you skipped that prompt, allow access from the banner in the app or in Settings > Scanning, and add any other folders there.
How do I uninstall?
Quit the app and drag it from Applications to the Trash. To remove its data too, delete its folder in ~/Library/Application Support. Archives you made stay in ~/AiRay Archive until you delete them.