Scheduling
Schedule agent sessions to run automatically. Daily, weekly, intervals, or one-shot.
Location: Workspace Settings → Capabilities → Scheduling
Scheduling lets the agent run tasks on a schedule with no client connected and no human in the loop. Each run spawns a fresh session with a prompt you define. Use it for daily summaries, periodic checks, batch processing, or anything that should happen automatically.
Schedule types
| Type | Config | Example |
|---|---|---|
| Interval | { intervalMinutes: N } | Every 120 minutes |
| Daily | { time: "HH:mm" } | Every day at 09:00 |
| Weekly | { days: [0–6], time: "HH:mm" } | Weekdays at 17:00 |
| Once | { runAt: ISO timestamp } | One-shot, specific date and time |
Daily and weekly times are in server-local timezone. Weekdays are 0=Sunday through 6=Saturday.
Create a job
Two ways to create scheduled jobs:
- Via the UI: the scheduler modal. Name, prompt, schedule tabs, repeat limit, preconfig selector, session reuse, auto-approve.
- Via the agent: when Scheduling is enabled, the agent gets a
schedulertool. It creates jobs the same way, gated by the workspace permission risk level.
The prompt should be self-contained. It's the full instruction given to the agent for each run. No conversation history carries over unless you enable session reuse.
Session reuse
By default, each run creates a fresh session. Toggle Reuse same session and every run accumulates in one persistent conversation. Optionally enable Include history so the agent sees previous run context on the next run.
Repeat limit
Set a max number of runs. When the limit is reached, the job is marked completed and stops. Leave empty for infinite.
Per-job settings
| Setting | What it does |
|---|---|
| Preconfig | Which agent/preconfig runs the job. Defaults to the workspace default. |
| Auto-approve | Override the workspace auto-approve severity for sessions created by this job. |
| Repeat limit | Max runs before the job auto-completes. Omit for infinite. |
| Session reuse | Accumulate runs in one session instead of fresh sessions. |
| Include history | When reusing, whether the agent sees past run context. |
Permission gating
The agent's scheduler tool is gated by the Scheduling capability risk level. List is always allowed (read-only). Create, update, pause, resume, trigger, and remove all require approval based on the risk threshold.
How it works
The scheduler runs a 60-second tick on the server. When a job's nextRunAt is due, the server:
- Advances
nextRunAtbefore execution, so a crash mid-run doesn't cause a duplicate - Spawns a session with the job's prompt and preconfig
- Strips the
schedulertool from the spawned session. Scheduled sessions can't create new scheduled jobs. - Logs success or error on the job record
An immediate tick fires on server startup, catching jobs that became due while the server was offline.
Manage jobs
From the UI or the agent tool:
- Pause: stops scheduling, keeps the job
- Resume: recomputes the next run and resumes
- Trigger: run immediately without affecting the schedule
- Delete: permanently remove
What's next
- Agents: promoted preconfigs with persistent home and scheduling pre-enabled
- Capabilities: all workspace capabilities
- Auto-Approve: how auto-approve severity works