Create a scheduled automation
Goal
Create a scheduled task that checks project TODOs on weekdays, test it manually, and understand pause, approval, notification, and recovery behavior.
Before you begin
- Enable at least one model. If you want to bind the task to a project, add that project first.
- Captain Who must remain open and complete startup successfully for tasks to run on schedule. It is not an operating-system background scheduler and does not wake itself after the application exits.
- Use Default permissions the first time so a background task does not receive unnecessary Full access.
Steps
1. Open Scheduled
Select Scheduled in the left sidebar, then select Create in the upper-right corner of the page. An empty list shows Create task instead. Enter a task name and description. The description must be independently understandable on every run, for example:
Check TODO/FIXME items and recent changes in the current project. Report only new items or items that need prompt attention.
Do not modify files or install dependencies. If nothing important has changed, explicitly report “No important changes.”Do not rely on implicit context such as “do the same as last time.” An automation needs a stable, complete objective.
2. Choose the run target
- New chat: Create a new root chat for every run. Select a project and model. This works well for independent daily reports, inspections, and one-report-per-run tasks.
- Existing chat: Add one turn to the selected root chat on every run. This works well for continuously tracking one topic.
Only root chats that remain available can be selected as existing chats. An automation cannot be bound directly to a subagent conversation. If Multi-Agent work is needed, have the main Agent started by the automation delegate work within the task.
3. Choose permissions
Default, Full access, and Custom come from the current permission settings. When the task is saved, it freezes the resolved permissions at that time. Later changes to Custom details under Settings → General do not automatically rewrite existing tasks; edit and save each task again.
If Full or Custom permission mode is later disabled, future runs that use that mode are blocked. After re-enabling the mode, you must still edit the blocked task once. The system does not silently expand permissions or repair it automatically.
4. Set the frequency and notifications
The current scheduler supports fixed minute, hour, and day intervals; daily, weekday, and weekly schedules; and custom recurring schedules composed by hour, day, week, month, or year. Cron expressions, one-time schedules, and end dates are not currently supported.
Times are recorded using the computer's current time zone when you save. The page has no separate time-zone picker. Before editing and saving a task in another time zone, carefully recheck the displayed time.
Notification choices vary by target. New chats can notify for every run or unsuccessful runs only; existing chats can notify for important updates or unsuccessful runs only. Native notifications are reminders. The authoritative result remains the run history on the Scheduled page and the actual chat.
5. Save and run it immediately
Select Create task, then open the task's More actions menu and choose Run now. Watch the run history. It may progress through Queued, Starting, and Running before reaching Completed, Failed, or Canceled. When action is required, it shows Waiting for approval.
Open the chat associated with this run and confirm that the actual result follows the task description. Background approvals still require your decision; they are not automatically approved merely because the task is scheduled.
6. Maintain the task
- Pause stops only future schedules; it does not cancel a Run that has already started. A paused task can still be run with Run now.
- After you edit and save the target, model, permissions, or schedule, the new configuration applies only to future Runs.
- Deleting a task stops future scheduling and requests cancellation of an active Run, but previously created chats are not deleted with it.
- A Needs attention badge indicates a failure, pending approval, important update, or configuration that needs repair. Mark as resolved does not change the task or Run.
Expected result
The task appears in the Scheduled list, completes one Run now successfully, and opens its associated chat from the run history. The next run time, permissions, and notification policy match the saved configuration.
Troubleshooting
- The task did not run at the scheduled time: Confirm that the application remained open and started successfully. Multiple schedule points missed while offline are merged into one recovery Run on the next startup. They are not replayed individually, and execution is not guaranteed to the second.
- It shows “Needs repair”: The target chat, project path, model, permissions, or schedule might no longer be valid. Open the task, choose valid settings, and save it again.
- It keeps waiting for approval: Return to the corresponding root chat and handle the approval. There is currently no separate approval timeout.
- A run is already in progress: A task can have only one non-terminal Run at a time. Wait for it to finish before using Run now again.
- You want to stop an active Run: The current interface has no separate stop button for an active Run. Pause affects future schedules only. Delete requests cancellation, but you should check the final status afterward.
- No system notification arrived: Check the run history anyway. The application currently does not use an in-app alert as a fallback for an undelivered system notification.
For more background, see Automation principles and Statuses.