UpdateReminder
Change one of the current user's reminders: reword it, move when it fires, or mark it done. Get the `reminderId` from ListReminders or CreateReminder. Pass only the fields you are changing; anything omitted is left alone. At least one must be given. - Snooze or reschedule: set `remindAt` - Mark done: `completed: true` — the user has dealt with it and it leaves their active list - Reopen: `completed: false` - Reword: set `description` Marking done is the normal way to clear a reminder the user has handled, and it is reversible: the reminder drops out of the default ListReminders results but is still there, readable with `completed: true` and restorable with `completed: false`. Reach for DeleteReminder only when the user wants the reminder not to exist; that cannot be undone. Two things this tool will not do. It cannot change what a reminder is attached to — create a new reminder and delete this one instead. And setting `remindAt` on a repeating reminder replaces the repetition with that single firing, so only do it if the user asked to stop it repeating. ## Times are UTC — convert both ways Timestamps are absolute instants, in and out, while the user asks in their own timezone. Getting this wrong silently sets the reminder to the wrong hour. - **In:** resolve their wording against their local time, then convert. For America/New_York (UTC-4 in August), \"3pm tomorrow\" on 2026-08-12 is `\"2026-08-13T19:00:00Z\"`, not `\"2026-08-13T15:00:00Z\"`. - **Out:** report the response's UTC value back in their timezone — `\"2026-08-13T19:00:00Z\"` is \"3:00 PM tomorrow\". Ask for their timezone rather than assuming UTC.
UpdateReminder
Change one of the current user's reminders: reword it, move when it fires, or mark it done. Get the reminderId from ListReminders or CreateReminder.
Pass only the fields you are changing; anything omitted is left alone. At least one must be given.
- Snooze or reschedule: set
remindAt - Mark done:
completed: true— the user has dealt with it and it leaves their active list - Reopen:
completed: false - Reword: set
description
Marking done is the normal way to clear a reminder the user has handled, and it is reversible: the reminder drops out of the default ListReminders results but is still there, readable with completed: true and restorable with completed: false. Reach for DeleteReminder only when the user wants the reminder not to exist; that cannot be undone.
Two things this tool will not do. It cannot change what a reminder is attached to — create a new reminder and delete this one instead. And setting remindAt on a repeating reminder replaces the repetition with that single firing, so only do it if the user asked to stop it repeating.
Times are UTC — convert both ways
Timestamps are absolute instants, in and out, while the user asks in their own timezone. Getting this wrong silently sets the reminder to the wrong hour.
- In: resolve their wording against their local time, then convert. For America/New_York (UTC-4 in August), "3pm tomorrow" on 2026-08-12 is
"2026-08-13T19:00:00Z", not"2026-08-13T15:00:00Z". - Out: report the response's UTC value back in their timezone —
"2026-08-13T19:00:00Z"is "3:00 PM tomorrow".
Ask for their timezone rather than assuming UTC.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reminderId |
string | Yes | The id of the reminder to change. |
description |
string | No | Replacement reminder text. Max 2000 characters. |
remindAt |
string | No | Reschedule to this RFC 3339 timestamp in UTC (e.g. "2026-08-08T14:00:00Z"). Must be in the future — to move a reminder that has already fired, give it a new future time. Convert from the user's local timezone before sending; see "Times are UTC" in the tool description. |
completed |
boolean | No | Mark the reminder as dealt with (true) or put it back on the active list (false). |