← All tools
Tasks
Things with a due date. Muninn surfaces them as they ripen rather than waiting to be asked.
6Tools
31Parameters
2026-09-03Generated
muninn_task_add
Writes
10 parameters
Create a task memory — a memory carrying task fields (entityType 'task'). Use for to-dos and calendar-shaped events, not for ordinary notes. taskType 'todo' uses dueDate; taskType 'event' uses startTime/endTime. recurrence is a raw RRULE string (RFC 5545, e.g. 'FREQ=WEEKLY;INTERVAL=2'), stored verbatim and passed through untouched. remindTauDays sets how early this task starts nagging (the urgency ramp) — bigger tasks can warn earlier than the global 3-day default; leave unset to use the default. Returns a compact {success, memoryId, length}, same shape as muninn_memory_add.
| Parameter | Type | Required | Description |
| text |
string |
Required |
Task title, optionally followed by a blank line and notes (first line = title). |
| taskType |
stringtodo · event |
Required |
'todo' uses dueDate; 'event' uses startTime/endTime. |
| dueDate |
string |
— |
ISO 8601 datetime — required for taskType 'todo'. |
| startTime |
string |
— |
ISO 8601 datetime — required for taskType 'event'. |
| endTime |
string |
— |
ISO 8601 datetime — optional for taskType 'event'. |
| recurrence |
string |
— |
Raw RRULE string (e.g. 'FREQ=WEEKLY;INTERVAL=2'), stored verbatim. Omit for a one-off task. |
| reminders |
object[] |
— |
Reminder specs (VALARM). Omit for no reminders. |
| remindTauDays |
number |
— |
Per-task override of the urgency ramp, in days. Omit to use the global default (3 days). A bigger tau means the task starts surfacing earlier relative to its due date. |
| project |
string |
— |
Project slug to scope this task. Omit for user-global. |
| tags |
string[] |
default [] |
Tags for categorization, same as muninn_memory_add. |
muninn_task_complete
Writes
1 parameter
Mark a task complete. For a recurring task (recurrence set), this does NOT close it — it rolls dueDate forward to the next RRULE occurrence and keeps taskStatus at 'needs-action', so the task reappears for its next occurrence. Only simple FREQ=DAILY/WEEKLY/MONTHLY/YEARLY[;INTERVAL=n] rules can be rolled forward; a more complex RRULE (BYDAY, COUNT, UNTIL, etc.) falls back to closing the task as completed — the response's `rolled` field tells you which happened.
| Parameter | Type | Required | Description |
| taskId |
string |
Required |
The task's memory ID (full UUID or unique 8-char prefix). |
muninn_task_delete
Writes
Destructive
1 parameter
Permanently delete a task memory by ID from all storage layers. Same as muninn_memory_delete but named for the task workflow.
| Parameter | Type | Required | Description |
| taskId |
string |
Required |
The task's memory ID (full UUID or unique 8-char prefix). |
muninn_task_list
Read only
5 parameters
List task memories, filtered by project/status/due window. Backed by the D1 idx_due index (user_id, due_date, task_status), never a KV scan — cheap even at scale. Returns compact rows {memoryId, taskStatus, dueDate, project}; use muninn_memory_get for the full task body.
| Parameter | Type | Required | Description |
| project |
string |
— |
Restrict to this project slug. |
| status |
stringneeds-action · in-process · waiting · completed · cancelled |
— |
Restrict to this task status. |
| dueBefore |
string |
— |
ISO 8601 — only tasks due before this instant. |
| dueAfter |
string |
— |
ISO 8601 — only tasks due after this instant. |
| limit |
integer |
default 50 |
Maximum rows to return. |
muninn_task_snooze
Writes
3 parameters
Snooze a task: hide it from reminders (session boot and per-call) until a given time. This is a statement about ONE task, not the whole reminder list. Pass EITHER until (an exact ISO 8601 instant) OR durationMinutes (snooze from now for N minutes) — not both. Hard rule: a snoozed task still reappears immediately once it reaches or passes its due date (urgency >= 1), even if snoozed_until hasn't arrived yet. Snoozing something that's already overdue has no visible effect for that reason. Pass until as '' (empty string) to clear an existing snooze.
| Parameter | Type | Required | Description |
| taskId |
string |
Required |
The task's memory ID (full UUID or unique 8-char prefix). |
| until |
string |
— |
ISO 8601 datetime to snooze until. Pass '' to clear an existing snooze. Mutually exclusive with durationMinutes. |
| durationMinutes |
number |
— |
Snooze starting now, for this many minutes. Mutually exclusive with until. |
muninn_task_update
Writes
11 parameters
Update a task's fields. Reuses the memory update path (text/tags/project all work as in muninn_memory_update), plus task-specific fields (taskStatus, dueDate, startTime, endTime, recurrence, reminders, remindTauDays). Only pass the fields you want changed. taskId may be a short-form 8-char prefix.
| Parameter | Type | Required | Description |
| taskId |
string |
Required |
The task's memory ID (full UUID or unique 8-char prefix). |
| text |
string |
— |
New title/notes text — replaces the whole body. |
| tags |
string[] |
— |
New tags (replaces existing tags). |
| project |
string |
— |
New project slug. Pass '' to clear back to global. |
| taskStatus |
stringneeds-action · in-process · waiting · completed · cancelled |
— |
New task status. |
| dueDate |
string |
— |
New due date (ISO 8601) — for taskType 'todo'. |
| startTime |
string |
— |
New start time (ISO 8601) — for taskType 'event'. |
| endTime |
string |
— |
New end time (ISO 8601) — for taskType 'event'. |
| recurrence |
string |
— |
New raw RRULE string, stored verbatim. Pass '' to clear. |
| reminders |
object[] |
— |
New reminder list — replaces the existing one. |
| remindTauDays |
number |
— |
New per-task urgency ramp override, in days. Only changed when passed. There is currently no way to clear an override back to the global default through this tool once set (not covered by the addendum BRD) — flagged as a known gap, not silently decided. |
← Back to all 70 tools