Manage Your Tasks from the Command Line with Taskwarrior

taskwarrior-featured

Taskwarrior is an easy-to-use task manager that operates in the command line. It balances simple and advanced features to give beginners an easy path to tracking their own tasks.

This article will walk you through the basics of Taskwarrior usage by making a grocery list for baking a loaf of bread. Let’s get started.

Downloading and Starting Taskwarrior

This whole process won’t work if you don’t have Taskwarrior installed. You can visit the project’s download page for access to the source code and instructions for downloading Linux and Mac packages. For Windows it will only work on the Linux subsystem on Windows 10.

After installation you can run Taskwarrior commands by typing “task [command]” or by entering the program’s shell by typing “task shell,” which this tutorial will use.

task shell

The following message will appear when you start the shell.

Taskwarrior shell

Create and List Tasks

Our bread will require a few ingredients, so let’s list them separately. The add command will create your new tasks.

add white flour
add 1 package dry yeast
add salt
add vegetable oil

Those four commands leave us with four new tasks we need to complete. You can view them all with the list command.

list

You should now see this output in your console.

Taskwarrior list

Modify and Append to Tasks

Notice that you can see the four new tasks and their IDs. Identifying numbers are important for modifying existing tasks.

Let’s say you want to remember to buy those goods and want to be specific in your list. You can change your list in two ways.

For the first method you can replace your current description with an entirely new description. This will require different syntax than your previous add command.

1 modify buy white flour

Notice the use of modify in the syntax which reads “<id> modify <description>.” This means you have taken task #1, modified it, and created a new description string that reads “buy white flour.”

You could repeat this same method with your three other tasks, but there is an easier way. Instead of replacing your task descriptions, you can simply attach new words to them.

You can prepend the word “buy” to your other tasks since that additional word fits at the beginning of each description. Prepend “buy” to the rest of your tasks with the syntax “<id> prepend <word(s) to prepend>.”

2 prepend buy
3 prepend buy
4 prepend buy

The final amended tasks should now look like the following image.

Taskwarrior prepend

The append command works just like prepend does, except that it adds words to the end of a task.

Delete Tasks

What if you realize that you already have salt in the cabinet?

You haven’t completed that task. Therefore, it’s best to just delete it. You can do that with the syntax “<id> delete.”

3 delete

Taskwarrior will ask for your confirmation, so you should type “yes” to get rid of the “buy salt” task completely.

Undo an Error

Taskwarrior moves its ID numbers around when tasks are deleted or completed. You can see that your short list of ingredients is now a little different, with the “buy vegetable oil” listing now moved to ID #3 instead of #4.

This may cause some confusion when you’re modifying tasks. Luckily, you can revert any changes by taking advantage of Taskwarrior’s complete undo stack.

Just for fun, accidentally delete task #3 again.

3 delete

Then undo your accident by simply typing “undo.”

undo

Because there is no “redo” command, the “undo” command is not reversible, so you’ll find again that this operation requires your confirmation. Type “yes” to revert your changes.

Taskwarrior undo

Completing Tasks

After you have purchased all your goods, the only step left is to mark your tasks as complete. Taskwarrior offers the done command for this purpose. You can complete all your tasks at once buy using a comma-separated list:

1,2,3 done

Bulk changes require confirmation, so again you must type “yes” for each individual task or “all” for the group. Your process and output should look like the following image.

Taskwarrior done

Conclusion

Now you have enough expertise to create, modify, delete, and complete tasks within Taskwarrior. Even that small amount of knowledge is enough to keep you productive with your daily work.

If you want to branch out, try the help command within the shell or see the official Taskwarrior help page. And as always, return to Make Tech Easier for future help with task management and the command line. Best of luck.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Casey Houser

I have worked as a professional writer since 2011. I like to compose my articles in Vim, which I also use for hobbyist C and Ruby projects. When I'm not in front of a text editor, I run, bike, and play tennis until I'm too tired to move.