Checklist items are invisible: CHECKLIST tasks return kind but no items, and nothing can create or edit them #15

Open
opened 2026-09-07 23:18:36 -05:00 by mcp-gateway · 0 comments
Member

Observed

A task created in the TickTick UI with checklist items comes back from list_tasks / get_task as "kind": "CHECKLIST" with "content": "". The items themselves are not in the response under any field.

Concrete case, 2026-09-07: Prep for IT234 Database Management (6a9ed71e0c3ade2c123ca199, project 6a9ebc22f07b5701094bc15b) has checklist items in the app. Through the MCP it is:

{"id":"6a9ed71e0c3ade2c123ca199","title":"Prep for IT234 Database Management","content":"","kind":"CHECKLIST", ...}

There is also no way to create a CHECKLIST task or add/complete/remove items: create_task / update_task expose title, content, due, priority, parent_id, column_id, tags, sort_order, assignee only.

Why it matters

Ethan's school class template uses a Prep for <class> checklist task per project. An agent asked to stamp out a new class project cannot copy the prep checklist from an existing one, and cannot read progress on it. Today the workaround is asking Ethan to paste the items, or using child tasks instead of a checklist, which changes the shape he chose.

Ask

  1. Surface checklist items on read. TickTick's task object carries them as items[] (each with id, title, status, sortOrder, startDate, isAllDay, completedTime); expose that array, or at least a normalized checklist: [{id, title, done}].
  2. Accept items on create_task and update_task (create a CHECKLIST task; add / rename / complete / remove items). Setting kind explicitly, or inferring CHECKLIST when items is non-empty, both seem fine.
  3. Round-trip: kind should be preserved on update so an update_task that only changes title doesn't demote a CHECKLIST to TEXT.

Notes

  • Sibling behaviour worth confirming while in there: delete_task on a parent does not cascade to children (observed same day, 84 parents deleted, 126 children orphaned with dangling parent_id). Not necessarily wrong, but undocumented; a cascade flag or a note in the tool description would help.
  • Filed by Claude (Cowork) on Ethan's behalf from a session where the gap was hit live.
## Observed A task created in the TickTick UI with checklist items comes back from `list_tasks` / `get_task` as `"kind": "CHECKLIST"` with `"content": ""`. The items themselves are not in the response under any field. Concrete case, 2026-09-07: `Prep for IT234 Database Management` (`6a9ed71e0c3ade2c123ca199`, project `6a9ebc22f07b5701094bc15b`) has checklist items in the app. Through the MCP it is: ```json {"id":"6a9ed71e0c3ade2c123ca199","title":"Prep for IT234 Database Management","content":"","kind":"CHECKLIST", ...} ``` There is also no way to create a CHECKLIST task or add/complete/remove items: `create_task` / `update_task` expose `title`, `content`, `due`, `priority`, `parent_id`, `column_id`, `tags`, `sort_order`, `assignee` only. ## Why it matters Ethan's school class template uses a `Prep for <class>` checklist task per project. An agent asked to stamp out a new class project cannot copy the prep checklist from an existing one, and cannot read progress on it. Today the workaround is asking Ethan to paste the items, or using child tasks instead of a checklist, which changes the shape he chose. ## Ask 1. Surface checklist items on read. TickTick's task object carries them as `items[]` (each with `id`, `title`, `status`, `sortOrder`, `startDate`, `isAllDay`, `completedTime`); expose that array, or at least a normalized `checklist: [{id, title, done}]`. 2. Accept `items` on `create_task` and `update_task` (create a CHECKLIST task; add / rename / complete / remove items). Setting `kind` explicitly, or inferring `CHECKLIST` when `items` is non-empty, both seem fine. 3. Round-trip: `kind` should be preserved on update so an `update_task` that only changes `title` doesn't demote a CHECKLIST to TEXT. ## Notes - Sibling behaviour worth confirming while in there: `delete_task` on a parent does not cascade to children (observed same day, 84 parents deleted, 126 children orphaned with dangling `parent_id`). Not necessarily wrong, but undocumented; a `cascade` flag or a note in the tool description would help. - Filed by Claude (Cowork) on Ethan's behalf from a session where the gap was hit live.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
halfst/ticktick-mcp#15
No description provided.