Skip to content

Scheduled runs

A schedule runs a QuickAgent later, or on repeat like a calendar entry: tomorrow at 7am, every day at 9am, every Tuesday at 10pm, on the first of each month. Each moment a schedule is due is an occurrence, and what an occurrence starts is a scheduled run: an ordinary run, marked as scheduled in your run history and linked to its schedule.

A schedule runs in one of two places:

  • On this computer. Free, for everyone, with no account needed for a public QuickAgent. The agentry command keeps the schedule, and your computer's own scheduler starts each run. You make one in Agentry Desktop or with the CLI.
  • In Agentry. The run happens in Agentry's sandbox, like any hosted run, so your computer can be off. It needs Pro, Promo Pro, or membership of a Business or Enterprise organization, and each run costs what a run you started yourself would. You make one on the site or in Agentry Desktop.

When it runs

A schedule runs:

  • Once, on a day and at a time;
  • Every day, at a time;
  • Weekdays, Monday to Friday, at a time;
  • Every week on the days you pick, at a time;
  • Every month on day N, at a time. A month without day N (the 31st in April, say) runs on its last day.

A repeat ends never, on a date, or after N runs. On this computer every run counts, a failed one included; In Agentry, every run that started. A missed occurrence does not count, and neither does a run you start with Run now.

Times are wall-clock times in a named time zone, which defaults to your computer's or your browser's. "9am" stays 9am across a daylight-saving change. A time the spring change skips (2:30am on the night clocks jump from 2:00 to 3:00) runs at 3:00, the first minute after it that exists. A time the autumn change repeats runs once, the first time it comes round. There is no hourly repeat, and no cron text.

What it runs

A schedule runs the exact version of the QuickAgent it was made for, pinned by its digest, and never follows a newer one. You give that version's consent when you make the schedule, as you would before a run, and each scheduled run stays inside it. To run a newer version, make a new schedule.

Nobody is there to answer a question while it runs, so a schedule always runs autonomous: one task in, a result out. A QuickAgent that can only run interactively cannot be scheduled, and the run setup says so.

Everything a run will need is checked when the schedule is made, not at its first run: the secrets, the connections to MCP servers, the model key on this computer, Docker, the files. What is missing is listed, so you can fix it before the schedule is kept.

On this computer

A schedule on this computer runs while you are signed in to it. It never wakes a computer that is asleep. An occurrence missed while the computer was off, asleep or signed out runs once when you are back, if no later occurrence has fallen due since; otherwise it is recorded as missed. A run that fails is recorded with its reason and not tried again.

On Linux with Docker Engine, a schedule can also run while you are signed out.

In Agentry Desktop

Scheduled, in the sidebar after Home, shows a month calendar of your schedules. Each day's occurrences are dots: hollow when due, and in the colour of what happened once they have passed (ran, failed, missed). Beside it are the chosen day's list and Upcoming; below are Schedules, each with Edit, Pause or Resume, Run now and Delete, and History, every occurrence with what became of it.

To make a schedule, use Schedule a new run on that page, which picks one of your installed QuickAgents and opens its run setup set to repeat every day at the next whole hour. Or choose When on the last step of any run setup, Review and start:

  • Now starts the run, as before;
  • Later asks for a day and a time;
  • Repeat asks for the repeat, the time, the time zone and when it ends.

With Later or Repeat the button reads Schedule. It stays off until the check finds nothing a run would lack, and each gap is listed. Deleting a schedule keeps the folders its runs wrote.

A run a schedule started, whether the app was open or not, appears in Recent runs as Scheduled, on this computer, and opens on the run page like any other.

A QuickAgent installed from a folder cannot be scheduled from the app; the setup says to use agentry schedule add --local instead.

The Scheduled page's Options menu has Pin to Home, which adds one large Scheduled card at the end of Home: this month's calendar and the next three occurrences. It is a card, not one of your 16 pins, and Settings → Home lists it with its own switch. Unpin from Home, in the same menu, takes it off.

The app keeps no schedules of its own: it makes each change with the installed agentry command (version 0.6.86 or later), so the CLI and the app see the same schedules. On Windows the installer puts that command in place.

On macOS (Agentry Desktop 0.6.121 or later) the app carries the command itself, the CLI version it was built with, inside its bundle. Options → Install the agentry command, the same button under Settings → Update settings → Agentry Desktop, makes ~/.local/bin/agentry a link to it and, if that folder is not on your PATH, adds one marked line to your shell's startup file. Because it is a link, an update of the app updates the command too. An agentry the app did not put there (one the install script put there, or your own) is left as it is, and the app uses it; the app keeps a copy the install script put there up to date with the one it carries.

