Todo.txt – Manages Your Todo Tasks from Linux Terminal

Todo.txt (todo.txt-cli) is an easy and extensible shell script for managing your todo.txt file. It allows you to add todos, list added todos, mark an entry as done, appends text to existing lines, and remove duplicate lines from todo.txt all from the Linux command line.

It also supports archiving (moves all done tasks from todo.txt to done.txt and removes blank lines), de-prioritizing (removes the priority) from the task(s) and so much more.

Todo.txt-cli is part of the todo.txt apps which are minimal, open source and cross-platform, todo.txt-focused editors which assist you manage your tasks with a few keystrokes and taps possible. Todo.txt CLI and Todo.txt Touch are built for CLI, iOS, and Android.

 Todo.txt CLI Demo
Todo.txt CLI Demo

How to Install Todo.txt CLI in Linux

To install todo.txt-cli, first you need to clone the git repository on your system using following git command.

$ cd ~/bin
$ git clone https://github.com/todotxt/todo.txt-cli.git
$ cd todo.txt-cli/

Then run the following commands to build and install todo.txt-cli.

$ make
$ sudo make install

Note: The Makefile makes several default paths for installed files. You can use the following variables to make adjustments on your system:

  • INSTALL_DIR: PATH for executables (default /usr/local/bin).
  • CONFIG_DIR: PATH for todo.txt config.
  • BASH_COMPLETION: PATH for auto-completion scripts (default to /etc/bash_completion.d).

For example:

$ make install CONFIG_DIR=$HOME/.todo INSTALL_DIR=$HOME/bin BASH_COMPLETION_DIR=/usr/share/bash-completion/completions
Install Todo.txt CLI in Linux
Install Todo.txt CLI in Linux

How to Use Todo.txt CLI in Linux

To add a todo task to your todo.txt file, run the following commands.

$ sudo todo.sh add "setup new linode server"
$ sudo todo.sh add "discuss fosswork.com site with Ravi"
Add Todo Tasks in Linux Terminal
Add Todo Tasks in Linux Terminal

To list added todo tasks, use the following command.

$ todo.sh ls
List Todo Tasks in Linux Terminal
List Todo Tasks in Linux Terminal

You can marks task as done in todo.txt using following command.

$ sudo todo.sh do 1
Mark Todo Task as Done
Mark Todo Task as Done

You can also delete a todo item, for example.

$ sudo todo.sh del 1
Delete a Todo Task in Linux
Delete a Todo Task in Linux

For more usage and command options, run the following command.

$ todo.sh -h

Todo.txt Homepage: http://todotxt.org/

That’s all! Todo.txt is a simple shell script for creating and managing all your tasks from the Linux terminal. Share your thoughts about it or ask any questions via the feedback form below.

If this article helped, with someone on your team.

TecMint Weekly Newsletter
Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.
Check your email for a magic link to get started.
Something went wrong. Please try again.
TecMint has been free for 14 years. Help keep it that way.
Google AI Overviews and tools like ChatGPT have cut into search traffic for independent tech sites like TecMint. Running this site costs over $2,000 every month for hosting, infrastructure, and paying authors to keep the content accurate and tested.

If this article helped you solve a problem, consider buying a coffee. It helps keep TecMint free, supports the authors, and keeps the project going.
☕ Buy Me a Coffee
Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

6 Comments

Leave a Reply
  1. You’re using sudo to run a command that requires no special privileges. That’s probably the worst example one could set

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.

Free Course
Get a free Linux course before you go.
Subscribe to TecMint Weekly and get the Learn Linux 7 Days Crash Course free. Read by 34,000+ Linux professionals every Thursday.
Something went wrong. Please try again.
Check your email for a magic link to get started.