Skip to content
All tools

update_reminder

Reminders & Microsoft To Do · macOS

Effect: write (strongest supported action). Status: gated.

Gated means the tool requires an installed app, a connected account, permission, or runtime availability. Check those requirements on the listed platform before using it.

macOS

Purpose

Updates an existing reminder in Reminders.app. Change the title, due date, notes, priority, make it repeat or stop repeating (recurrence), or move it to another list (list_name). Get reminder_id from list_reminders. Requires confirm=true. IMPORTANT: moving to a list in a DIFFERENT account (e.g. iCloud ↔ Exchange) recreates the reminder, so its id changes — the response then has id_changed: true, the new id in reminder_id and the dead one in previous_reminder_id. Always take reminder_id from the response before any follow-up call.

Required inputs

Permissions and confirmation

Explicit confirmation parameter: inspect the schema and tool description before any real call. The documentation example keeps confirm false. Obtain user authorization before performing the action.

Full input schema — macOS
{
  "properties": {
    "confirm": {
      "description": "Must be true to apply changes",
      "type": "boolean"
    },
    "due_date": {
      "description": "New ISO 8601 due date. Pass empty string to clear (optional)",
      "type": "string"
    },
    "list_name": {
      "description": "Move the reminder to this list (a name from get_reminder_folders) (optional). Moving to a list in ANOTHER account recreates the reminder and CHANGES its id — read the new one from reminder_id in the response (id_changed: true).",
      "type": "string"
    },
    "notes": {
      "description": "New notes text (optional)",
      "type": "string"
    },
    "priority": {
      "description": "Priority: none | low | medium | high (optional)",
      "enum": [
        "none",
        "low",
        "medium",
        "high"
      ],
      "type": "string"
    },
    "recurrence": {
      "description": "Make it a repeating reminder: 'daily', 'weekly', 'monthly', or 'yearly' ('none' stops an existing repetition; omit to leave it as it is). A repeating reminder needs a due date.",
      "enum": [
        "daily",
        "weekly",
        "monthly",
        "yearly",
        "none"
      ],
      "type": "string"
    },
    "recurrence_count": {
      "description": "Total number of occurrences (optional). Mutually exclusive with recurrence_until; if neither is given it repeats indefinitely. Needs recurrence.",
      "type": "integer"
    },
    "recurrence_interval": {
      "description": "Repeat every N periods (optional, default 1 — e.g. recurrence='weekly' + recurrence_interval=2 = every 2 weeks). Needs recurrence.",
      "type": "integer"
    },
    "recurrence_until": {
      "description": "ISO 8601 date the repetition stops on (optional; takes precedence over recurrence_count). Needs recurrence.",
      "type": "string"
    },
    "reminder_id": {
      "description": "Reminder identifier from list_reminders",
      "type": "string"
    },
    "title": {
      "description": "New title (optional)",
      "type": "string"
    }
  },
  "required": [
    "reminder_id"
  ],
  "type": "object"
}

Documentation example

Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.

{
  "confirm": false,
  "reminder_id": "demo-reminder-001",
  "title": "Review the launch checklist"
}