task
Manage and synchronize todo list tasks
TLDR
Add a new task which is due tomorrow
Update a task's priority
Complete a task
Delete a task
List all open tasks
List open tasks due before the end of the week
Show a graphical burndown chart, by day
List all reports
SYNOPSIS
task [filter] command [arguments]
task command [arguments]
PARAMETERS
[filter]
An optional set of criteria used to select specific tasks based on their attributes (e.g., project:work, due:tomorrow, status:pending, +urgent). This powerful query language allows for precise task selection.
command
The primary action to perform. Common commands include add (create task), list (view tasks), done (complete task), delete (remove task), modify (change task attributes), and sync (synchronize tasks).
[arguments]
Additional data or modifiers specific to the chosen command. For commands like add or modify, these often include task descriptions or attribute assignments (e.g., 'Buy milk' due:today priority:H).
[ID|UUID]
A numeric task ID (as seen in task list) or a Universally Unique Identifier for referencing specific tasks in commands like task 123 done or task
DESCRIPTION
Taskwarrior, commonly invoked as task, is a free, open-source, and cross-platform command-line todo list manager. It empowers users to efficiently track, manage, and prioritize tasks directly from the terminal.
It offers a robust set of features including comprehensive filtering with a powerful query language, support for projects, tags, due dates, and priorities. Taskwarrior stores all task data in plain text files, ensuring portability and scriptability, and can synchronize tasks across multiple devices via a dedicated Taskserver. Its design emphasizes speed, unobtrusiveness, and flexibility, making it a favorite tool for developers and power users seeking to enhance their productivity through a highly customizable workflow.
CAVEATS
Taskwarrior requires a comfortable understanding of command-line interfaces. While powerful, its comprehensive query language might have a slight learning curve for new users. Task data is stored locally in plain text files, which requires proper file system permissions to ensure security and privacy.
CONFIGURATION
Taskwarrior is highly customizable through the .taskrc configuration file, typically located in the user's home directory. This file allows users to define default behaviors, aliases, custom reports, and color schemes, tailoring the application to individual preferences and workflows.
HOOKS
The command supports a powerful hook system, allowing users to execute custom shell scripts before or after specific task operations (e.g., adding, modifying, or completing a task). This enables advanced automation, integration with other tools, and custom notification systems.
SYNCHRONIZATION
For multi-device or collaborative task management, Taskwarrior provides robust synchronization capabilities with a dedicated Taskserver. This allows tasks to be securely synced and shared, maintaining consistency across different machines or with other users.
HISTORY
Taskwarrior was originally created by Paul Beckingham, with the first version released in 2008. It was developed to be a fast, simple, and powerful command-line task management tool. Over the years, it has evolved with contributions from a vibrant open-source community, adding features like synchronization, hooks, and advanced reporting, establishing itself as a widely-used and respected productivity tool in the Linux and Unix-like ecosystems.