DocsPacedMind documentation

Tasks

Reference for the task tools: list_tasks, get_task, create_task, create_tasks, update_task, bulk_update_tasks, connect_tasks, disconnect_tasks and delete_task.

list_tasks

Read-only. Allowed without asking.

Finds tasks. Without filters, it lists every open task. Filters combine: a task must match all of them.

ParameterTypeDescription
projectstringOnly tasks in this project.
areastringOnly tasks in this area, or inbox for tasks without an area or project.
statusstatus listOnly these statuses. Overrides include_done.
prioritypriority listOnly these priorities.
labelstringOnly tasks with this label.
searchstringWords that must all appear in the title, the description or the key.
due_from, due_todateDue dates in this range, inclusive.
planned_from, planned_todatePlanned dates in this range, inclusive.
overduebooleanOnly open tasks past their due date.
unscheduledbooleanOnly tasks with neither a due date nor a planned date.
include_donebooleanAlso include done and canceled tasks.
limitnumber1 to 500. Default 100.

Returns the number of matches and one line per task. When there are more than the limit: …and 12 more. Narrow the filters or raise the limit.

get_task

Read-only. Allowed without asking.

Everything about one task: title, status, priority, where it lives, due and planned dates, estimate, who does it, labels, its folder (its own, marked (its own), else the project's), where its sessions run when that's set, what they need from the computer (Needs on its computer: supabase, Gmail), what its sessions' agents used once they reported it (Agents used: 262k tokens · 1 min working · 1 session), the description, the numbered Done when items, the numbered sub-tasks with their state, the tasks it waits for (Waits for:) and those that wait for it (Before:), the latest session, the latest report an agent handed back, and when it was created, updated and finished.

ParameterTypeRequiredDescription
taskstringyesThe task key.

The report starts with its session, the agent, when it was handed back and its outcome: done, partly done or blocked, needs the user. Then come the summary, each Done when item with the agent's verdict (met, partly met, not met or not answered) and note, the images, each by its caption, size in pixels, type and file size, how to check the result, what changed in git since the session started (Files changed since the session started (from git): 2 files, +3 −0, 1 commit, then up to 10 commits and 30 files, each with its status and lines added and removed), the questions for the user, links, follow-ups, the details, and the changes the user asked for, if any. It's headed Latest report when it comes from the task's latest session, else Last report, from an earlier session. The Latest session line appears only when that session has no report of its own, such as a session still at work on its first hand-back.

For example, with the sample data:

DEV-21 · MCP server skeleton
Status: In review · Priority: High
Where: project Organizer app (organizer) in Dev
Due: 2026-09-25 (Fri) · Planned for: none
Estimate: 1h · Agent: Claude Code
Labels: mcp

Description:
Expose tasks, projects and time blocks over MCP so Claude Code and Codex can read and update them.

Done when:
1. /api/mcp answers tools/list with the task tools
2. Requests without the token get 401
3. Claude Code can create a task through it

Waits for: DEV-19
Before: DEV-22, DEV-24

Latest report · session 3f2a9c1b · Claude Code · 2026-09-24 13:53:07 · done
Summary: MCP endpoint added at /api/mcp. Tests pass.
Done when:
1. [met] /api/mcp answers tools/list with the task tools · 12 tools listed.
2. [met] Requests without the token get 401
3. [partly met] Claude Code can create a task through it · Tried with the MCP inspector, not with Claude Code yet.
How to check:
1. Run npm run dev
2. Open Settings → MCP server and copy the connect command
3. Ask Claude Code to list your tasks
Questions for the user:
- Should agents be allowed to delete tasks without asking?
Details:
- `src/app/api/mcp/route.ts` serves the MCP server with **mcp-handler**.
- Tools for tasks, projects and time blocks live in `src/server/mcp/`.
- Every request needs the bearer token from Settings.

Created 2026-09-21 13:53:07 · updated 2026-09-24 13:53:07

The sub-task numbers are the ones update_task accepts, and the Done when numbers are the ones finish_task accepts in criteria.

create_task

Changes data. Allowed without asking.

Adds a task. Without project and area, it goes to the Inbox.

ParameterTypeRequiredDescription
titlestringyesA short, concrete action.
projectstringnoThe project. Its area comes with it.
areastringnoThe area, when there's no project.
descriptionstringnoWhy it matters, context, constraints, links, in Markdown, which the app shows formatted.
done_whenstring listnoWhat must be true when the task is finished, one checkable outcome per item, such as "/reports has a Download CSV button" or "A screenshot of the new page". Up to 20 items; blank and repeated items are left out. Agents answer each item when they hand the task back. See Done when.
needsstring listnoWhat its agent needs from the computer its session runs on: MCP servers or claude.ai connectors by name, such as ["supabase", "Gmail"]. Up to 10; repeated names, a claude.ai prefix and names with other characters than letters, digits, spaces and _ . @ : + - are left out. See What a task needs.
statusstatusnoDefaults to todo.
priorityprioritynoDefaults to none.
duedate, optional timenoThe deadline.
planneddatenoThe day to work on it. With a time (friday 10:00), also the time: a block in the week view, as long as the estimate, which the auto-planner leaves alone.
estimate_minutesnumberno5 to 1440. Default 60.
labelsstring listnoLabels, stored in lowercase, without #.
subtasksstring listnoChecklist items.
agentclaude, codex or humannoWho does it. Left out, the task gets the project's default agent. human: only the user can do it, and it never gets an agent session.
related_projectproject id or namenoA project the task is about without being part of it. Give area, not project: the task is one of the area's to-dos, and the project's page lists it under Related.
repeatday, weekday, week or monthnoMarked done, the task comes back as a new one at its next date.

Returns the new task's line, with its key and the number of Done when items and sub-tasks: Created DEV-43 · Todo · High · Add CSV export to the reports page · Organizer app · 4 Done when items · 3 sub-tasks.

A project together with an area that isn't the project's area is refused: Project … is in …, not …. Leave out the area.

create_tasks

Changes data.

Adds up to 50 tasks at once, for example when breaking a project down. All go to the same place; each has its own details.

ParameterTypeRequiredDescription
projectstringnoThe project for all tasks.
areastringnoThe area for all tasks, when there's no project.
taskslistyes1 to 50 tasks, each with title and any of the optional create_task fields, such as description and done_when.

All dates are checked before anything is created, so one wrong date doesn't leave half the tasks behind.

update_task

Changes data. Allowed without asking.

Changes anything about a task. Parameters left out keep their value; null clears a date, the project, the area, the agent, runs_in or folder, and an empty list, [], clears done_when or needs. A session PacedMind started can't change its own task's runs_in, folder or needs.

ParameterTypeDescription
taskstring, requiredThe task key.
titlestringThe new title.
descriptionstringReplaces the description.
append_to_descriptionstringAdds a paragraph at the end of the description.
done_whenstring listReplaces the Done when list, up to 20 items. [] clears it.
needsstring listReplaces what its agent needs from the computer, as in create_task. [] clears it.
statusstatusThe new status.
prioritypriorityThe new priority.
duedate with optional time, or nullThe deadline.
planneddate or nullThe planned day, with a time when one is given (as in create_task); a day alone removes the time. null removes both.
estimate_minutesnumber5 to 1440.
labelsstring listReplaces all labels.
add_labels, remove_labelsstring listAdds or removes labels.
projectstring or nullMoves the task to this project and its area, or takes it out of its project.
areastring or nullMoves the task to this area; null or inbox moves it to the Inbox. The task leaves its project when that project is in another area. With project, leave it out: a different area is refused.
agentclaude, codex, human or nullWho does it. human makes it the user's own: it never gets an agent session.
related_projectproject id or name, or nullThe project it's about without being part of it; null clears it.
repeatday, weekday, week, month or nullHow it comes back once done; null stops it. Setting status to done on a repeating task adds the next one, and the answer names it: It repeats: WRK-41 is the next one, planned 2026-10-01 (Thu).
runs_interminal, desktop, cloud or nullWhere its agent sessions run: a terminal or the agent's desktop app on the user's computer, or the agent's cloud. null: a terminal when the agent's command-line tool is installed, else its desktop app.
folderstring or nullAn absolute folder its sessions work in instead of the project's, checked right away. null goes back to the project's folder.
add_subtasksstring listNew sub-tasks.
complete_subtasksstring listSub-tasks to tick off, by number (as get_task shows them) or title.
reopen_subtasksstring listSub-tasks to reopen.
remove_subtasksstring listSub-tasks to delete.

Returns the updated task line; with done_when, the number of Done when items, such as · 3 Done when items; and, with sub-tasks, how many are done, such as · 3/4 sub-tasks done.

bulk_update_tasks

Changes data.

Applies the same change to up to 100 tasks, for rescheduling and triage.

ParameterTypeDescription
tasksstring list, required1 to 100 task keys.
statusstatusThe new status.
prioritypriorityThe new priority.
duedate with optional time, or nullA new deadline for all.
planneddate or nullA new planned day for all, with a time when one is given.
shift_daysnumberMoves each task's due and planned dates by this many days, -365 to 365, keeping times (a planned task's too).
projectstring or nullMoves the tasks to this project, or out of their projects.
areastring or nullMoves the tasks to this area, or to the Inbox.
add_labels, remove_labelsstring listAdds or removes labels.

