planify-cli(1)
| PLANIFY-CLI(1) | User Commands | PLANIFY-CLI(1) |
NAME
planify-cli - command-line interface for Planify task manager
SYNOPSIS
planify-cli <command> [OPTIONS]
DESCRIPTION
planify-cli is a command-line tool for managing tasks in Planify. It provides functionality to create, list, update tasks, and manage projects directly from the terminal.
COMMANDS
- add
- Add a new task to Planify.
planify-cli add [OPTIONS]
- list
- List tasks from a project.
planify-cli list [OPTIONS]
- update
- Update an existing task. Only provided fields will be changed.
planify-cli update [OPTIONS]
- list-projects
- List all projects.
planify-cli list-projects
- backup
- Export a JSON backup of all tasks, projects, sections, labels, and
sources.
planify-cli backup [OPTIONS]
OPTIONS
Global Options
- -h, --help
- Show help for the command.
add command options:
- -c, --content=CONTENT
- Task content (required)
- -d, --description=DESC
- Task description
- -p, --project=PROJECT
- Project name (defaults to inbox)
- -i, --project-id=ID
- Project ID (preferred over name)
- -s, --section=SECTION
- Section name
- -S, --section-id=ID
- Section ID (preferred over name)
- -a, --parent-id=ID
- Parent task ID (creates a subtask)
- -P, --priority=1-4
- Priority: 1=high, 2=medium, 3=low, 4=none (default: 4)
- -D, --due=DATE
- Due date in YYYY-MM-DD format
- -l, --labels=LABELS
- Comma-separated list of label names
- --pin=true|false
- Pin or unpin the task
list command options:
- -p, --project=PROJECT
- Project name (defaults to inbox)
- -i, --project-id=ID
- Project ID (preferred over name)
update command options:
- -t, --task-id=ID
- Task ID to update (required)
- -c, --content=CONTENT
- New task content
- -d, --description=DESC
- New task description
- -p, --project=PROJECT
- Move to project by name
- -i, --project-id=ID
- Move to project by ID (preferred over name)
- -s, --section=SECTION
- Section name
- -S, --section-id=ID
- Section ID (preferred over name)
- -a, --parent-id=ID
- New parent task ID
- -P, --priority=1-4
- Priority: 1=high, 2=medium, 3=low, 4=none
- -D, --due=DATE
- Due date in YYYY-MM-DD format
- -l, --labels=LABELS
- Comma-separated list of label names
- --complete=true|false
- Mark task as complete or incomplete
- --pin=true|false
- Pin or unpin the task
backup command options:
- -o, --output=FILE
- Output file path (defaults to stdout)
EXAMPLES
- 1. Get help for a specific command:
- planify-cli add --help
planify-cli list --help
planify-cli update --help - 2. Add a new high-priority task to the inbox:
- planify-cli add -c "Finish report" -P 1
- 3. Add a task with description and due date to a specific project:
- planify-cli add -c "Team meeting" -d "Weekly sync" -p "Work" -D 2024-12-20
- 4. List tasks from the inbox:
- planify-cli list
- 5. List tasks from a specific project:
- planify-cli list -p "Personal"
- 6. Update a task's priority and mark as complete:
- planify-cli update -t TASK_ID -P 2 --complete=true
- 7. List all projects:
- planify-cli list-projects
- 8. Add a subtask using a parent ID:
- planify-cli add -c "Write unit tests" -p "Work" --parent-id "abc123"
- 9. Complete a task:
- planify-cli update --task-id "abc123" --complete true
- 10. Move a task to another project:
- planify-cli update --task-id "abc123" --project "Personal"
- 11. Create a JSON backup of all data:
- planify-cli backup --output ~/backup.json
- 12. Pipe backup output to jq for processing:
- planify-cli backup | jq '.items | length'
- 13. Automated daily backup with cron:
-
# Add to crontab: daily backup at 2am
0 2 * * * planify-cli backup --output ~/backups/planify-$(date +Ymd).json - 14. Voice-to-task script example:
-
#!/bin/bash
# Record audio, transcribe with Whisper, add as task
TASK=$(whisper --model tiny record.wav | tail -1)
planify-cli add --content "$TASK"
NOTES
• When both name and ID options are available (e.g.,
--project and --project-id), the ID option is preferred.
• The update command only modifies fields that are explicitly provided.
• Priority levels: 1 (highest) to 4 (none/lowest).
• Date format must be YYYY-MM-DD for due dates.
• Labels should be provided as a comma-separated list without spaces:
label1,label2,label3.
• For Flatpak installations, you can create an alias for convenience:
alias planify-cli="flatpak run --command=io.github.alainm23.planify.cli
io.github.alainm23.planify"
• Planify is primarily distributed via Flatpak and you can run its
commands by:
flatpak run --command=io.github.alainm23.planify.cli
io.github.alainm23.planify <command>
Upstream Document
You can find the official CLI documentation on https://useplanify.com/cli
SEE ALSO
BUGS
Report bugs to the Planify issue tracker.
AUTHOR
Planify Development Team
COPYRIGHT
Copyright © 2023-2026 Alain M.
| April 2026 | planify-cli |