On Linux, when the command is missing or too old, the Scheduled page says so and points to Options → Install the agentry command (or Reinstall the agentry command once one is found). After you confirm, the app runs this site's install script, the same one as curl -fsSL <this site>/install.sh | sh on the Downloads page. The script puts the CLI this site serves in ~/.local/bin, checks it against the SHA-256 the site lists, and, if that folder is not on your PATH, adds one marked line to your shell's startup file. It leaves Node alone. The app uses that copy ahead of the package's /usr/bin/agentry. Schedules In Agentry work either way.

With the CLI

agentry schedule add takes the run's own flags (--task, --file, --knowledge, --intake, --voice, the limits) and a time:

Repeat Flag
Once --once "2026-11-02 07:00"
Every day --daily 09:00
Weekdays --weekdays 09:00
Every week --weekly tue,thu --at 22:00
Every month --monthly 1 --at 08:00

--zone names the time zone (an IANA name such as Europe/London; this computer's by default), and --until DATE or --times N ends it. --out DIR is required: each run writes into its own folder there. A QuickAgent in a folder is scheduled with --local DIR, which also needs --allow-unsigned; the schedule holds the folder to its digest, so an edited folder refuses to run.

agentry schedule add acme/digest --daily 09:00 --task "Today's summary" --out ~/reports
agentry schedule list            # id, name, version, repeat, next, last outcome
agentry schedule show <id>       # the next five occurrences and the last ten runs
agentry schedule run <id>        # Run now: an ordinary run, not counted
agentry schedule edit <id> --weekly tue --at 22:00
agentry schedule pause <id>      # resume <id> skips what fell due meanwhile
agentry schedule remove <id>     # the runs' folders are kept
agentry schedule sync            # rewrite every entry, remove any with no schedule

add shows the capabilities and asks for your consent on the terminal (or takes --yes), then installs the version it pins. A scheduled run does not see your shell, so add refuses a schedule that could not reach what it needs, and names each gap:

  • the model key must be in the keychain (agentry setup), not only in an environment variable;
  • each declared secret must be in the QuickAgent's MCP profile or the policy's envFile source;
  • a secret intake question cannot be answered by a flag;
  • Docker and the keychain must answer from the system's scheduler itself, which add checks by running a probe there.

add --check makes those checks, keeps nothing, and lists what a schedule made with the same flags would lack. A version not installed yet is no gap: its secrets and questions are checked when add installs it.

edit changes the name, the repeat, --out and the limits. A new repeat is given whole: --zone, --at, --until or --times on its own is refused. What else the run takes is fixed when the schedule is made.

Each schedule lives in the runner home under schedules/<id>/, and has one entry in your system's own scheduler, which runs agentry schedule fire <id> when it is due:

  • Linux: a systemd user timer;
  • macOS: a LaunchAgent. Making one needs you signed in to the Mac's desktop, not only over SSH;
  • Windows: a Task Scheduler task under \Agentry\ (in the root folder where you may not make \Agentry\), which runs only while you are logged on and opens no console window.

The entry is only an alarm. fire reads the schedule again each time, so a schedule you paused or removed does nothing even if its entry is still there, and list marks a schedule whose entry has gone missing. No schedule file and no entry holds a key or a secret. The CLI's README has the full reference.

Running while you are signed out (Linux)

On Linux with Docker Engine, a schedule can also run while you are signed out: Also run when I'm signed out in the desktop's When step, or --signed-out on agentry schedule add and edit.

  • Your schedules start with the computer. The first such schedule turns on systemd's linger for you, after you confirm, so your schedules start when the computer starts, even if nobody signs in. Your distribution may ask for an administrator's password. Agentry turns linger off again with the last schedule that runs signed out, unless you had turned it on yourself.
  • The keys are sealed. Your keychain is locked while you are signed out, so the keys a run reads from it (the model key, your own provider keys, the registry token) are sealed, when the schedule is made, into an encrypted systemd credential tied to this computer and to you. There is never a plain-text copy. Any program running as you can decrypt it, as any program in your session can read your keychain; another user cannot, and a copy of the file on another computer cannot. When a key changes (agentry setup, agentry login, agentry logout, connecting or disconnecting an account with agentry model-signins add or remove, or a change in the desktop's Settings), every signed-out schedule's keys are sealed again. If that fails for a schedule, its old keys are removed, and it does not run until agentry schedule edit <id> --signed-out seals them again.
  • Where it is not offered: on macOS and Windows, and with Docker Desktop for Linux, because Docker Desktop stops when you sign out; below systemd 256; and for a QuickAgent that signs in to an MCP server with your own account there, or uses a knowledge pack kept on this computer, since those keys stay in the keychain. The desktop shows the box disabled with the reason, and agentry schedule check-signed-out says whether this computer can.
  • A key from Connect your account. A run while you are signed out reads the sealed copy of the key and renews nothing. A Hugging Face token from Connect your account is renewed at each run's start from your keychain, which is locked while you are signed out, so a schedule on it cannot run signed out: Agentry says so when you make the schedule, and a run that finds one stops before it starts. To run it signed out, paste a Hugging Face token that does not expire. A Poe key runs signed out until the expiry you chose, and is refused after it, as when you are signed in. agentry schedule check-signed-out also says when your model setup's key would be refused.

A signed-out schedule runs on time whether or not anyone is signed in. If the computer was off, the missed occurrence follows the rule above when it starts.

In Agentry

A schedule In Agentry is for Pro, Promo Pro, and members of an active Business or Enterprise organization. The plan that counts is the one that pays for your runs: your active organization's if you belong to one, otherwise your own. A member's schedules are their own, and the organization's credits pay for them; an organization's admins do not see them. You may have 25 schedules that have not ended.

On the site

Scheduled, in your Dashboard, shows a month calendar of your schedules In Agentry, the chosen day's list, Upcoming and History. Below them is each schedule, with Run now, Pause or Resume, Edit and Delete. Where you may schedule runs, the Dashboard also shows a small calendar beside the credits chart, with the next three runs; it opens the page.

To make a schedule, use Schedule a new run, which lists the QuickAgents you have installed in Agentry and your own, or takes any ns/name, and opens its run setup on Repeat. Or choose When on the setup's Review and start step: Now, Later or Repeat, in your browser's time zone unless you pick another (UTC when the page runs without script). Three things differ from a run you start now:

  • Secrets are kept. A scheduled run can use only secrets you keep in Agentry, so any secret you enter for a schedule is kept for later runs, whatever the Keep box says. The Secrets step says so. A secret you hold for one run only is refused until you keep it.
  • Files are kept with the schedule. The files you give it are copied into storage that belongs to the schedule, at a run's limits, handed to each of its runs, and deleted with it.
  • Connections must exist. Each MCP server that signs in with your account there must already be connected for that version.

Each schedule has its own page (open it with Edit): the version it runs, why it is paused if it is, its latest runs, and a form to change its name, its task and when it runs. A change is checked again as a new schedule would be. Changing when it runs starts the repeat again from now, with its count of runs back at zero, and gives an ended schedule a new life; a paused one keeps the new times until you resume it. The answers, the packs and the files are the run setup's: to change them, make the schedule again.

Delete asks you to type CONFIRM. It deletes the schedule and its files and keeps the runs it started.

Every time is shown in its schedule's own time zone, labelled with it. In your Runs list, a run a schedule started is marked scheduled, which links to the schedule.

On Standard, the Scheduled page offers Pro, or a free schedule on your own computer with Agentry Desktop, and the run setup shows Later and Repeat disabled. A schedule kept from a plan that has lapsed is still listed, paused, to resume or delete.

In Agentry Desktop

Signed in to Agentry, the desktop's Scheduled page, its Home card and the When step also hold your schedules In Agentry, labelled In Agentry, on the same calendar as the ones on this computer. Edit, Pause, Resume, Run now and Delete work the same. When a schedule cannot be made yet, the setup asks for what is missing in place: a secret to keep, a server to connect (in your browser, then Schedule again), or the plan that includes scheduling.

Each time it is due

Each occurrence starts at most one run, with the checks of a run you started yourself: your plan, your balance, the release, the secrets and the connections. A credit hold is taken as for any run. Your plan is checked again every time, and a schedule whose plan has lapsed pauses with nothing run.

What happened The occurrence is
Still due coming
Being tried not started yet, with the reason, then starting
The run started run started: the run's own page says how it ended
A run of yours was still going tried again each minute for an hour, then skipped
Not enough credits skipped
The version is gone or was not scanned, a connection is missing, a secret is missing, or the start was refused for another reason failed
Agentry could not take the start for a whole hour failed
Agentry's scheduler was down, and the time was more than an hour past when it came back skipped as missed, not run late

Three occurrences in a row that were refused (skipped for credits or because a run was still going, or failed) pause the schedule; a run that starts sets the count back to zero, and a missed occurrence leaves it as it is. You get one email for a failed occurrence, or, when a refusal pauses the schedule, one email for the pause instead. A pause because your plan lapsed sends one too. There is none for any other skip, nor for a run that started, whose own page says how it ended. The switch is in Settings → Profile → Notifications: "a scheduled run in Agentry fails, or one of my schedules pauses". It is on until you turn it off.

A past occurrence never reads as done when nothing ran: it says skipped or failed with the reason, and "Nothing ran."

Pausing, resuming and Run now

  • Pause stops a schedule without losing it. Resume checks it again as a new schedule would be checked, and occurrences that fell due while it was paused are not made up.
  • Run now starts one run of the schedule's setup straight away. It counts as no occurrence and does not move the next one.
  • A schedule is never deleted for you. One that refuses three times in a row, or whose plan lapsed, is paused with the reason.