Goals and Todos
Two ways to run longer work without steering every turn.
Goals
A goal is a finish line. Describe the condition and the agent keeps working until it holds, instead of handing back after one turn.
/goal all tests in tests/auth pass
After each turn the agent evaluates whether the condition is met. If not, it continues.
/goal # status: the condition, turns spent, and why it isn't done/goal clear # stop
A good condition is checkable. "All tests in tests/auth pass" is something the agent can verify by
running them. "Make the code better" is not, so it will either stop early or never stop.
A new session (/new) or a cleared conversation (/clear) drops the active goal along with the
history.
Todos
For multi-step work the agent keeps a todo list, shown above the input while it isn't empty:
Todos /todo ├─ ☑ Read the failing test ├─ ☐ Fix the parser └─ ☐ Re-run the suite
It maintains the list itself as work progresses. You can edit it too:
/todo # open the editor/todo add write the tests # append an item/todo add setup | install deps # append with a phase label/todo clear # drop all of them
In the editor:
| Key | Action |
|---|---|
| ↑ / ↓ | Select |
| d | Mark done |
| x | Abandon |
| r | Remove |
| Esc | Close |
Todos and plan mode
Todos staged during plan mode survive the switch out of it, so the plan the agent proposed becomes the work list it then executes.
Reminders
If the agent yields with open todos still on the list, it gets one nudge to either finish them or close them out. The nudge is bounded - it won't loop arguing with a model that has genuinely stopped.