3pm: Task Management Like a Pro with Taskwarrior in the Terminal

In a previous article we touched upon Taskwarrior, let's dive deeper. Dive into the world of efficient task management on the terminal. Taskwarrior, our spotlight for this hour, is a powerful command-line tool that enables effective organisation and management of tasks. Ready? Let's get started.

What does this article replace?

This article replaces the necessity for GUI-based task management tools like Trello, Todoist, or Microsoft To-Do. We'll show you how the terminal can effectively handle your to-do lists and projects with Taskwarrior.

How long will it take to set up?

It should take about 30 minutes to set up and get accustomed to Taskwarrior. Once you're familiar with it, using it will become second nature.

2 out of 5 stars

Difficulty Rating:

Commanding your tasks from the terminal is moderately easy, with a difficulty level of 2 out of 5. It involves using task management tools and command-line interfaces to efficiently manage your tasks and increase productivity.

Step 1: Installing Taskwarrior using Homebrew

To get started, let's install Taskwarrior using Homebrew, a package manager for macOS. Open your terminal and run the following command:

brew install task

This command will install Taskwarrior on your system.

Step 2: Basic Taskwarrior usage

Once Taskwarrior is installed, let's explore its basic usage.

Creating tasks

To create a new task, use the task add command followed by a brief description of the task. For example:

task add Buy milk

This command will create a new task with the description "Buy milk."

Viewing tasks

To view your tasks, use the task command without any arguments:

task

This will display a list of your tasks, including their IDs, descriptions, and statuses.

Marking tasks as complete

When you finish a task, you can mark it as complete using the task done command, followed by the task's ID. For example:

task done 1

This command will mark the task with ID 1 as complete.

Setting due dates

You can assign due dates to tasks using the task modify command with the due attribute. For example, to set a due date for a task with ID 1:

task modify 1 due:2023-05-17

This command will set the due date for the task to May 17, 2023.

Organizing tasks into projects

To organize tasks into projects, use the task modify command with the project attribute. For example, to assign a task to a project named "Work":

task modify 1 project:Work

This command will add the task with ID 1 to the "Work" project.

Step 3: Advanced Taskwarrior features

Taskwarrior offers several advanced features to enhance your task management experience. Some notable features include:

  • Tags: Assign tags to tasks to categorise them. For example, you can tag a task as "important," "urgent," or "personal."
  • Recurring Tasks: Set up recurring tasks that automatically repeat at specified intervals.
  • Custom Task Attributes: Define custom attributes for tasks to track additional information beyond the default attributes.

For more information on these advanced features and other capabilities of Taskwarrior, refer to the official Taskwarrior documentation.

As we conclude this hour's challenge, remember that with the terminal and Taskwarrior, you command your tasks. You're not just being productive—you're being productive like a pro. Stay tuned for the next hour's challenge!


Remember, this is part of our 24-hour series aimed at replacing 24 GUI applications with terminal commands. We started our journey at 6 am, and now, at 3 pm, we're marching on.