How to run long AI jobs unattended on your Mac
- Some work is too long to babysit: a large refactor, a sweep across many files, a research task with dozens of steps.
- Outlier can keep working on one after you walk away, carrying context forward between iterations.
- It self-limits — a cycle budget and a time budget — so "unattended" never means "unbounded".
- A kill switch is checked every iteration, so stopping it is always one action.
The reason people babysit AI is not enthusiasm — it is that a metered assistant with no memory of the last step will happily burn money going in circles. Remove the meter and add carry-forward, and leaving it running becomes reasonable.
The three rails, and their actual values
“It self-limits” is the sort of claim worth distrusting, so here are the limits as the shipping app enforces them. Each is a default you can raise or lower per job; none of them is advice.
| Rail | Default | Checked | What happens when it trips |
|---|---|---|---|
| Cycle budget | 200 iterations | Before each iteration | Stops, reporting that it reached the cycle budget |
| Time budget | 24 hours from the start | Before each iteration | Stops, reporting that it reached the hour budget |
| Kill switch | — | Every iteration, not only at start | Stops immediately and records the reason as the kill switch |
The third row is the one that matters most and the easiest to get wrong. A kill switch read only at launch is decoration: by the time you want it, the job is already inside a loop that never looks at it again. Checking it before every iteration is what makes stopping a job one action rather than a negotiation — and it is why the other two rails can be generous without being reckless.
Two budgets rather than one, because they fail differently. A job that is fast and wrong burns through 200 iterations in minutes; a job that is slow and stuck may use ten and sit for a day. Either alone leaves the other case running.
src/main.js, the iteration guard); the kill switch is checked at the top of every
iteration and returns a stopped state with the kill switch named as the reason
(src/pro/lib/autonomy.js). These are the values the code enforces, not
documentation of intent.Why unattended is different from a long prompt
A long prompt is one turn. An unattended job is many, where each iteration has to know what the previous one learned, decide what is left, and stop when it is done or out of budget.
That last part is the one people skip. Without a budget, an agent that misunderstands the goal doesn't fail — it loops. Cost is what usually caps that in the cloud; locally there is no cost signal, so the limit has to be explicit.
Setting one running
- Describe the job as an outcome, not a single instruction.
- Let it self-pace. It decides when to run the next iteration rather than hammering continuously.
- Leave it. Progress carries forward between cycles.
- Stop it whenever — the kill switch is checked every iteration.
The budgets are real limits, not suggestions: a cap on cycles and a cap on wall-clock hours, both enforced by the loop itself.
The honest limits
- It is not magic on hard problems. A long run gives a model more attempts, not more capability.
- Review the output. Unattended means unattended while it runs, not unreviewed when it finishes.
- It uses your machine. A long job will keep a chunk of your Mac busy; plan around that.
- Scope beats optimism. Jobs with a checkable finish line go far better than open-ended ones.
Common questions
Can AI keep working while I'm away from my Mac?
Yes. Self-running tasks continue across iterations, carrying state forward, with cycle and time budgets so a misunderstood goal cannot loop indefinitely.
What stops it running forever?
Two explicit budgets — a maximum number of cycles and a maximum elapsed time — plus a kill switch the loop checks every iteration.
Does a long job cost more?
No. Local inference has no per-token charge, which is exactly why letting something iterate is reasonable here and expensive in the cloud.
Does it need internet?
No, unless the job itself asks for web research. The model and your files are local.
Try it on your own Mac
One signed, notarized download. No account, no token bill, and it keeps working with the Wi-Fi off.
Free: Nano + Lite. Pro: $249 once · or 4 × $62.25; $124.50 for the first 25 · or 4 × $31.13. macOS 26+. In the US, Klarna or Afterpay at checkout: four payments, two weeks apart. Refund window: 30 days, no questions asked.
Download free (290 MB) Buy ProOn your phone?