Keeps working when you close it
Closing the window ends the view, not the work.
The window is a view. Closing it ends the view, not the work.
- close the tab mid-task
- quit the terminal app
- a reminder with no window open
Try it in CodeAF
- Where
In any project.
- Type
/task solo run the test suite, then write a one-line summary to RESULT.txtThen press Enter, and close the terminal while the task is still running.
- You see
Run
codeafin the same folder again. You are back in the same conversation, and the task has landed:◆ … · done · 1 file · branch kept.
Two small pieces, and neither is a service
Your conversation lives in the folder's engine, a process with no terminal of its own, and your window is a view onto it. Close the window and replies keep arriving, tasks keep running, and questions wait for you. When a conversation has nothing left to do, the engine keeps it for half an hour and then exits by itself. codeaf engine --status --workspace "$PWD" shows what it holds, and --stop ends it.
Standing orders need nothing open at all. The first reminder, schedule or watch you set up installs one timer under your login: a systemd user timer on Linux, a launchd agent on macOS. Every 5 minutes it runs codeaf tick, which does whatever is due and exits, usually within a second. While a window or an engine is open, that process runs the same pass instead. The chat says so once: checks every 5 minutes, window or not · background checks under /settings.
Where it stops
Nothing runs while the machine sleeps; the Linux timer catches up once when it wakes. Nothing runs when you are logged out. On Windows there is no timer, so orders are checked only while a window is open. What fires with nothing open waits in the conversation that asked.
Things to build
- An end-of-day handoff: start a long
/taskbefore you leave, close the terminal but not the lid, and read its landing line when you open the folder again. - A reminder that outlives the tab: "Remind me at 5 to push the release branch", then close every window; the timer delivers it, and the line is waiting in that conversation.
- A dev box that never sleeps: run the conversation there with
codeaf chat --host devbox, close the lid, and its tasks carry on over there. Remote machines - A morning report with nothing open: a nightly routine set once, run by the timer, read on home. Run a nightly test routine
Go further
Running unattended: Standing work runs only under what you already allowed, shares one daily allowance, and earns trust one clean run at a time.
Coming soon: describe the org you want and CodeAF builds it: teams, managers, budgets, standing orders.