When you have a command that proves the work is done, /goal lets OMS keep going until that independent check passes, or until a cap stops it. That saves you from judging “done” yourself, since the check decides.

Set a goal with a check

<text> describes the work, and --check gives the command that must pass. /goal uses the same retry and budget caps as a normal task. It stops when the same failure repeats twice, when attempts reach the cap (5 by default), or when the budget runs out. To clear a goal:

See where you stand

These work while the agent runs. Other commands wait or refuse.

Run the check yourself

/verify runs the independent offline verification without a model turn, which makes it the right thing to run after you edit files by hand.

If it does not finish

If the run stops with repeated_failure, the same failure came back twice. Read the feedback, change the requirement or the code, and run /goal again. If a requirement shows blocked, it was reopened 3 times. Look at the check output with /status and /diff. If the checker is unavailable, OMS stops instead of allowing the work through. Run /verify again, and if it keeps failing, check that Surfpool is running with oms doctor. You can stop a run at any time with /cancel. See The independent checker for what a pass means.