Skip to content
Minnow
21
Download

Scheduler

Scheduler runs a prompt on a schedule, without a conversation. Each job is a headless agent run in a workspace you choose with a model you choose — a nightly test summary, a Monday dependency check, a periodic sync of notes into Brain.

Open it from the app rail or the menubar. It opens as a side panel and deliberately does not take focus, so you can add a job without leaving what you are doing.

The one rule

Jobs only run while Minnow is running. Hidden in the system tray counts as running — that is the normal case, since closing the window hides to tray by default. Fully quitting stops the scheduler.

Minnow does not install an OS-level scheduled task, and it does not backfill runs it missed while closed. If a job must survive reboots, enable Launch Minnow at startup under Settings → General → Desktop app.

Creating a job

FieldNotes
LabelHow it appears in the list and in notifications
PromptWhat the agent should do each run. Treat it as a full brief, not a title.
ScheduleInterval or cron
ModeThe operating mode the run uses
Work agentOptional role — researcher, reviewer, and so on
Provider / modelWhich model runs it
WorkspaceThe project folder. Defaults to a scheduler workspace in your Minnow home.
ChannelsWhere results are announced
EnabledPause without deleting

Schedules

Interval takes forms like 60s, 5m, 2h. The minimum is 60 seconds — anything shorter is rejected.

Cron takes a standard five-field expression evaluated in your local timezone. Invalid expressions are rejected when you save, not silently at 3 a.m.

ExpressionMeaning
0 9 * * 1-509:00 on weekdays
30 2 * * *02:30 daily
0 */4 * * *Every four hours

The next run is computed from now; missed runs are not queued up and replayed.

Writing a prompt that works unattended

Nobody is there to answer a question or approve a tool. That changes how you write:

  • Be explicit about the output. “Run the test suite and write a three-line summary naming any failing files” beats “check the tests”.
  • Check your permissions first. A tool set to Ask in an unattended run just stalls. See Tools and permissions.
  • Say where results go. “Append findings to a Brain page called Nightly build” gives you something to read tomorrow. Otherwise the output lives only in run history.
  • Set the workspace deliberately. Wrong workspace means the right prompt operating on the wrong files.

Run history

Each job keeps its runs: start and finish times, status (running, completed, failed, timeout, cancelled), exit code, output, and errors. Runs persisted as chats can be reopened and read as conversations.

Notifications reach the menubar bell; Settings → General → Notifications controls whether background-job notifications appear and whether they make a sound.

Jobs live in scheduler.json and runs under scheduler-runs/ in your Minnow home.

Scheduler or /loop?

Scheduler/loop
Runs inA headless jobOne chat, keeping its context
NeedsMinnow openMinnow open and that chat idle
Good forReports, checks, syncsIterating on something until it is right
Keeps historyYes, per runIt is the conversation

See Skills and slash commands.

Troubleshooting

SymptomCheck
Never ranWas Minnow open? Is the job enabled? Interval at least 60 s?
Runs but does nothingA tool is probably on Ask with nobody to approve it
FailedRun history message. Does the model still exist? Does the workspace path still exist?
Touched the wrong filesThe workspace on the job
---