todoist

Verified·Scanned 2/17/2026

Manage Todoist tasks, projects, labels, and comments via the todoist CLI wrapper. Use when a user asks to add tasks, list todos, complete items, manage projects, or interact with their Todoist account.

from clawhub.ai·v910aef1·3.7 KB·0 installs
Scanned from 1.0.0 at 910aef1 · Transparency log ↗
$ vett add clawhub.ai/andreisuslov/todoist

Todoist CLI

Manage Todoist via the REST API v2.

Setup

  1. Get API token: Todoist → Settings → Integrations → Developer → API token
  2. Set environment variable:
    export TODOIST_API_TOKEN="your_token_here"
    
  3. Make CLI executable:
    chmod +x ~/clawd/skills/todoist/scripts/todoist
    

CLI Location

~/clawd/skills/todoist/scripts/todoist

Quick Reference

Tasks

# List all tasks
todoist tasks

# List with filter
todoist tasks --filter "today"
todoist tasks --filter "overdue"
todoist tasks --filter "#Work"
todoist tasks --project PROJECT_ID

# Quick views
todoist today
todoist overdue
todoist upcoming

# Get single task
todoist task TASK_ID

# Add task
todoist add "Buy groceries"
todoist add "Call mom" --due tomorrow
todoist add "Meeting prep" --due "today 3pm" --priority 4
todoist add "Review PR" --project PROJECT_ID --labels "work,urgent"
todoist add "Write docs" --description "Include examples"

# Update task
todoist update TASK_ID --content "New title"
todoist update TASK_ID --due "next monday"
todoist update TASK_ID --priority 3

# Complete / reopen / delete
todoist complete TASK_ID
todoist reopen TASK_ID
todoist delete-task TASK_ID

Projects

# List projects
todoist projects

# Get project
todoist project PROJECT_ID

# Create project
todoist add-project "Work"
todoist add-project "Personal" --color blue --favorite

# Update project
todoist update-project PROJECT_ID --name "New Name"
todoist update-project PROJECT_ID --color red

# Delete project
todoist delete-project PROJECT_ID

Sections

# List sections
todoist sections
todoist sections PROJECT_ID

# Create section
todoist add-section --name "In Progress" --project PROJECT_ID

# Delete section
todoist delete-section SECTION_ID

Labels

# List labels
todoist labels

# Create label
todoist add-label "urgent"
todoist add-label "blocked" --color red

# Delete label
todoist delete-label LABEL_ID

Comments

# List comments
todoist comments --task TASK_ID
todoist comments --project PROJECT_ID

# Add comment
todoist add-comment "Need more info" --task TASK_ID

# Delete comment
todoist delete-comment COMMENT_ID

Filter Syntax

Todoist supports powerful filter queries:

FilterDescription
todayDue today
tomorrowDue tomorrow
overduePast due
7 daysDue in next 7 days
no dateNo due date
#ProjectNameIn specific project
@labelHas label
p1, p2, p3, p4Priority level
assigned to: meAssigned to you
created: todayCreated today

Combine with & (and) or | (or):

todoist tasks --filter "today & #Work"
todoist tasks --filter "overdue | p1"

Due Date Strings

Natural language due dates:

  • today, tomorrow, yesterday
  • next monday, next week
  • in 3 days
  • every day, every weekday
  • every monday at 9am
  • Jan 15, 2026-01-20
  • today at 3pm

Priority Levels

ValueMeaning
1Normal (default)
2Medium
3High
4Urgent

Output

All commands return JSON. Pipe to jq for formatting:

todoist tasks | jq '.[] | {id, content, due: .due.string}'
todoist today | jq -r '.[].content'

Notes

  • Requires curl and jq
  • All output is JSON for easy scripting
  • Task IDs are numeric strings (e.g., "8765432109")
  • Project IDs are also numeric strings