Published 8 minutes ago
Chifundo is a writer for MakeUseOf. He initially studied banking but discovered a passion for writing and became a freelance writer in 2017. He has written articles, blogs, essays, and web content for dozens of clients on Upwork, as well as high-authority sites like How-To Geek and Make Tech Easier.
Chifundo loves that writing allows him to learn and explore different topics and turn them into engaging, easy-to-understand content that helps people.
He mainly writes for Windows on MakeUseOf, having been a Windows user since Windows 98. He has helped people solve Windows problems at home and in the…
Published 8 minutes ago
Chifundo is a writer for MakeUseOf. He initially studied banking but discovered a passion for writing and became a freelance writer in 2017. He has written articles, blogs, essays, and web content for dozens of clients on Upwork, as well as high-authority sites like How-To Geek and Make Tech Easier.
Chifundo loves that writing allows him to learn and explore different topics and turn them into engaging, easy-to-understand content that helps people.
He mainly writes for Windows on MakeUseOf, having been a Windows user since Windows 98. He has helped people solve Windows problems at home and in the organizations he has worked for. He loves to help people understand various Windows features to use the OS to its full potential.
In his spare time, Chifundo loves to design and code video games. He mainly focuses on 2D games and dreams of becoming an indie developer. He also does pixel and vector art, which he uses for his personal projects.
For years, I’ve relied on traditional task managers such as Google Tasks, Microsoft To Do, and Todoist. They’re loaded with impressive features, including task organization, multiple views, artificial intelligence, automation, and cross-device syncing. They do a lot, yet their many features can be distracting and reduce actual productivity.
That’s why I looked into something simple and came across a command-line task manager. It strips productivity down to the essentials—using the command-line to get things done through text-based commands. I reached my limit with traditional task managers for personal projects, and I’m glad I’ve found something fast, minimal, and deeply satisfying.
Why I recommend a CLI task manager
A text-centric powerhouse for distraction-free workflows
If you value efficiency and simplicity, Taskwarrior was made for you. It’s an open-source tool that significantly minimizes distractions by allowing you to manage your tasks from the command line. There are no complex interfaces, gamified checklists, or endless notifications to worry about. Furthermore, it stores tasks locally, giving me complete control over my data.
You can create tasks, add them to projects, set priorities, and set deadlines all from the command-line with Taskwarrior. Because it’s text-based, Taskwarrior integrates seamlessly with scripts and other command-line tools, which also makes it ideal for developers and power users who value control, customization, and automation.
Taskwarrior
OS Linux, Windows, macOS
Plan Options Free
Taskwarrior is a fast, flexible, and command‑line task management tool that helps users organize, prioritize, and track their to‑dos efficiently.
My ideal Taskwarrior setup
Setting Taskwarrior up for maximum productivity
Taskwarrior is available for Linux, Windows, and Mac. I use Windows, and I installed it using Cygwin. Cygwin installs a Unix-like environment on your Windows machine. You just need to add Taskwarrior to Cygwin during installation so you can use it from the command-line.
Related
Forget Cygwin: CASH Brings The Best Of Linux To Windows
Linux and Windows are very different operating systems, and nowhere is that more apparent than with the command line. Various tools are available to make Windows feel more like Linux, such as Cash.
To verify that Taskwarrior was working, I launched the Cygwin terminal and ran the task command. This prompted Taskwarrior to look for a configuration file. Since this is the first time running it, Taskwarrior didn’t find any configuration files. However, it asked me if I wanted to create one, so I confirmed with yes command.
I ran the task command again, but it didn’t show anything because there were no tasks to list. So I added a task with the following command:
task add this is a test
I was able to see the task in Taskwarrior and verify that it was working as expected. I deleted it using its ID with the command below.
task 1 delete
Next, I decided to use Cygwin in VS Code. Luckily, VS Code automatically detected my Cygwin installation, and I was able to launch the terminal inside of it. I switched to VS Code because it would allow me to, for example, split the terminal panel so I can see my task list in one pane and manage my tasks in the other. I can even have the Taskwarrior configuration file open so I can tweak the settings—all in one location.
What it’s actually like to use Taskwarrior
Managing tasks from the command-line is quite satisfying
One thing I always wanted to do was learn the Godot game engine. There is a great tutorial series on YouTube that shows you how to create a 2D farming simulator. I decided to track my progress working through the material in Taskwarrior.
I turned each video into a task and assigned it to a project to better track it. Here’s the code:
task add 1. Project setup and downloading assets project:Godot_tutorial
I can view all tasks in a project with the command below:
task project:Godot_tutorial
Here’s the command for assigning a due date to a task with the ID 1:
task 1 modify due:saturday
Tasks with due dates are highlighted in red, making them distinguishable from the rest.
You can also mark tasks as done. This will remove them from the task list. Here’s the command for completing a task with the ID 1:
task 1 done
The command below shows a summary of the project so I know how much progress I’m making.
task project:Godot_tutorial summary
So this has been my flow in tracking how I’m learning Godot. Considering I’m also coding along in VS Code, it’s all just convenient and lightweight without the distraction of a graphical interface.
As I dove deeper into Taskwarrior, I found that I could add tags to the tasks for easy sorting and filtering. This is all just the basics, but Taskwarrior goes so deep that advanced users can use regular expressions to create complex workflows.
Taskwarrior is not entirely easy to use
Some caveats to be aware of
Taskwarrior has a learning curve, especially when it comes to the commands. It can get overwhelming, particularly for people who don’t normally use command-line tools. Also, it’s not for visual thinkers. Some people thrive when looking at Kanban boards or timelines. There’s none of that here, which can make it hard for them to track their tasks.
There are also no built-in collaboration features, though I did manage to push Taskwarrior’s data to GitHub using Git. I guess that’s one way to bring collaboration to Taskwarrior, as well as cross-device syncing, to Taskwarrior, provided everyone involved remembers to push their changes. Luckily, you don’t need to be a programmer to use Git, even though it also has a learning curve.
Related
I use Git to sync my notes and it’s easier than you think
Git keeps my notes synced, safe, and versioned without the usual sync mess.
Taskwarrior 3 supports syncing, but I failed to set it up. The documentation said it requires server configuration.
Taskwarrior is a nice break from traditional task managers
Taskwarrior excels at personal productivity. Its simplicity in design brings mental clarity by reducing tasks to text. Focus is at the forefront instead of an overwhelming number of features that I will never use. While it may not replace every tool, it offers a refreshing break from the clutter of traditional task managers. For me, it’s the missing piece that finally made productivity feel effortless.