If you want a very efficient way to keep track of your task lists from the command line, Taskwarrior is the tool to use.
I use several task management tools, with most in the form of either a desktop or web-based application that offers a well-designed and easy-to-use graphical user interface to make the job simple. However, there are instances when I don’t have access to a GUI, such as when I’m working on a remote server and still want to keep a list of tasks. In those scenarios, a tool like Taskwarrior comes in handy.
SEE: Hiring kit: Back-end Developer (TechRepublic Premium)
With Taskwarrior, I can manage a to-do list from the command line that does one thing and one thing only: keeps a list of tasks. Taskwarrior is unobtrusive, methodology-neutral, in active development, open source and easy to use. With this tool, I can keep individual task lists on different servers and know what needs to be done on each one after logging in.
In this tutorial, I’ll show you how to install and use this handy command-line task manager.
What you’ll need to install and use Taskwarrior
To install Taskwarrior, you’ll need a running instance of Linux. Taskwarrior can also be installed on macOS with the help of Homebrew and Windows via WSL.
I’ll demonstrate on Pop!_OS, so all you’ll need to do is alter the installation command to match your distribution of choice. For example,
sudo apt-get is replaced by
With that said, let’s get to the installation.
How to install Taskwarrior
Taskwarrior is found on my distribution standard repository, which means the installation is straightforward.
To begin, log in to your Linux instance and install with one of the following commands, dependent upon what you’re running:
sudo apt-get install taskwarrior -y
sudo dnf install task
zypper install taskwarrior
- Arch Linux:
pacman -S task
sbopkg -i task
brew install task
Once Taskwarrior is installed, you’re ready to get started with using it.
How to use Taskwarrior
Taskwarrior is easy to use. Let’s say you want to add the task Update server and reboot. The command for that would be:
task add Update server and reboot
When you run your first add command, you’ll be greeted with something like this:
A configuration file could not be found in /home/jack
Would you like a sample /home/jack/.taskrc created, so Taskwarrior can proceed? (yes/no)
Make sure to type “yes,” so the configuration file can be automatically created. Once that happens, the task will be added. You can then continue adding as many tasks as you like. As you add each task, it will be assigned a number. You can then view your tasks with the following command:
Each task will be listed in numerical order of creation (Figure A).
Let’s say I’m finished with the first task I created, which was given ID 1. To delete that task, issue this command:
task 1 done
You should see something like this in the output:
Completed task 1 'Write article about Taskwarrior.'
Completed 1 task.
You can then verify the task was deleted by issuing the list command again like so:
Final tips for using Taskwarrior
Taskwarrior is fairly basic in its features, but you wouldn’t want much more from an open-source, command-line task manager. Employ this on any machine that either doesn’t include a GUI or for a use case where all you need is the absolute basics. In these kinds of situations, you’ll find Taskwarrior will serve you well.
Read next: The 10 best project management software and tools (TechRepublic)