Skip to content

dstask vs Todo.txt

Price, platforms and features side by side. The table says where each price was read and when.

dstask

Terminal task tracker with git sync and a markdown note per task

Free

Todo.txt

Plain-text to-do list format with an open-source command-line tool

Free

Where they differ

  • dstask is free. Todo.txt is free.
  • dstask also covers Markdown.
In commonFree planmacOSLinuxWindowsOpen sourceLocal-firstKeyboard-firstTasks

At a glance

dstaskTodo.txt
PricingFreeFree
Starts atFreeFree
Free planThe whole program is free and open source under the MIT license, with no paid edition. Sync runs over a git repository that you set up and host yourself.The todo.sh script and the todo.txt format are free and open source under the GNU General Public License v3.0, with no paid version.
Free trialNone listedNone listed
macOS
Windows
Linux
Made byCal BryantGina Trapani and the Todo.txt community
Price read fromgithub.comgithub.com
CheckedOct 9, 2026Oct 5, 2026

Who each one suits

dstask

  • People who work in a terminal and are comfortable with git
  • Taskwarrior users who want sync without running a sync server
  • Keeping working notes and checklists alongside each task

Todo.txt

  • People who want their task list in a file they fully control
  • Command-line users who add and complete tasks from a shell
  • Using several apps and editors against one shared text file

Worth knowing

dstask

  • Personal use only: the README lists collaboration as a non-feature.
  • There is no GUI, web or mobile app in dstask itself; the FAQ points to a separate, early-stage community web GUI.
  • Editing the same task on two machines without syncing can produce a git merge conflict that has to be resolved by hand.
  • Tasks are not encrypted: the FAQ says encryption is not a design goal. Contexts are not synchronised between machines.

Todo.txt

  • The official tool is a command-line script. The project's own Android and iOS apps were archived on GitHub in December 2020.
  • The core format covers priority, dates, projects and contexts only. Due dates and other fields rely on key:value conventions set by each tool.
  • No sync is built in; the README suggests placing the todo.txt directory on a cloud drive.
  • On Windows the script is listed as tested under Cygwin, and the README gives install steps only for macOS and Linux.

Key features

dstask

Git-based sync and undo
Tasks are stored in a git repository, ~/.dstask by default. The sync command pulls then pushes, and undo reverts the last action with git revert, so there is no sync server to run.
Contexts
A context is a filter of tags and projects that narrows task listings and is also applied to new tasks. It is set with the context command or, per terminal, with the DSTASK_CONTEXT variable.
Markdown note per task
The note command opens a full markdown note for a task in your editor, where a checklist can track subtasks. The open command launches the URLs found in a task and its note in the browser.
Priorities, projects, tags and due dates
Tasks take a priority from P0 (critical) to P3 (low), a project, tags and a due date typed as a weekday, a relative day or a date. The default view sorts by priority, then creation date.
Task states and review commands
Start and stop mark tasks as active or paused. Commands such as show-resolved, show-projects and show-unorganised list completed tasks by week, project completion and untagged tasks.
Import from Taskwarrior and GitHub
The separate dstask-import tool loads a Taskwarrior export, which the docs call lossy, or pulls GitHub issues into dstask one-way using an API token.

Todo.txt

One task per line of plain text
A todo.txt file holds a single task on each line, so it can be read, searched, sorted and edited in any text editor on any operating system.
Priorities, projects and contexts
A leading (A) to (Z) sets priority, and +Project and @context markers can sit anywhere in the line. Tools may add key:value pairs such as due:2010-01-02.
todo.sh command-line script
Actions such as add, do, pri, append and replace change the file from a shell, and list shows the tasks matching your terms sorted by priority.
Archiving and reports
The archive action moves completed tasks from todo.txt to done.txt, and report records the number of open and done tasks in report.txt.
Add-ons and custom actions
The script loads custom actions from an actions directory, and the project wiki keeps a directory of add-ons and filters written by community members.
Community apps and editor plugins
The project site lists community-built apps for Windows, macOS, Linux, Android and the web, plus editor plugins, that all read the same file.

Plans

dstask

  • Free$0

    The dstask binary and the dstask-import tool for Linux, macOS and Windows, from the GitHub releases page or unofficial Homebrew, AUR, Nix and FreeBSD packages.

Todo.txt

  • Free$0

    The full todo.sh command-line script and the open todo.txt format, under the GNU General Public License v3.0.

More comparisons