Manage your tasks directly from the terminal. Perfect for scripting, voice assistants, and automation workflows.
The CLI is included with Planify. Use the following command depending on your installation:
flatpak run --command=io.github.alainm23.planify.cli io.github.alainm23.planify <command> Tip: Create an alias for convenience:
alias planify-cli="flatpak run --command=io.github.alainm23.planify.cli io.github.alainm23.planify" io.github.alainm23.planify.cli <command> planify-cli add --content "Buy groceries" --project "Personal" --priority 1 --due 2025-01-15 | Option | Short | Description |
|---|---|---|
| --content | -c | Task content (required) |
| --description | -d | Task description |
| --project | -p | Project name (defaults to Inbox) |
| --project-id | -i | Project ID (preferred over name) |
| --section | -s | Section name |
| --priority | -P | 1 = high, 2 = medium, 3 = low, 4 = none |
| --due | -D | Due date (YYYY-MM-DD) |
| --labels | -l | Comma-separated label names |
| --parent-id | -a | Parent task ID (creates a subtask) |
| --pin | Pin the task (true/false) |
planify-cli list-projects Returns a JSON array with all projects and their IDs.
planify-cli list --project "Personal" | Option | Short | Description |
|---|---|---|
| --project | -p | Project name (defaults to Inbox) |
| --project-id | -i | Project ID (preferred over name) |
planify-cli update --task-id "abc123" --content "Updated task" --complete true | Option | Short | Description |
|---|---|---|
| --task-id | -t | Task ID to update (required) |
| --content | -c | New task content |
| --description | -d | New description |
| --project | -p | Move to project by name |
| --priority | -P | 1 = high, 2 = medium, 3 = low, 4 = none |
| --due | -D | Due date (YYYY-MM-DD) |
| --labels | -l | Comma-separated label names |
| --complete | Mark complete/incomplete (true/false) | |
| --pin | Pin/unpin the task (true/false) |
planify-cli add -c "Fix login bug" -p "Work" -P 1 -D 2025-04-10 -l "bug,urgent" planify-cli add -c "Write unit tests" -p "Work" --parent-id "abc123" planify-cli update --task-id "abc123" --complete true planify-cli update --task-id "abc123" --project "Personal" #!/bin/bash
# Record audio, transcribe with Whisper, add as task
TASK=$(whisper --model tiny record.wav | tail -1)
planify-cli add --content "$TASK"
All commands return JSON output, making it easy to pipe into other tools like jq.
planify-cli list-projects | jq '.[].name'