Muster Docs

Goals & autonomy

Normal turns wait for you. Goal mode doesn't: you give a bot an outcome, and it works toward it across consecutive turns — planning, acting, checking its own progress — until it reports done or its turn budget runs out. Autonomy that's bounded, visible, and one click to stop.

Bounded loop Default 5 rounds · cap 20 Stop anytime Provenance on every turn

Setting a goal

Open a bot conversation and look at the composer. The target icon toggles goal mode: armed, it means the next message starts an autonomous loop instead of a single turn. Type the outcome — "reconcile the invoices against the bank feed and report mismatches" — and send. The send button becomes the target; press it to start the goal loop.

The loop starts immediately: the goal text appears in the transcript as your message, and the bot gets a work order telling it to make real progress every turn and to end its reply with a marker (GOAL COMPLETE when fully achieved, GOAL IN PROGRESS when there's still meaningful work to do).

A few ground rules the server enforces:

What the loop does

Goal mode is a plan → act → verify cycle run by the harness, not the model grading itself:

  1. Act — the bot works one round on the goal, streaming its reply like any turn.
  2. Verify — when the turn settles, the harness reads the reply for the outcome marker. Case doesn't matter; if both markers appear, GOAL COMPLETE wins. A reply with no marker counts as still-in-progress, never as done.
  3. Continue — still in progress? The harness dispatches the next round itself: a continuation prompt restates the goal, names the round ("this is round 2 of 5"), and tells the bot to pick up where it left off, not restart. Continuations are control-plane text only the model sees — the transcript stays the human's record of what happened, not a pile of internal nudges.
# the loop, from your point of view:
you:      reconcile the invoices against the bank feed
bot:      round 1 — pulls the two lists, finds 3 mismatches…  GOAL IN PROGRESS
bot:      round 2 — checks each mismatch against receipts…   GOAL IN PROGRESS
bot:      round 3 — writes up the report with evidence…      GOAL COMPLETE
# goal ends as "done" — the bot reported the goal complete

Your own messages still work mid-loop. A plain message sent between rounds queues and runs like a normal turn — it doesn't consume the goal's budget or confuse the loop, which only counts rounds it dispatched itself. If the bot is busy when a continuation is due, the continuation waits (the harness retries every few seconds) and fires when the bot is idle.

The budget is the safety property

Autonomy is bounded. Each goal carries a round budget — 5 by default, 20 at the cap — and the loop stops itself the moment it's exhausted, reporting round limit reached (N). A goal cannot spin unattended past its cap, and any turn failure or server restart ends the loop visibly rather than leaving a zombie behind. If the bot disappears mid-goal, the goal fails with an outcome saying so.

Stopping a run

While a goal runs on the conversation, the goal banner sits above the composer: Goal · round N/M, the goal text, and a Stop button. Stop ends the loop immediately, no further rounds dispatch, and the run records that it was stopped by the user — you get the honest status, not a pretend completion. The banner plus the usage chip beside it always show what the goal is and what it's spending.

Goal outcomes

StatusWhat it means
activeLooping. The banner shows the round and the Stop button.
doneThe bot reported GOAL COMPLETE.
stoppedYou pressed Stop, the round budget ran out, the turn failed, or a restart interrupted it — the recorded outcome tells you which.
failedThe turn never started (bot gone, dispatch error) — the outcome carries the reason.

Goal mode or normal turns?

If the work is recurring instead of once, that's not a goal — that's a routine. Approvals still apply during goal runs: whatever the bot's permissions allow surfaces as approval cards exactly as in normal turns (see Approvals & privacy).

Provenance on every turn

Every reply in a goal loop — every round, not just the first — carries the same via chip as any other bot message: hover to see which engine instance and model produced that turn. If you changed the bot's model mid-goal, the transcript shows exactly where the handoff happened.