Todos
Todos are lightweight personal tasks designed for quick capture of things that don't need a full work item. While work items are designed for structured work within boards with Kanban flows, todos offer a more agile way to manage personal tasks and reminders.
Difference from work items
| Aspect | Todos | Work Items |
|---|---|---|
| Purpose | Quick capture of personal tasks | Structured team work |
| Location | Personal list, optionally associated with a project | Board columns |
| Status | Direct field (pending, in_progress, done, blocked) | Derived from the board column |
| Hierarchy | No hierarchy | Epic > Feature > Story > Task |
| Assignments | Single owner | Multiple assignees with roles |
| Planning | No sprints | Associated with sprints |
- Todo: "Review John's email", "Call the supplier", "Research library X".
- Work item: "Implement authentication endpoint", "Design login screen".
Statuses
Todos have an explicit status field with four possible values:
| Status | Description |
|---|---|
pending | Pending, not yet started |
in_progress | In progress, being worked on |
done | Completed |
blocked | Blocked for some reason |
When marking a todo as done, the system automatically records the completion date in completedAt.
Priority
Like work items, todos support priority levels:
| Priority | Recommended use |
|---|---|
urgent | Requires immediate attention |
high | Important, should be completed soon |
medium | Normal priority |
low | Can wait, not urgent |
Creating a todo
There are several ways to create a todo:
- From the Todos page -- Go to
/todosand use the button to create a new todo. - Via MCP -- Use the
create_todo_itemtool to create todos programmatically.
Fields when creating
| Field | Type | Description | Required |
|---|---|---|---|
title | string | Descriptive title of the todo | Yes |
description | string | Additional description, accepts Markdown | No |
priority | enum | Priority: urgent, high, medium, low | No |
projectId | uuid | Project it belongs to (optional) | No |
dueDate | date | Due date | No |
ownerUserId | uuid | User who owns the todo | No |
metadata | object | Additional metadata | No |
Global todos vs. project-associated
Todos can exist in two forms:
- Global (no project): Personal tasks that don't belong to any specific project. They appear in the general todos view.
- Project-associated: Tasks linked to a project. They appear both in the general view and when filtered by project.
This allows using todos both for general personal tasks and for reminders related to a specific project without needing to create a formal work item.
Comments
Todos support comments to add notes or updates:
- Add comments from the todo detail view.
- Comments can be listed using the MCP tool
list_todo_comments. - The comment count (
commentCount) is available in the list view.
Operations
Changing status
You can change a todo's status in several ways:
- From the interface -- Use the status controls in the list or detail view.
- Via MCP -- Use the
set_todo_item_statustool to change the status programmatically.
Setting due date
- From the interface -- Edit the date field in the todo detail.
- Via MCP -- Use the
set_todo_item_due_datetool.
Assigning owner
By default, the todo creator is the owner. You can reassign a todo to another user:
- From the interface -- Select the new owner in the todo detail.
- Via MCP -- Use the
assign_todo_item_ownertool.
Deleting
Unlike work items which are archived, todos can be permanently deleted when they are no longer needed.
For developers
MCP tools
Basic management
| Tool | Description | Main parameters |
|---|---|---|
create_todo_item | Creates a new todo | title, description, priority, projectId, dueDate, ownerUserId |
get_todo_item | Gets the details of a todo | todoItemId |
list_todo_items | Lists todos with filters | projectId, status, priority, ownerUserId |
update_todo_item | Updates fields of a todo | todoItemId, fields to update |
delete_todo_item | Deletes a todo | todoItemId |
Specific operations
| Tool | Description | Main parameters |
|---|---|---|
set_todo_item_status | Changes the status of a todo | todoItemId, status |
set_todo_item_due_date | Sets or modifies the due date | todoItemId, dueDate |
assign_todo_item_owner | Assigns a new owner to the todo | todoItemId, ownerUserId |
Comments
| Tool | Description | Main parameters |
|---|---|---|
add_todo_comment | Adds a comment to a todo | todoItemId, content |
list_todo_comments | Lists comments of a todo | todoItemId |
Example: Create a todo
Tool: create_todo_item
Parameters:
title: "Review client proposal"
description: "Read and respond to the proposal sent via email"
priority: "high"
dueDate: "2026-03-25"
Example: Mark as completed
Tool: set_todo_item_status
Parameters:
todoItemId: "todo-uuid"
status: "done"
Example: List pending todos from a project
Tool: list_todo_items
Parameters:
projectId: "project-uuid"
status: "pending"
Example: Add a comment
Tool: add_todo_comment
Parameters:
todoItemId: "todo-uuid"
content: "Client confirmed they will send revised version tomorrow"