Tasks and schedules
Scheduler and routines
Create routines that send a standing instruction to Helm or a terminal launcher on a schedule, run them by hand, read their run history, and open the schedules of tasks and groups.
On this page
A routine is a standing instruction for Helm or a terminal launcher. Choose a target, write a prompt and set a schedule. Each time the schedule fires, Orkestra starts the selected target in the routine's project and sends the prompt. A terminal target is labeled Launched once startup hands off to the terminal; that label does not mean the harness finished its work. Use routines for repeated work, for example a nightly audit, a digest or issue triage. The Scheduler module also lists the tasks and groups that have their own schedule. Orkestra runs routines only while it is open.
Where to find it
Click the Scheduler icon on the activity rail in the left sidebar (tooltip "Scheduler"). The module needs a project. Without one it shows "Select a project to manage its scheduled routines." For the rail and the panels, see Window layout.
What you see
Toolbar
- This project and All projects — a two-button switch (named "routine scope"). This project is the default. It shows routines and scheduled tasks of the current project only.
- New routine — a button with a plus icon. It opens the routine editor.
Routines group
- Routines — the group header. Click it to fold or unfold the group. It shows the count, for example "3 · 1 live". "Live" means a run is going now.
- A routine row has these parts, left to right:
- A status dot. See "States and messages".
- The routine name. In All projects the project name shows next to it.
- A meta line. It shows the schedule, a "·" and the next run. After a failed run it starts with a red cross and the error text.
- Run now — a play button (tooltip "Run now").
- More actions — a button with three dots (tooltip "More actions"). Both buttons show only when you point at the row or move focus into it.
- A switch that turns the routine on or off. Its name is "disable routine <name>" while the routine is on, and "enable routine <name>" while it is off.
- Run history — a block that opens under a row when you click the row. See below.
Routine row menu (More actions): Edit routine, Run now, Run history, Rearm (only for a used one-time routine), a divider, Disable or Enable, and Delete (in red).
Run history block
- Header: Run history, a pill "<N> overlap skips" and a pill "<N> capacity deferrals" (each shown only when N is above 0), and the label "last 10".
- One row per run, newest first, at most 10. Each row has a status icon, the start time, the outcome text, the duration and a chevron button.
- Run row arrow — a small arrow at the end of a run row. It opens the run's Helm transcript or selected terminal.
- Chevron button — tooltip "Show details for <outcome> run at <time>" (or "Hide details …").
- Run detail — a block under the run row with these fields: Scheduled for, Accepted at, Started at, Settled at, Stop cause, Stop details, Tool calls, Wall clock, Operation classes, Agent fan-out, Input tokens, Output tokens, Total tokens, Cache read tokens, Cache write tokens, Reasoning tokens. A value that Orkestra did not record shows "Unavailable".
Scheduled tasks group
- Scheduled tasks — the group header, with a count. Click it to fold or unfold.
- One row for each task schedule, each task Helm schedule and each group schedule. A row has a kind icon, the name, a chip with the number of tasks (groups only) or the project name (All projects only), and a clock icon with the schedule, for example "daily · 02:00".
- An arrow button at the end of the row. Its tooltip is "Open in task Schedule tab" for a task and "Open in ToDo" for a group. The row itself does not react to a click.
Footer: "Runs while Orkestra is open."
Routine editor — a dialog named New routine or Edit routine, with a close button (tooltip "close").
- Name, Prompt and Routine target. The target can be Helm (headless) or a configured terminal launcher. The prompt is sent to the chosen target each run.
- Schedule — the buttons At time, Every and Once, then the fields of the chosen kind, then a summary line "Runs <schedule> · next <time>".
- At time: Time, Repeat (Daily, Weekdays, Weekends, Once), Missed-run grace.
- Every: Interval (a number and the buttons Minutes, Hours, Days), Active window (two time fields, hint "optional"), Interval cadence (After completion for Helm or After launch for a terminal target, or From scheduled occurrence), Days (Weekdays, Every day, Weekends).
- Once: the buttons In N minutes and At date/time, then Run in (minutes from now) or Or at (a date and time field), then Missed-run grace.
- Engine — Same as Helm chat or one of your Helm engines; shown for Helm targets. Notify — On failures, Always or Never.
- Retry safe startup failures — for Helm targets, the switch Automatic retries and the field Total attempts.
- Routine tool policy — for Helm targets, a count "<N> selected", a checklist in four groups (Safe defaults, Agent launch, Terminal control, Other Orkestra tools) and the button Reset to safe defaults.
- Expires (hint "optional", a date field) and Enabled (a switch).
- Footer buttons: Delete (edit only), Cancel, and Create routine (new) or Save (edit).
How to
Create a routine that runs at a fixed time
Before you start, select a project.
- Open Scheduler in the left sidebar.
- Click New routine.
- Type a name in the Name field.
- Type the instruction in the Prompt field.
- Click At time under Schedule.
- Set the Time field.
- Choose a day set in the Repeat list.
- Click Create routine.
Result: The routine shows in the Routines group, for example "daily · 09:00 · in 3h 10m".
Create a routine that repeats at an interval
- Click New routine.
- Type a name in the Name field.
- Type the instruction in the Prompt field.
- Click Every under Schedule.
- Type a whole number in the Interval field.
- Click Minutes, Hours or Days.
- Optional: set the two Active window time fields.
- Click After completion or From scheduled occurrence under Interval cadence.
- Choose a day set in the Days list.
- Click Create routine.
Result: The row shows a schedule such as "every 30 min · after completion".
Create a routine that runs one time
- Click New routine.
- Type a name in the Name field.
- Type the instruction in the Prompt field.
- Click Once under Schedule.
- Click In N minutes or At date/time.
- Type the minutes in Run in, or pick a date and time in Or at.
- Click Create routine.
Result: The row shows "once" and a countdown. After the run starts, the routine turns itself off.
Run a routine now
- Point at the routine row.
- Click Run now.
Result: For a Helm target, a toast shows "Run started — opening transcript…" and Helm opens with the new session. For a terminal launcher, Orkestra opens the new terminal after startup is confirmed. If Orkestra refuses the run, a toast gives the reason.
Read the run history of a routine
- Click the routine row. The Run history block opens.
- Click a run row that has the small arrow.
Result: Orkestra switches to the routine's project and opens that run's Helm transcript or terminal. Click the routine row again to close the history.
Show the details of one run
- Click the routine row.
- Click the chevron button of a run row.
Result: The Run detail block opens under the run row. Click the same button again to hide it.
Edit a routine
- Point at the routine row.
- Click More actions.
- Click Edit routine.
- Change the fields.
- Click Save.
Result: The dialog closes. The row shows the new schedule.
Change the tools a routine can use
- Open the routine editor for the routine.
- Click a tool in the Routine tool policy list to select or clear it.
- Optional: click Reset to safe defaults.
- Click Save.
Result: The count "<N> selected" changes. The next run uses the new list.
Pause or resume a routine
- Find the switch at the right end of the routine row.
- Click the switch.
Result: A paused routine shows a hollow dot and the text "disabled" in place of the countdown. Click the switch again to resume. A used one-time routine needs Rearm (see below).
Re-arm a used one-time routine
- Point at the routine row.
- Click More actions.
- Click Rearm.
Result: The routine turns on again and can run once more.
Delete a routine
- Point at the routine row.
- Click More actions.
- Click Delete.
Result: The row disappears at once. There is no confirmation in this menu. To get a confirmation, open the routine editor and click Delete. Then click Delete routine in the dialog "Delete routine?".
Show the routines of all projects
- Click All projects in the toolbar.
Result: The lists show every project. Each row shows its project name.
Open the schedule of a task or group
- Open the Scheduled tasks group.
- Click the arrow button at the end of a row.
Result: For a task, its window opens on the Schedule tab. See Task window. For a group, the ToDo module opens if it is not open yet. See Tasks.
States and messages
Empty states
- No routines yet — create a routine to give Helm or a launcher a standing instruction.
- No scheduled tasks — no task or group schedules are available. A new routine has No runs yet until it runs.
Routine and run status
- A pulsing blue dot means a run is active. Grey means the routine is disabled or expired; red marks the last failure; amber means a one-time run is due within 15 minutes; green means it is ready.
- The next-run line shows a countdown. If no run is planned, it explains whether the routine is disabled, expired, a consumed one-shot, unavailable or needs repair.
- Run history distinguishes running…, completed (Helm), Launched (terminal startup handed off), cancelled, skipped and failures. A terminal's Launched result does not mean the agent finished working. A run that was active when Orkestra closed is marked interrupted. A grace-window skip has No transcript; deleted or missing sessions and terminals are marked unavailable. Terminal runs never open a Helm transcript.
- The run detail shows scheduling, start/stop timing, tool calls, token counts and other recorded usage. Fields Orkestra did not capture show Unavailable. Overlap skips and capacity deferrals appear as counts above the last ten runs.
- If Orkestra refuses Run now, the notice explains whether the routine is already running, disabled, expired, missing, already claimed, or scheduler capacity is full. A startup failure includes its reason.
Routine editor and notifications
- Invalid times, intervals, active windows or missed-run grace values appear under the field and disable Create routine/Save until corrected. Grace must be 0–10,080 minutes; total retry attempts must be 1–5.
- Notify controls per-run notifications: On failures, Always or Never. A run failure notification still appears after three consecutive failures disable a routine, even with Never.
Limits and tips
- Orkestra must be open. The footer says so. Orkestra checks the routines every 30 seconds, and once when it finishes loading.
- Catch-up for At time and Once. If Orkestra was closed at the scheduled time, it runs the routine once at the next check. This happens only when the delay is inside Missed-run grace (default 720 minutes, 0 turns catch-up off, maximum 10080). Orkestra catches up only the latest missed time, never every missed day. A later start gives no run, only a "Skipped because…" row. A one-time routine then turns off. A past Or at time follows the same rule.
- Every routines have no grace field. After a long break, one run starts at the next check, when the interval has passed and the time is inside the days and Active window. A new Every routine runs at its first check, not after its first interval.
- No look-back before activation. A new routine, a changed schedule or a switch turned on again starts a new activation point. Orkestra does not run times from before that point.
- The Active window cannot cross midnight: its end time must not be before its start time.
- One run at a time per routine. A fire during a run adds to the "overlap skips" pill. At most 3 routine runs and scheduled Helm task runs go at the same time. For a terminal target, the reservation ends after startup/handoff is confirmed; Orkestra does not track the external harness's turn. A fire that finds no free place adds to "capacity deferrals" and tries again at the next check.
- Three failures in a row turn the routine off. A notification "Routine disabled: <name>" says so, even with Never. Turn the switch on to resume.
- Retries are off by default. They apply only to a safe startup failure before the prompt is sent. Orkestra waits at least 30 seconds between attempts. Total attempts includes the first run.
- Tool policy and automatic retry controls apply to Helm routines. Terminal-target routines launch the selected launcher with the normal terminal launch defaults.
- Engine picks the Helm engine for this routine. It is not the Routine model setting in Settings, which serves small background tasks.
- Expires ends at the end of the chosen day. After that the routine turns itself off.
- Rearm is the way to use a one-time routine again. The switch alone does not do it.
- New routine always uses the current project, also under All projects.
- Scheduled terminal fires create a terminal in the background after confirmed handoff. Run now and the run-row link reveal it. Helm run transcripts open from Run now or the run-row link. Each Helm session is named "<routine name> · HH:MM".
- Orkestra keeps the last 20 finished runs and shows the newest 10. Deleting a routine also removes the sessions of its runs. A run that is going when you delete finishes.
- Click outside the editor to close it. Unsaved changes are lost.
- An agent that uses Orkestra's MCP server can also manage routines. They show in this list. See Settings: MCP.
Related
- Helm assistant — Helm-target run transcripts open in Helm.
- Settings: Helm — engines, the Routine model setting and the unattended-run switches.
- Task window — where the schedule of a task is edited.
- Tasks — the ToDo board and the group menu, where group schedules are edited.
- Settings: the window, appearance, terminal, workbench and notifications — notification settings.
- Window layout — the activity rail and the module panels.