Install TaskWarrior under Windows for dummies

The short version of this post is: Install cygwin together with the package "task". Here is a slightly longer version, if you want to know more: 1. Download the current cygwin setup file from (e.g. 2. Execute it and click "Next", "Install from Internet", "Next" and choose an installation directory (I recommend using the default C:\cygwin, if you want to change it, please don't use spaces or special characters in the path). 3. Click "Next" until the setup tells you to select a download site. Select a mirror near you (e.g. and click "Next". 4. Then a window appears where you can select the packages that should be installed. Enter "task" (without the quotes) into the search field and don't press return. 5. Fully extrude the tree and click on the text "Skip" in the same line as "task: A command-line to do list manager" to change it to the current version. 6. Click "Next", make sure "Select required packages" is checked and click "Next" again. The download and installation process starts. Grab a coffee. If the process gets interrupted, just start over again. 7. You may find a link to the default cygwin shell on your desktop. Run it and a window appears where you can enter "task" (without the quotes) to execute TaskWarrior for the first time. You may answer the question about the creation of a sample configuration file with yes.

7 Replies to “Install TaskWarrior under Windows for dummies”

  1. For some reason the task (Task Warrior) package is not available for Cygwin 64-bit. So annoying!
  2. Meh, yea, it seems to me like there are a lot of packages still missing from Cygwin64. I am sure that will get better in the future, though. It's still quite new, compared to the x86 version of Cygwin.
  3. It's very easy to compile taskwarrior from source in cygwin64! Also, you get the latest and greatest version. :) Just make sure you have make, g++, GnuTLS, libuuid and libreadline installed. I had those already.
    tar -xzvf task-2.4.0.tar.gz
    cd task-2.4.0/
    # either
    cmake -DCMAKE_BUILD_TYPE=release .
    # or, if you want to install in $HOME rather than /,
    make install
  4. Because of some issue related to the function get_current_dir_name() being defined in <unistd.h> or not, one has to set the macro HAVE_GET_CURRENT_DIR_NAME to 0 to avoid usage of the function. Or in other words add -DHAVE_GET_CURRENT_DIR_NAME=0 to your cmake command.

Leave a Reply

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