A normal message asks for a turn. A goal gives the host an outcome to pursue across turns. Write down what would count as finished before enabling it.
Arm, review, then send
Use /goal in the project session composer. This arms goal mode; it does not submit the task. Any objective written after the command remains editable in the input. Review it and send the message to begin.
For example: “Find the failing parser case, fix it, and run the parser test file. Report the command and result.” Include the relevant constraints in the objective itself.
The goal chip appears only when armed or attached to a session. It is not an always-visible launch button. Goal UI depends on the Chat setting and is unavailable in VS Code.
Read the strip above the input
The strip reports progress, status and token usage. Evaluating means the host is deciding whether another turn is needed. Use Pause to interrupt the loop, or Resume when a paused or blocked task is ready to continue. The chip's removal control clears goal mode or the attached goal.
If the session asks a question, answer it and check the goal status before resuming. Completion is still something to verify against the files and results.
Leave the host in charge
The loop runs on the host, so closing a browser tab does not itself stop it. Shutting down the host does. Limits and errors can stop automatic continuation before the objective is complete. For recurring execution, configure a scheduled task rather than leaving a single goal to act as a timer.