Taskwarrior – An easy way to manage TODO list from the command line

Taskwarrior is a Free, Open Source, and powerful command line task manager that manages our TODO list in the well organized format, which automatically improve our productive. It is flexible, fast, and unobtrusive. It does its job then gets out of your way.

Taskwarrior is simple and highly customizable utility. It supports, tasks addition, shows you the list with colorful tabbed output, tags, statistics, removes tasks from that list, and captures tasks. Taskwarrior is an active development and adding new features every day. It also have the option to set Due Dates for tasks and has feature rich search function.

Taskwarrior is one of the important utility for NIX admin & Developers. It doesn’t mean, only applicable for them. I mean whoever spending hell lots of time in terminal, they might have use this utility to improve their productive.

Installing Taskwarrior in Linux

All the major Linux distributions has included the Taskwarrior package in default repository, we can easily install Taskwarrior with help of distribution package manager.

For Debian users, use APT Package Manager or Apt-Get Package Manager to install Taskwarrior.

$ sudo apt-get install taskwarrior

For Ubuntu derivatives, use APT Package Manager or Apt-Get Package Manager to install Taskwarrior.

$ sudo apt-get install task

For openSUSE users, use Zypper Package Manager to install Taskwarrior.

$ sudo zypper install taskwarrior

For Fedora users, use dnf Package Manager to install Taskwarrior.

$ sudo dnf install taskwarrior

For Arch Linux users, use pacman Package Manager to install Taskwarrior.

$ pacman -S task

For CentOS/RHEL user, Enable EPEL Repository then use yum Package Manager to install Taskwarrior.

$ sudo yum install taskwarrior

After successful installation, run task once to create a configuration file and a data directory in your home directory by inputting yes.

$ task
A configuration file could not be found in 

Would you like a sample /home/magi/.taskrc created, so Taskwarrior can proceed? (yes/no) yes
[task next]
No matches.

How to use Taskwarrior ?

Taskwarrior is a simple and powerful user friendly utility offers wide range of options to manage TODO list in command line. To become a legend of taskwarrior, I would advise you to populate Taskwarrior with below examples.

Creating Tasks :

Taskwarrior uses a natural and expressive command line syntax. So, just input your task information followed by task add command.

Adding tasks without any option:

$ task add Want to speak with mum
Created task 1.

Sample Output:

$ task list

ID Age Description                Urg 
 1 20s Want to speak with mum        0

1 task

Create multi-line task: Create a task with a multi-line description.

$ task add "I have a meeting at 7.00 pm
I have a training session at 7.30 pm
Dinner at 9.00 pm"
Created task 2.

Sample Output:

$ task list

ID Age  Description                                                                           Urg 
 1 1min Want to speak with mum                                                                   0
 2 5s   I have a meeting at 7.00 pm                                                              0
        I have a training session at 7.30 pm                                                     
        Dinner at 9.00 pm                                                                         

2 tasks

We have successfully added few tasks and want to view, how it looks?. To view tasks, taskwarrior application offers verity of options. The task ls command generate the output in short form, which give you a quick overview of the each tasks, including Tasks ID, and description. For detailed output, use the task long command, which shows all the possible information about the tasks, including

Tasks short view:

$ task ls

ID Project Tags  R Description                                                                          
 1                 I have a meeting at 7.00 pm
                   I have a training session at 7.30 pm
                   Dinner at 9.00 pm
 8               R Pay Mobile bills                                                                     
 2                 Pay the rent
 4 Server          Reconfigure Easyapache4                                                              
 6         Linux   Reconfigure Easyapache4                                                              
 3                 Reconfigure Easyapache4 in cPanel server                                             
 5 Server          Reconfigure Multiple PHP
10               R Renew 2daygeek Cloud Server                                                          

8 tasks

Tasks detailed view:

$ task long

ID Created    Mod   P Project Tags  Recur Due        Until      Description                                                                      
 6 2017-04-05 17min           Linux                             Reconfigure Easyapache4                                                          
 4 2017-04-05 18min   Server                                    Reconfigure Easyapache4                                                          
 3 2017-04-05 25min H                     2017-04-30            Reconfigure Easyapache4 in cPanel server                                         
10 2017-04-05 27min                  P30D 2017-04-30 2017-12-31 Renew 2daygeek Cloud Server                                                      
 8 2017-04-05 29min                  P30D 2017-04-30            Pay Mobile bills                                                                 
 5 2017-04-05 48min   Server                                    Reconfigure Multiple PHP                                                         
 2 2017-04-05 53min                       2017-04-12            Pay the rent
 1 2017-04-05 58min                                             I have a meeting at 7.00 pm                                                      
                                                                I have a training session at 7.30 pm                                            
                                                                Dinner at 9.00 pm                                                                

8 tasks

Adding Tasks with due date: Taskwarrior supports date and time values. It used to track task creation, due date, scheduled date, and end date. Also support different date formats.

$ task add Call to Bank due:tomorrow
Created task 3.

Sample Output:

$ task list

ID Age  Due        Description                                                                           Urg 
 3 5s   2017-04-06 Call to Bank                                                                           8.6
 1 4min            Want to speak with mum                                                                   0
 2 3min            I have a meeting at 7.00 pm                                                              0
                   I have a training session at 7.30 pm
                   Dinner at 9.00 pm

3 tasks

Adding Tasks with due date: By default, it uses Y-M-D, to read the date from the command line.

$ task add Pay the rent due:2017-04-12
Created task 4.

Sample Output:

$ task list

ID Age  Due        Description                                                                           Urg 
 3 2min 2017-04-06 Call to Bank                                                                           8.6
 4 4s   2017-04-12 Pay the rent                                                                          5.86
 1 7min            Want to speak with mum                                                                   0
 2 5min            I have a meeting at 7.00 pm                                                              0
                   I have a training session at 7.30 pm                                                     
                   Dinner at 9.00 pm                                                                         

4 tasks

About Magesh Maruthamuthu

Love to play with all Linux distribution

View all posts by Magesh Maruthamuthu

Leave a Reply

Your email address will not be published. Required fields are marked *