CLI
Documentation

Version Latest

Goals, team runs and schedules

Let the CLI work unattended toward a goal, split a large task across parallel agents on separate branches, and run goals on a schedule.

Three ways to let the agent work without you answering each step. All of them respect deny rules and organisation governance, and none of them can give an approval that needs a person.

Goals: unattended work toward an objective

neuralinverse --goal "migrate the date helpers from moment to date-fns" --max-cost 5 --max-time 60
neuralinverse --goal-resume <id>

The agent keeps a goal file in .neuralinverse/goals/<id>.md (objective, plan, progress log, next steps) and keeps working turn after turn until it declares the goal complete, or a budget or iteration limit is reached. Declaring completion requires the project's checks to pass, when there are any.

Option or settingDefaultMeaning
--goal <objective>Start a goal run
--goal-resume <id>Continue a goal run
--checkpoint-every <k>0 (off)Commit progress to ni/goal/<id> every k iterations, without touching your branch
--max-cost <usd>, --max-time <minutes>Stop at an estimated cost or a run time
goals.maxIterations25Iteration limit
goals.checkpointEveryThe same as --checkpoint-every
goals.continuationPromptbuilt inThe base of the prompt that continues the goal at each iteration

Goals run in auto-edit mode by default and always respect deny rules. full-auto must be passed explicitly with --mode full-auto.

Team runs: parallel agents on separate branches

neuralinverse team "add CSV export to the reports page, with tests"
  1. Plan. A coordinator splits the goal into independent tasks with dependencies (team.maxTasks, default 6, at most 20).
  2. Work. Helper agents run in parallel (team.concurrency, default 3, at most 8), each in its own git worktree on ni/team/<run>/<task>, running the project's checks and committing their work.
  3. Integrate. Branches are merged in dependency order into ni/team/<run>/integration; conflicts go to a resolver agent and are checked again.
  4. Review. A reviewer reads the combined diff; blocking findings get one fix round.
  5. Report. Tasks, branches, check results and findings.

Your current branch is never changed. Review the integration branch yourself, or pass --apply to merge it; it asks for confirmation and is refused unless the run fully succeeded and your tree is clean.

OptionMeaning
--applyMerge the integration branch after confirmation
--allow-dirtyBase the run on a snapshot of uncommitted work without touching your working tree. Without it, a team run refuses to start with uncommitted changes
--max-tasks <n>Override team.maxTasks
--concurrency <n>Override team.concurrency

The agent can also start a team run itself through the team tool for large, separable tasks. "team": { "enabled": false } turns that off.

Schedules

neuralinverse schedule add "0 6 * * 1-5" --goal "update dependencies and fix anything that breaks" --cwd ~/work/api
neuralinverse schedule list
neuralinverse schedule remove <id>
neuralinverse schedule run <id>         # run now
neuralinverse schedule daemon           # run due jobs while this process is alive
neuralinverse schedule install          # write a launchd, systemd or Task Scheduler entry

Cron expressions use five fields (minute, hour, day of month, month, day of week) with ranges, steps, lists and names, evaluated in local time; --utc uses UTC. schedule install writes the service file for your operating system and prints the single command that activates it. Nothing is loaded for you. The installed entry runs neuralinverse schedule tick, which runs the jobs that are due and then exits.

Scheduled runs are non-interactive: anything that needs a person, such as flashing hardware or an approval governance asks for, is refused. See Non-interactive use and CI.

Last reviewed 17 October 2026View as Markdown

Goals, team runs and schedules · Docs · Neural Inverse