Scheduled Tasks

Scheduled tasks let you queue prompts now and have the agent execute them at a specific time. This is useful for deferring work to off-peak hours, batching instructions before a deadline, or preparing sessions in advance.

Setting a Schedule

  1. Open a session (or create a new one)
  2. Click the clock icon in the prompt input toolbar
  3. In the schedule modal, pick a date and time using the Run at datetime picker
  4. Click Set Schedule

The clock icon highlights when a schedule is active, and a banner appears above the prompt input showing the scheduled time:

Scheduled for Apr 10, 3:00 PM — prompts will queue until then

Queuing Prompts for a Schedule

Once a schedule is set, submitting a prompt queues it instead of sending it immediately. The submit button changes to a + icon (the same as when the agent is running) to indicate that prompts are being queued.

Queued prompts appear as chips labelled Queued above the prompt input. You can remove any queued prompt by clicking its x button, click a chip to edit it, or drag and drop chips to reorder them.

You can queue as many prompts as you need. They are persisted to disk so they survive browser refreshes and server restarts.

How Schedules Trigger

The server runs a heartbeat every 60 seconds, aligned to the top of each minute. When the heartbeat detects a schedule whose time has passed, it:

  1. Sends the first queued prompt as the primary prompt
  2. Sends any remaining queued prompts as additional content blocks
  3. Clears the schedule

The agent then processes the prompts as if you had submitted them manually. Progress appears in the session view and the sidebar status indicator updates to show the session is running.

If the server or agent has restarted since the schedule was created, the heartbeat automatically creates a new agent session before sending the prompts.

Updating a Schedule

Click the clock icon again to reopen the schedule modal. The current scheduled time is pre-filled. Change the time and click Update.

Clearing a Schedule

To remove a schedule:

  1. Click the clock icon to open the schedule modal
  2. Click Clear Schedule

This removes the schedule but keeps any queued prompts. Because the schedule is no longer active, the queued prompts are submitted to the agent immediately — just as if you had typed and sent them without a schedule.

Schedule Persistence

Schedules are stored per session as a schedule.json file:

~/.braide/projects/<project-id>/sessions/<session-id>/schedule.json

The file contains:

FieldTypeDescription
scheduledAtstringISO-8601 datetime when the prompts should be sent
enabledbooleanWhether the schedule is active
promptsarrayList of queued prompts with their text and optional command blocks

Because schedules are persisted to disk, they survive server restarts. The server-side heartbeat picks them up automatically on boot.

Notes

  • If the scheduled time is in the past when you set it, the schedule modal warns that it will trigger immediately on the next heartbeat tick
  • The heartbeat checks for due schedules every 60 seconds, so there may be up to a one-minute delay after the scheduled time
  • The agent must be running at the scheduled time for the prompts to be sent. If the agent is not running, the schedule remains pending until it starts
  • Scheduled tasks work alongside queued prompts — if the agent is already running when the schedule triggers, the prompts are sent as soon as the current task completes