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

planify(1) planify-quick-add(1)

BUGS

Report bugs to the Planify issue tracker.

AUTHOR

Planify Development Team

COPYRIGHT

Copyright © 2023-2026 Alain M.

April 2026 planify-cli