Controls scheduled recalls for the current session. Actions: cancel, skip, list.
action (string, required) — cancel, skip, or listsession_id (string, optional) — target session; defaults to current sessioncancelRemoves the pending recall for the current session. Returns success only if a pending recall actually existed.
Use when:
skipAdvances a recurring recall by one interval. The next trigger time moves forward by interval_seconds.
Use when:
Returns failure if there is no recurring recall pending.
listShows all recalls for the target session (current session by default). Admins can list any session.
Output format:
Recalls for session <id>:
- [PENDING] once — trigger 2026-05-20T14:00:00+00:00
comment: Check build status
context: Read /tmp/build.log and report to user...
User asks to change a 30-minute reminder to 1 hour. You must cancel the old one first, then schedule the new one — because only one pending recall per session is allowed.
A recurring recall checks /var/log/myapp/errors.log every 15 minutes. The user just told you they fixed the issue. Call skip to defer the next check by one interval. If the issue stays fixed, the user can ask you to cancel it entirely.
Before telling the user "you have no pending recalls", call list to be sure. Before scheduling a new recall, call list to check if one already exists.
list before scheduling if you are unsure whether a recall already exists.cancel + schedule_recall is the standard pattern for updating a timer.skip only works on recurring recalls. For one-time recalls, use cancel if you want to abort.