Stelladocs
Commands

stella goal

Work in judged rounds until a judge model confirms the goal is met.

Give Stella a goal and let it work in judged rounds until a judge model confirms, from evidence, that the goal has actually been met.

Synopsis

stella goal <goal> [--no-pipeline] [global flags]

What it does

stella goal works in rounds, each run through the staged pipeline by default — pass --no-pipeline for raw step-loop rounds instead. At the end of each round, a judge model independently assesses whether the goal is met — reading the changed files, tests, and CI with read-only tools, not just the worker's narration. The loop ends when the judge confirms success, or when a backstop trips: a hard round cap (default 8 rounds), the --budget limit, or a worker-turn abort. Reaching a backstop ends the run reporting the goal as not met.

Crucially, the judge is routed cross-family — it is a different model family than the worker, to avoid same-model bias. If only one provider family is configured, the worker doubles as its own judge.

For the full explanation of judged rounds, the cross-family judge, and the definition-of-done check, see Goal mode.

Flags

stella goal takes the global flags, plus one of its own:

FlagWhy it matters here
--no-pipelineEach working round runs the raw step loop instead of the staged pipeline (triage, plan, witness, execute, verify). The pipeline is the default.
--model <provider/model_id>Pin the worker model. The judge is routed to a different family automatically when one is available.
--budget <usd>Cap total spend across all rounds; work aborts cleanly once the cap is exceeded.

stella goal is an interactive mode: it always renders human-readable text and does not honor --output-format. Use stella run for headless json / stream-json output.

Configure at least two provider families if you want a truly independent judge. With a single family configured, the worker model judges its own work.

Examples

Work toward a goal until the judge confirms it is met:

stella goal "Migrate the config loader to use serde and add tests"

Pin the worker model and cap spend across all rounds (global flags go before the subcommand):

stella --model anthropic/claude-fable-5 --budget 10.00 \
  goal "Make the CLI exit with a non-zero code on invalid input"

Run raw step-loop rounds instead of the staged pipeline:

stella goal --no-pipeline "Silence the deprecation warnings in the build"

You can also run a goal-driven turn from the plain line REPL (stella chat --plain) with the /goal <goal> command.

Stella is totally free and open source, dual-licensed MIT or Apache 2.0— your choice: MIT's three-paragraph simplicity, or Apache 2.0's explicit patent grant that enterprises prefer. Use it, fork it, embed it, ship it — no account, no phone-home, no strings. What that means →

On this page