List tasks
list_tasksLists checkbox tasks across an Obsidian vault from the index without reading notes; filter by folder, status, due or scheduled date, and tags, with cursor pagination.
Instructions
List checkbox tasks (- [ ] …) across the vault in one call, from the index — no note is read.
Reads the index, refreshed each pass (default every 300 s): a just-edited note may show its previous tasks until the next pass. Tasks-plugin and Dataview query blocks are fenced text and are not evaluated; only the checkbox lines themselves are tasks. A checkbox inside a fenced code block or inline code is not a task.
Status: [ ], [/] (in progress) and any other marker are open; [x]
and [X] are done; [-] is cancelled — excluded from open,
included in all. Each line shows the raw marker.
Ordering: due date ascending, undated tasks last, then path, then line.
When more rows match than fit, the header says more: yes and the
response ends with next: <cursor>; pass it back as cursor with the same
filters to continue. A cursor from other filters or another owner is
refused (invalid_argument); so is a compact cursor whose note has since
gone — start again without one.
Each task is one line: the marker, the path in backticks with :line, then any of due,
scheduled, start and done dates, priority, the task's own #tags, the
heading path (under:), and text: last, as written (Tasks-plugin
emoji included). Text past 1,000 characters is cut and labelled; a task
whose tags were capped (64 kept) says tags cut. A first row too long for
the response is shown abbreviated rather than skipped.
The header always states not yet scanned for tasks (notes the index has
not re-derived yet, e.g. right after an upgrade), tasks could not be indexed and over the task cap (5,000 per note), each even when zero, and
with tags the count of tasks whose tags were cut. When either of the
first two is non-zero the list is incomplete and the response says so —
"no tasks" then does not mean none exist.
Args:
folder: Only notes under this path prefix (e.g. "Projects/").
status: open (default), done, cancelled or all.
due_by: YYYY-MM-DD; only tasks due on or before this date. Tasks
with no due date are excluded when it is given.
scheduled_by: YYYY-MM-DD; only tasks scheduled on or before this
date. Tasks with no scheduled date are excluded when it is given.
tags: Only tasks carrying every one of these inline tags on the task
line itself (a leading # is optional; note-level tags are not
consulted). At most 32, each 1–128 characters.
limit: Maximum tasks per page (1–500, default 100). The response size
cap can end a page sooner; next then continues it.
cursor: The next value from the previous page of the same query.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| cursor | No | ||
| due_by | No | ||
| folder | No | ||
| status | No | open | |
| scheduled_by | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |