Skip to main content

Task Tools

These 17 tools manage the task graph — a Kanban-style task system with priorities, assignees, due dates, and cross-graph context. Tasks are mirrored to .tasks/ markdown files for IDE access.

info

These tools are always available. Mutation tools (marked below) are hidden when the task graph is set to readonly.

tasks_create

Mutation — hidden in readonly mode

Creates a new task.

Parameters

ParameterRequiredDefaultDescription
titleYesTask title
descriptionYesTask description (markdown supported)
priorityYesPriority: critical, high, medium, low
statusNo"backlog"Status: backlog, todo, in_progress, review, done, cancelled
tagsNoArray of tags
dueDateNoDue date as Unix timestamp in milliseconds
estimateNoEstimated effort in hours (number)
assigneeNoAssignee name or ID

Returns

{ taskId } — the generated task ID.


tasks_update

Mutation — hidden in readonly mode

Partially updates a task. Only send fields you want to change.

Parameters

ParameterRequiredDescription
taskIdYesTask ID to update
All tasks_create fieldsNoAny field from tasks_create can be updated
expectedVersionNoCurrent version for optimistic locking — fails with version_conflict if the task has been updated since

Returns

{ taskId, updated }.

tip

Use tasks_move instead of tasks_update for status changes — it handles completedAt automatically.


tasks_delete

Mutation — hidden in readonly mode

Deletes the task, all its relations, proxy nodes, and mirror directory.

Parameters

ParameterRequiredDescription
taskIdYesTask ID to delete

Returns

{ taskId, deleted }.


tasks_get

Fetches a task with all its relations and cross-graph links.

Parameters

ParameterRequiredDescription
taskIdYesTask ID

Returns

{ id, title, description, status, priority, tags, dueDate, estimate, assignee, completedAt, createdAt, updatedAt, version, attachments, subtasks, blockedBy, blocks, related, crossLinks? } — includes resolved relation arrays.


tasks_list

Lists tasks with optional filters, sorted by priority (critical first) then due date (earliest first, nulls last).

Parameters

ParameterRequiredDefaultDescription
statusNoFilter by status
priorityNoFilter by priority
tagNoFilter by tag
filterNoSubstring match on title
assigneeNoFilter by assignee
limitNo50Maximum results

Returns

Array of { id, title, description, status, priority, tags, dueDate, estimate, assignee, completedAt, version, createdAt, updatedAt, attachments }.

note

Descriptions are truncated to 500 characters in list results. Use tasks_get to retrieve the full description.


Hybrid semantic search over tasks.

Parameters

ParameterRequiredDefaultDescription
queryYesSearch query (natural language)
topKNo5Seed results for BFS
bfsDepthNo1BFS expansion hops
maxResultsNo5Maximum results
minScoreNo0.5Minimum relevance score
bfsDecayNo0.8Score decay per hop
searchModeNohybridhybrid, vector, or keyword

Returns

Array of { id, title, description, status, priority, tags, score }.


tasks_move

Mutation — hidden in readonly mode

Changes a task's status with automatic completedAt management.

Parameters

ParameterRequiredDescription
taskIdYesTask ID
statusYesNew status
expectedVersionNoCurrent version for optimistic locking — fails with version_conflict if the task has been updated since

Returns

{ taskId, status, completedAt }.

Behavior

  • Moving to done or cancelled automatically sets completedAt to now.
  • Moving to any other status automatically clears completedAt.

When to use

Always use tasks_move instead of tasks_update for status changes. It properly manages completion timestamps.


tasks_reorder

Mutation — hidden in readonly mode

Sets the display order of tasks within a status column. Pass an ordered array of task IDs to define their position. Tasks not included in the array keep their existing order and appear after the explicitly ordered ones.

Parameters

ParameterRequiredDescription
statusYesThe status column to reorder (e.g., todo, in_progress)
taskIdsYesOrdered array of task IDs defining the new display order

Returns

{ status, ordered } — the status column and the number of tasks reordered.

When to use

Use tasks_reorder when the priority-based default sort is not sufficient and you need manual control over task ordering within a column, such as arranging a sprint backlog or ordering items for a review queue.


tasks_bulk_move

Mutation — hidden in readonly mode

Move multiple tasks to a new status in one operation.

Parameters

ParameterRequiredDescription
taskIdsYesArray of task IDs to move (1–100)
statusYesTarget status for all tasks

Returns

{ moved } — array of task IDs that were successfully moved. Tasks that don't exist are silently skipped.


tasks_bulk_priority

Mutation — hidden in readonly mode

Update priority for multiple tasks in one operation.

Parameters

ParameterRequiredDescription
taskIdsYesArray of task IDs to update (1–100)
priorityYesNew priority for all tasks

Returns

{ updated } — array of task IDs that were successfully updated.


tasks_bulk_delete

Mutation — hidden in readonly mode

Delete multiple tasks in one operation. This action is irreversible.

Parameters

ParameterRequiredDescription
taskIdsYesArray of task IDs to delete (1–100)

Returns

{ deleted } — array of task IDs that were successfully deleted.


Mutation — hidden in readonly mode

Creates a relation between two tasks.

Parameters

ParameterRequiredDescription
fromIdYesSource task ID
toIdYesTarget task ID
kindYesRelation type: subtask_of, blocks, or related_to

Returns

{ fromId, toId, kind, created }.


Mutation — hidden in readonly mode

Links a task to another task (same-graph) or to a node in the docs, code, files, knowledge, or skills graph (cross-graph). Omit targetGraph for task-to-task links.

Parameters

ParameterRequiredDescription
taskIdYesSource task ID
targetIdYesTarget task ID (same-graph) or target node ID in external graph (cross-graph)
targetGraphNoTarget graph: "docs", "code", "files", "knowledge", "skills". Omit for task-to-task links.
kindYesRelation type (free-form string)
projectIdNoTarget project ID (for cross-project links)

Returns

{ taskId, targetId, targetGraph, kind, created }.

When to use

Connect tasks to the code, docs, or files they relate to. For instance, link a bug fix task to the function it modifies.


Mutation — hidden in readonly mode

Deletes a link from a task to another task (same-graph) or to a node in an external graph (cross-graph). Omit targetGraph for task-to-task links. Orphaned proxy nodes are cleaned up automatically.

Parameters

ParameterRequiredDescription
taskIdYesTask ID
targetIdYesTarget node ID
targetGraphNoTarget graph. Omit for task-to-task links.
projectIdNoTarget project ID

Returns

{ taskId, targetId, deleted }.


tasks_find_linked

Reverse lookup: finds all tasks that link to a specific node in another graph.

Parameters

ParameterRequiredDescription
targetIdYesTarget node ID
targetGraphYesWhich graph the target is in
kindNoFilter by relation kind
projectIdNoTarget project ID

Returns

Array of { taskId, title, kind, status, priority, tags }.

When to use

Before modifying code, check for related tasks. For instance: "Are there open tasks related to this file?"


tasks_add_attachment

Mutation — hidden in readonly mode

Attaches a file to a task.

Parameters

ParameterRequiredDescription
taskIdYesTask ID
filePathYesAbsolute path to the file on disk

Returns

{ filename, mimeType, size, addedAt }.

note

Max 10 MB per file. Max 20 attachments per entity.


tasks_remove_attachment

Mutation — hidden in readonly mode

Removes a file attachment from a task.

Parameters

ParameterRequiredDescription
taskIdYesTask ID
filenameYesFilename to remove

Returns

{ deleted: filename }.