dstask vs Todo.txt
Price, platforms and features side by side. The table says where each price was read and when.
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
| dstask | Todo.txt | |
|---|---|---|
| Pricing | Free | Free |
| Starts at | Free | Free |
| Free plan | The 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 trial | None listed | None listed |
| macOS | ||
| Windows | ||
| Linux | ||
| Made by | Cal Bryant | Gina Trapani and the Todo.txt community |
| Price read from | github.com | github.com |
| Checked | Oct 9, 2026 | Oct 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.