| name | todoist |
| description | Manage Todoist tasks via the `todoist` CLI (list, add, modify, complete, delete). Supports filters, projects, labels, and priorities. |
| homepage | https://github.com/sachaos/todoist |
| metadata | {"clawdbot":{"emoji":"✅","requires":{"bins":["todoist"]},"install":[{"id":"brew","kind":"brew","formula":"todoist-cli","bins":["todoist"],"label":"Install todoist-cli via Homebrew"}]}} |
Todoist CLI
Use todoist to manage Todoist tasks directly from the terminal.
Setup
- Install:
brew install todoist-cli
- Get your API token from https://app.todoist.com/app/settings/integrations/developer
- Create config:
mkdir -p ~/.config/todoist
echo '{"token": "YOUR_API_TOKEN"}' > ~/.config/todoist/config.json
- Sync:
todoist sync
List Tasks
todoist list
todoist list --filter "today"
todoist list --filter "overdue"
todoist list --filter "p1"
todoist list --filter "tomorrow"
todoist list --filter "@work"
todoist list --filter "#Project"
todoist list --filter "(today | overdue) & p1"
Add Tasks
todoist add "Buy milk"
todoist add "Call mom" --priority 1
todoist add "Meeting" --date "tomorrow 3pm"
todoist add "Report" --project-name "Work"
todoist add "Review" --label-names "urgent,review"
todoist quick "Buy eggs tomorrow p1 #Shopping @errands"
Modify Tasks
todoist modify TASK_ID --content "New title"
todoist modify TASK_ID --priority 2
todoist modify TASK_ID --date "next monday"
Complete Tasks
todoist close TASK_ID
todoist close TASK_ID TASK_ID2
Delete Tasks
todoist delete TASK_ID
View Details
todoist show TASK_ID
todoist projects
todoist labels
Sync
todoist sync
Output Formats
todoist list --csv
todoist list --color
todoist list --namespace
todoist list --indent
Filter Syntax
Todoist CLI supports the official Todoist filter syntax:
| Filter | Description |
|---|
today | Due today |
tomorrow | Due tomorrow |
overdue | Past due date |
no date | No due date |
p1, p2, p3, p4 | Priority level |
@label | By label |
#Project | By project |
assigned to: me | Assigned to you |
7 days | Due in next 7 days |
Combine with & (and), | (or), ! (not):
todoist list --filter "(today | overdue) & p1"
todoist list --filter "#Work & !@done"
Notes
- Run
todoist sync after making changes in the web/mobile app
- Task IDs are numeric (e.g.,
12345678)
- Config stored in
~/.config/todoist/config.json
- Cache stored in
~/.config/todoist/cache.json