Skip to content

Quick Start Guide

Isaac Pei edited this page · 21 revisions

Here’s how to install and run the Todo.txt CLI:

0. (Windows only:) Download and install Cygwin. Cygwin provides a Unix-environment for Windows; Todo.txt needs just the Bash shell and some common Unix tools, so a minimal installation will do just fine (Another suggestion is to use git on windows – it’s smaller and have sh builtin git on windows).

1. Download the latest stable release of Todo.txt CLI (available as a ZIP or TAR archive) and extract it.
Mac users: There is a Homebrew package for todo.txt – install using brew install todo-txt. There is also a MacPorts package – install with port install todotxt.

2. Open a command window. On Windows, this is Cygwin Bash Shell (not Command Prompt!); elsewhere, this is often called Terminal. It usually presents you with a $ prompt. cd into the directory where you extracted Make the script executable:

      $ chmod +x

3. Type ./ to see the usage message. You’re ready to go! To start adding tasks, type ./ add "My new task"

4. (Optional, since v 2.9:) Install the Bash completion, either system-wide, for all users:

      $ sudo cp todo_completion /etc/bash_completion.d/todo

or put it somewhere in your home directory and source it from your .bashrc:

      $ source todo_completion

Now you can type $ ./ ad<Tab> and Bash will autocomplete the action to $ ./ add. Any words that begin with + or @ will be completed using projects or contexts, respectively. Task numbers will append the task text as a shell comment.

Note: If you define an alias (e.g. t) to, you need to explicitly enable completion for it, too (also put this into your .bashrc):

      $ complete -F _todo t

5. Want more? See the full list of configuration tweaks, enhancements and recommendations on the Tips and Tricks page.

6. Something missing? Todo.txt is extensible; many users have already written custom add-ons.

7. Having problems? Have a look at the Troubleshooting page, or ask on the friendly mailing list.

Something went wrong with that request. Please try again.