Skip to main content
Goal Mode keeps a Roomote session focused on one objective when the work may take more than a single turn. Roomote carries the objective into each turn, checks whether the full outcome is complete, and can continue automatically when more work remains. Use Goal Mode for work that has a clear finish line but may require several rounds of investigation, implementation, or verification. For a normal scoped request that should finish in one turn, send an ordinary session message instead.

Start Goal Mode

Goal Mode belongs to the current session. Roomote can answer directly, continue the session, or create child tasks as execution units while pursuing the goal.

From the web session view

Enter /goal followed by the objective in the composer:
Describe the complete outcome after the command. Goal Mode does not accept file attachments, so send any supporting files to the session before starting the goal.

From Discord

In a Roomote conversation or direct message, run:
The acknowledgement repeats the accepted objective. See Discord for the complete conversation workflow.

From Telegram

From a linked Telegram account, send /goal followed by the objective in a private bot chat:
In a group, address the command to the Roomote bot, such as /goal@<bot-username> <objective>, replacing the placeholder with the bot’s configured username, or mention the bot immediately before the command. The acknowledgement repeats the accepted objective. See Telegram for the complete conversation workflow.

What happens next

The first Goal Mode turn receives the objective as its session instruction. If the agent reaches the end of a turn before the objective is complete, Roomote can continue automatically in the same session. Child tasks may be created for repository or workspace execution, but they do not own the goal. By default, a goal can use up to five automatic continuation turns after its initial turn. The goal stops earlier when the agent verifies that the complete objective is done. It can also stop when the same concrete blocker prevents progress across three consecutive goal turns. If neither happens before the continuation budget is exhausted, the session settles without claiming the goal is complete. Ordinary follow-up messages in the session keep the active objective in context. Starting /goal again replaces the previous objective and resets the continuation budget for the new goal. If another Goal Mode activation is still pending, wait for it to finish before starting a replacement goal.

Write a useful objective

State what must be true when the work is done, the concrete evidence that will verify it, and any constraints that must remain intact. The path to the outcome can be uncertain, but the finish line should not be. A weak goal names an activity without defining success:
A stronger goal defines the outcome, verification surface, and constraint:
Other verifiable objectives include:
  • /goal Make the checkout test suite pass on the current branch, verified by a clean test run, without changing public API behavior
  • /goal Publish a Goal Mode guide that explains supported commands and completion states, verified by the docs build and current product behavior
  • /goal Produce a deployment comparison that recommends one option and includes sourced cost estimates, operational tradeoffs, and remaining uncertainties
Avoid open-ended objectives such as “keep improving the app.” Without a concrete finish line, the agent cannot reliably decide when the goal is complete.

When Goal Mode stops

Review the final session message and any child task logs, diffs, artifacts, and pull requests. A stopped goal may have one of these outcomes:
  • Complete: the agent verified the entire objective before closing out.
  • Blocked: the same external dependency or required user input prevented progress across three consecutive goal turns.
  • Continuation limit reached: the automatic continuation budget ran out before the agent could verify completion.
If the goal stops before the outcome is complete, send the missing information or narrow the remaining work, then start a new /goal in the same session.