Scheduling & pipelines
Run workflows automatically on a cron schedule, or chain multiple workflows into a single pipeline run.
Two ways to run workflows without clicking Run each time.
Scheduled runs
Schedules are cron-style, same syntax as Unix cron. Run a workflow daily, weekly, monthly, or any custom cadence.
Creating a schedule
Two entry points, both the clock icon:
- Workflow control bar clock icon: schedules the whole workflow.
- Per-agent clock icon (on an agent card): schedules the workflow to run with focus on that agent.
The Schedule popup asks for:
| Field | What it does |
|---|---|
| Label (optional) | Display name for the schedule. |
| One time / Recurring / On file change tabs | Pick a single future fire, a repeating cron schedule, or a file-watch trigger. |
| Cron expression | Standard 5-field cron syntax (e.g. 0 9 * * 1 = every Monday at 9 AM). Recurring tab only. Quick presets: Every hour, Every day at 09:00, Weekdays at 09:00, Mondays at 09:00, or Custom cron. |
| Timezone | Defaults to your system timezone; override per schedule if needed. Recurring tab only. |
| Run even when Cerevisor is closed | Registers an OS-level cron job so the schedule fires even while the app is closed. Recurring tab only. See Running schedules while Cerevisor is closed. |
| Date and time | A single future fire time. One time tab only. |
| Folder to watch / Filename pattern / Fire on | On file change tab only: pick a folder, an optional filename glob (* and ?, name only — subfolders are not watched), and whether to fire on created files, modified files, or both. |
The workflow target and run mode (whole workflow vs. single-agent focus) are set by which clock icon you used to open the popup, not by a field in the form. New schedules are saved enabled.
The popup shows:
- The next 3 fire times so you can sanity-check (time-based tabs only).
- A projected-cost estimate based on the median cost of the workflow's last 5 completed runs.
Fire on file change
The On file change tab makes the schedule event-driven: when a matching file is created or modified in the watched folder, the workflow runs, and the triggering file's path is passed to the entry agent so it can read and act on it. A few rules keep this sane:
- File-watch schedules fire only while Cerevisor is open — they can't run when closed.
- One run at a time: while a run started by the watcher is in flight, further file events are ignored.
- Rapid save-bursts from editors are debounced into one run.
- Cerevisor's own files (workflow saves, run outputs like
OUTPUTS.md) never trigger a run — but don't point the watcher at the workflow's own output folder anyway.
Managing schedules
The Schedule popup also lists the Existing schedules for the current scope (workflow or agent) at the bottom. Each row shows:
- The schedule label and trigger description (cron expression + timezone, one-time fire time, or the watched folder + pattern).
- Next fire time, or "Disabled".
- Last fired time and last-run error, if any.
- An Unattended badge when the schedule is set to run while Cerevisor is closed.
- An On/Off toggle.
- A Delete button.
What happens when a schedule fires
When the trigger fires, Cerevisor:
- Loads the schedule's workflow file fresh from disk. Workspace files (
.cerevisor-world) work too — the schedule targets the specific workflow inside them. - Resolves providers + skills + permissions the same way as a manual run.
- Runs the workflow (or just the scheduled agent, for per-agent schedules).
- Records the outcome on the schedule row and writes the run to the audit log.
By default a schedule only fires while Cerevisor is open — it runs on an in-process timer. If the app is closed at the scheduled time, the fire is missed and there is no catch-up run on next launch. To make a recurring schedule fire regardless, see Running schedules while Cerevisor is closed. Two schedules firing at the same minute both run — concurrent runs are allowed.
License gate
Scheduled runs are a Paid feature, available on Trial and Paid tiers. On Free tier the Schedule popup is replaced by an Upgrade Card, so you can't create or edit schedules. Schedules created earlier persist on Free, but a fire is a no-op and records "Scheduler is a paid feature. Upgrade to resume."
Running schedules while Cerevisor is closed
Enable Run even when Cerevisor is closed in the Schedule popup (Recurring tab) and Cerevisor registers a per-user OS-level cron job — Windows Task Scheduler, macOS launchd, or the Linux user crontab — that launches a headless run at the scheduled time. No administrator rights are needed. The schedule row shows an Unattended badge once this is on.
A headless run executes the workflow with no visible window. The run still happens through the same orchestrator as an attended run; it just has no UI.
Headless runs honor your saved permissions, strictly
A headless run has nobody to answer a permission prompt, so it runs under the workflow's saved permission policy with one change: anything that would normally pop a confirmation dialog is automatically denied, and the agent is told why so it can adapt.
- A workflow in Hands-free mode runs fully (within its saved capability caps).
- Auto runs routine actions (reads, writes, safe commands) and denies consequential ones (deletes, sends, untrusted integrations) — the popup warns you about this when you enable the toggle.
- Oversight denies most tool calls — the popup warns you when you enable the toggle on such a workflow.
Plan-approval steps auto-approve, and the ask_user tool returns "no user is available" so the agent proceeds on its best judgment.
Knowing the outcome
When a headless run finishes you get a native desktop notification (success or failure). The schedule row shows the result the next time you open Cerevisor, and a per-run line is appended to ~/.cerevisor/logs/headless-runs.ndjson.
Limits
- Only recurring (cron) schedules can run while closed — one-time and file-watch schedules fire only while the app is open.
- macOS and Windows: the OS scheduler is calendar-based and cannot express every cron expression. The four built-in presets and simple daily / weekly / monthly / interval expressions translate cleanly; a more exotic expression still saves, but a notice tells you it can only run while Cerevisor is open. Linux crontab accepts any expression.
- Windows: the run fires only while you are logged on — a headless window still needs an interactive session.
- If you open Cerevisor while a headless run is in progress, that run is promoted to a normal window — you are never locked out.
- OS cron jobs are registered only by the installed app, not by a development build.
Pipelines
A pipeline is an ordered chain of N workflows that run as one unit. Each workflow's output can feed into the next workflow's input.
When to use a pipeline vs. cross-workflow links
- Cross-workflow links (world view): visual, ad-hoc, you see the connections on the canvas.
- Pipelines: structural, ordered, scriptable, easier to schedule.
Use pipelines when the chain is stable and you want to invoke it as one thing. Use cross-workflow links when you're still exploring how the workflows interact.
Creating a pipeline
Title bar → Pipeline icon opens the Pipeline modal.
Configure:
- Pipeline Name: display name for the pipeline.
- Workflow Queue: the ordered list of workflow steps. Add a step with + Add Workflow (picks a
.cerevisorfile; a.cerevisor-worldfile works too and uses its active workflow). - Per-step context injection: a dropdown on each step controls how much of the prior workflows' output is injected into this step's first-wave agents: Auto (full context), Summary (~300 chars/output), Names only, or No context.
- Loop Count: how many times to repeat the whole pipeline (1-100).
- On Failure: Abort Pipeline, Skip & Continue, or Retry Once.
- Max Cost ($): total cost ceiling for the pipeline run. If reached, the run halts mid-pipeline.
- Max Turns: total agent-turn ceiling for the pipeline run.
- Pause between workflows for review: a checkbox that pauses the run between steps.
Each step uses its own saved skills and permissions; there is no inheritance from the first step.
Click Run Pipeline to start.
What happens during a pipeline run
The orchestrator:
- Loads the first workflow's
.cerevisor. - Runs it to completion.
- Extracts its output (the terminal agents' outputs, concatenated).
- Feeds that output as input to the next workflow's entry agent.
- Repeats until all steps complete or the budget cap is hit.
The pipeline run is visible in the Pipeline modal itself, which switches to an execution view with one row per workflow step showing status, cost, and duration.
License gate
Pipelines are not separately license-gated. The Pipeline modal is available on every tier (the individual workflows in the queue still respect their own feature gates).
Worth knowing
- Schedules and pipelines respect the workflow's saved approval mode and capability caps. A scheduled run that fires while the app is open will prompt at run time just like a manual run; unattended (closed-app) runs auto-deny prompts instead. For unattended runs, set the approval mode to cover what the workflow genuinely needs (and audit the results via the audit log).
- Cost monitoring matters for unattended runs. Set a per-workflow or per-pipeline budget cap to prevent runaway costs.
- Background-feature providers (Codex CLI, Cursor Agent) work fine for scheduled workflow execution. The scheduler goes through the same dispatch as manual runs.