| name | todoist |
| description | Manage Todoist tasks, projects, labels, and comments via the td CLI |
Todoist CLI (td)
Use this skill when the user wants to interact with their Todoist tasks.
Quick Reference
td today - Tasks due today and overdue
td inbox - Inbox tasks
td add "task text" - Quick add with natural language
td task list - List tasks with filters
td task complete <ref> - Complete a task
td project list - List projects
td label list - List labels
Output Formats
All list commands support:
--json - JSON output (essential fields)
--ndjson - Newline-delimited JSON (streaming)
--full - Include all fields in JSON
--raw - Disable markdown rendering
Task References
Tasks can be referenced by:
- Name (fuzzy matched within context)
id:xxx - Explicit task ID
Commands
Quick Add
td add "Buy milk tomorrow p1 #Shopping"
td add "Meeting with John at 3pm" --assignee "john@example.com"
Today & Inbox
td today
td today --json
td inbox
Task Management
td task list --project "Work"
td task list --label "urgent" --priority p1
td task list --due today
td task list --filter "today | overdue"
td task view "task name"
td task complete "task name"
td task complete id:123456
td task complete "task name" --forever
td task add --content "New task" --due "tomorrow" --priority p2
td task update "task name" --due "next week"
td task move "task name" --project "Personal"
td task delete "task name" --yes
Projects
td project list
td project view "Project Name"
td project create --name "New Project" --color "blue"
td project update "Project Name" --favorite
td project archive "Project Name"
td project delete "Project Name" --yes
Labels
td label list
td label create --name "urgent" --color "red"
td label update "urgent" --color "orange"
td label delete "urgent" --yes
Comments
td comment list --task "task name"
td comment add --task "task name" --content "Comment text"
Sections
td section list --project "Work"
td section create --project "Work" --name "In Progress"
Priority Mapping
- p1 = Highest priority (API value 4)
- p2 = High priority (API value 3)
- p3 = Medium priority (API value 2)
- p4 = Lowest priority (API value 1, default)
Examples
Daily workflow
td today --json | jq '.results | length'
td inbox --limit 5
Filter by multiple criteria
td task list --project "Work" --label "urgent" --priority p1
td task list --filter "today & #Work"
Complete tasks efficiently
td task complete "Review PR"
td task complete id:123456789