Skip to content

Unscheduled reminder note triggers even when relevant cron already exists #32228

@wmiddendorff

Description

@wmiddendorff

Problem

The appendUnscheduledReminderNote() function in the reply pipeline appends this note to outgoing messages:

Note: I did not schedule a reminder in this turn, so this will not trigger automatically.

It triggers whenever the agent's reply matches REMINDER_COMMITMENT_PATTERNS (phrases like "I'll ping you", "I'll follow up", "I'll check back") and no cron/reminder was created in that specific turn.

Why it's a false positive

The check only looks at whether a reminder was created in the current turn. It does not check whether a relevant cron job already exists from a previous turn.

Example scenario:

  1. Turn 1: Agent creates a monitoring cron that runs every 10 minutes and will notify the user when a task completes
  2. Turn 5: User asks for a status update. Agent replies "I'll ping you when it's done"
  3. The note gets appended even though the monitoring cron from Turn 1 is actively running and will deliver the notification

This confuses users — they see the warning and think they need to manually check, when in fact the automation is already in place.

Suggested fix

Before appending the note, check whether any active cron jobs exist that are relevant to the current context (e.g., same session, recent creation, not disabled). If a plausibly-related cron exists, suppress the note.

Alternatively, provide a way to suppress via config (e.g., agent.suppressUnscheduledReminderNote: true).

Location

  • dist/reply-XaR8IPbY.js line ~82091
  • Also present in: pi-embedded-*.js, subagent-registry-*.js, plugin-sdk/reply-*.js
  • Function: appendUnscheduledReminderNote() / hasUnbackedReminderCommitment()

Environment

  • OpenClaw 2026.2.21-2
  • Discovered by end user who kept seeing the note and didn't understand why

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions