Skip to content

Recurring Quests

Recurring quests let you define a quest template that Sidequest spawns automatically on a schedule. This is useful for repetitive tasks like daily code reviews, periodic dependency updates, or scheduled test runs.

  1. Select the project and click the clock button in the Quest Log header (Recurring Quests). Tock, the Chrono Warden, keeps the list.
  2. Click New to open the form.
  3. Fill in:
    • Name — A label for the template (e.g., “Daily code review”).
    • Prompt — The instruction the agent receives each time the quest runs.
    • Type — Current Branch or Worktree. Review quests are not available on a schedule.
    • Model & effort — Optional overrides copied onto every spawned quest. Recurring quests always run on the default agent.
    • Supervisor — Optional; new templates start with the project’s default supervisor. Every quest this schedule spawns is handed to this supervisor and waits in its queue while the supervisor is running.
    • Journal each run — Off by default, because runs are frequent. Turn it on to have the Chronicler write a journal entry after each run.
    • Context projects — Other projects the agent should read.
  4. Configure a Schedule using the visual builder (see below).
  5. Click Save.

The schedule builder uses iCalendar RRULE format under the hood but presents a visual interface:

Every — an interval of 1—99 and a frequency: Hourly, Daily (default), Weekly or Monthly.

On days — For weekly schedules, pick which days of the week the quest should run (Su, Mo, Tu, We, Th, Fr, Sa).

At — The time of day the quest fires, in your local time zone. Schedules are stored with your zone and follow daylight-saving changes.

Ends:

  • Never — The quest repeats indefinitely.
  • On date — Stops after a specific date.
  • After N runs — Stops after a set number of occurrences.

The list shows each schedule in plain words (e.g., “every weekday at 09:00”). If a schedule was created in a different time zone than the machine is in now, the list flags it and shows the local equivalent.

Sidequest runs a background scheduler that checks all enabled recurring quests every 60 seconds:

  1. When a recurring quest’s next fire time has passed, a new quest is spawned from the template with the title “Quest Name — Date Time”. One quest is spawned per tick; missed occurrences are not replayed one by one.
  2. If the template names a supervisor and that supervisor is running, the quest is created in Backlog for the supervisor to pull in queue order. Otherwise the quest is created as Active and its session starts immediately, with no click needed.
  3. Deduplication — If a previously spawned quest from the same template is still in backlog or active, the scheduler skips that firing and records “previous run still open”.
  4. When end conditions are met (date reached or run count exhausted), the recurring quest is automatically disabled.

On startup, the scheduler performs a catchup pass to spawn a quest that was due while the app was closed.

Spawned quests carry the template’s model, effort and supervisor, use the project’s default Claude account, and show a small clock badge (Spawned by a recurring quest) on their card. Reassigning a spawned quest to another supervisor also re-points the template.

The list shows each template’s name and type, its schedule, its last run, an enable/disable switch and a Run now button. From here you can:

  • Edit any template’s name, prompt, schedule, type, model, supervisor or journaling.
  • Enable/disable individual templates without deleting them.
  • Run now to spawn a quest immediately, outside the schedule.
  • Open History while editing to see every run with its trigger (Scheduled, Manual, Catchup), outcome (Spawned, Skipped, Failed) and a note.
  • Delete a template to remove it permanently.

Spawned quests are regular quests — they appear on the quest board and can be completed, paused, or handed off like any other quest.