Watch
Re-run research on a schedule and get notified when the report changes.
watch re-runs a research goal on a schedule and diffs each new report against the previous one, so you can track a moving topic without re-asking. It has two modes: a foreground loop you watch live, and a background schedule that keeps running after you close the terminal.
Foreground
❯ scira watch "openai model pricing changes"Runs the goal now, then again on an interval, printing the diff after each run. Press Ctrl-C to stop.
| Flag | Effect |
|---|---|
--daily | Run once a day (default) |
--hourly | Run once an hour |
--weekly | Run once a week |
--interval <ms> | Custom interval in milliseconds |
--runs <n> | Stop after N runs (default: run forever) |
The interval is measured from when each run finishes. The loop is tied to your terminal — close it and the watch stops.
Background
Add -b to save the goal as a scheduled watch that a background scheduler runs for you, even after the terminal is closed.
❯ scira watch "openai model pricing changes" -b --every weekday --at 09:00 --name pricing| Flag | Effect |
|---|---|
-b, --background | Save as a scheduled watch instead of running in the foreground |
--every <freq> | day (default), weekday (Mon–Fri), or week |
--at <HH:MM> | Time of day to run, 24-hour local time (default 09:00) |
--name <label> | A label for the watch (defaults to its id) |
--every week runs on the weekday you created the watch on. Saving the same goal, schedule, and project twice reuses the existing watch instead of stacking up duplicates.
Saving a watch doesn't start the scheduler — Scira tells you whether it's running and how to start it.
The scheduler
A background process checks once a minute and runs any watch that's due.
❯ scira watch start # launch the scheduler (detached)
❯ scira watch status # uptime, recent log, and each watch's next run
❯ scira watch stop # stop itOnly one scheduler runs per machine. It reloads your watches each minute, so adding or removing one takes effect without a restart.
When a report changes
After each background run the scheduler:
- diffs the new
report.mdagainst the previous run of the same goal, - sends a desktop notification with the added/removed section counts,
- records the result so the next
sciracommand prints a one-line banner of results you haven't seen yet.
The banner marks results read only once it has actually shown, so an interrupted command won't make you miss one.
Managing watches
❯ scira watch list # every saved watch and its next run time
❯ scira watch remove <id> # delete a watch by id or nameScheduled-watch state lives in ~/.scira/watch/ — the watch definitions, the results log, and the scheduler's pid and log files.
Notes
- Each background watch runs in the directory where you created it, using that project's config and API keys.
- A run that fails is recorded as an error and surfaced in the banner; the scheduler keeps going.
- Weekly watches don't catch up a missed day. If the machine is asleep at the scheduled time on the one eligible weekday, that week is skipped. Daily and weekday watches run at the next check after the scheduled time, so a late wake-up still runs that day.