todoist
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 # All tasks
todoist list --filter "today" # Due today
todoist list --filter "overdue" # Overdue tasks
todoist list --filter "p1" # Priority 1 (highest)
todoist list --filter "tomorrow" # Due tomorrow
todoist list --filter "@work" # By label
todoist list --filter "#Project" # By project
todoist list --filter "(today | overdue) & p1" # Combined filters
Add Tasks
todoist add "Buy milk" # Simple task
todoist add "Call mom" --priority 1 # With priority (1=highest, 4=lowest)
todoist add "Meeting" --date "tomorrow 3pm" # With due date
todoist add "Report" --project-name "Work" # To specific project
todoist add "Review" --label-names "urgent,review" # With labels
todoist quick "Buy eggs tomorrow p1 #Shopping @errands" # Natural language
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 # Complete a task
todoist close TASK_ID TASK_ID2 # Complete multiple tasks
Delete Tasks
todoist delete TASK_ID
View Details
todoist show TASK_ID # Show task details
todoist projects # List all projects
todoist labels # List all labels
Sync
todoist sync # Sync local cache with Todoist
Output Formats
todoist list --csv # CSV output for scripting
todoist list --color # Colorized output
todoist list --namespace # Show parent tasks as namespace
todoist list --indent # Indent subtasks
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 syncafter 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
More from thinkfleetai/thinkfleet-engine
local-whisper
Local speech-to-text using OpenAI Whisper. Runs fully offline after model download. High quality transcription with multiple model sizes.
149kagi-search
Web search using Kagi Search API. Use when you need to search the web for current information, facts, or references. Requires KAGI_API_KEY in the environment.
22voice-transcribe
Transcribe audio files using OpenAI's gpt-4o-mini-transcribe model with vocabulary hints and text replacements. Requires uv (https://docs.astral.sh/uv/).
10video-subtitles
Generate SRT subtitles from video/audio with translation support. Transcribes Hebrew (ivrit.ai) and English (whisper), translates between languages, burns subtitles into video. Use for creating captions, transcripts, or hardcoded subtitles for WhatsApp/social media.
10freshrss
Query headlines and articles from a self-hosted FreshRSS instance. Use when the user asks for RSS news, latest headlines, feed updates, or wants to browse articles from their FreshRSS reader. Supports filtering by category, time range, and count.
9pollinations
Pollinations.ai API for AI generation - text, images, videos, audio, and analysis. Use when user requests AI-powered generation (text completion, images, videos, audio, vision/analysis, transcription) or mentions Pollinations. Supports 25+ models (OpenAI, Claude, Gemini, Flux, Veo, etc.) with OpenAI-compatible chat endpoint and specialized generation endpoints.
6