LinuxCommandLibrary

task

Manage and synchronize todo list tasks

TLDR

Add a new task which is due tomorrow

$ task add [description] due:[tomorrow]
copy

Update a task's priority
$ task [task_id] modify priority:[H|M|L]
copy

Complete a task
$ task [task_id] done
copy

Delete a task
$ task [task_id] delete
copy

List all open tasks
$ task list
copy

List open tasks due before the end of the week
$ task list due.before:[eow]
copy

Show a graphical burndown chart, by day
$ task burndown.daily
copy

List all reports
$ task reports
copy

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 delete.

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.

SEE ALSO

remind(1), at(1), calendar(1)

Copied to clipboard