shift_days can't be combined with due or planned. Setting status to done works as in update_task: finished sessions of those tasks count as reviewed, and a repeating task comes back as a new one.

connect_tasks

Changes data.

Makes one task wait for another in the same project: a dependency, the same as an arrow drawn on the Timeline. The waiting task is ready to work on once the other one is done, or in review, unless its agent handed it back partly done or blocked. A dependency only orders the work: nothing starts by itself. get_next_task and get_project follow it.

ParameterTypeRequiredDescription
fromstringyesThe task that comes first.
tostringyesThe task that waits for it.

Returns DEV-23 waits for DEV-22. Refused when:

  • from and to are the same task (A task can't wait for itself.);
  • the tasks aren't both in the same project (Both tasks have to be in the same project.);
  • the dependency would close a loop (DEV-22 already waits for DEV-23, so this would make a loop.).

disconnect_tasks

Deletes.

Removes a dependency: to stops waiting for from. The tasks themselves stay.

ParameterTypeRequiredDescription
fromstringyesThe task it waits for.
tostringyesThe task that waits.

Returns DEV-23 no longer waits for DEV-22., or the error DEV-23 doesn't wait for DEV-22. when there's no such dependency.

delete_task

Deletes. Agents ask the user first.

Deletes a task with its sub-tasks, sessions and dependencies, and the reports and images its agents handed back. Setting the status to canceled keeps a record and is often the better choice.

ParameterTypeRequiredDescription
taskstringyesThe task key.

On this page