dstask vs Taskwarrior
We give dstask a 3.2 GPA and Taskwarrior a 3.4, out of 4.0. Taskwarrior grades higher on features. They get the same grade on value for money, the free plan, ease of use and platforms.
Price, platforms and features side by side. The table says where each price was read and when.
How we grade them
| 3.2GPAdstaskVery good | 3.4GPATaskwarriorVery good | |
|---|---|---|
| Value for money | AFree and open source under the MIT licence, with no paid edition. It's a single binary for Linux, macOS and Windows from the GitHub releases page. There's no sync service to pay for, because sync runs over your own git repository. | AFree and open source under the MIT license, with no paid edition. The project takes donations through GitHub Sponsors. The only bill you might see is for sync, since the docs say a cloud storage bucket carries a small cost. |
| Free plan and trial | AThe whole program is free, import tool included. Nothing is locked and there's no account. The only thing you bring is somewhere to host a git repository. | AThe whole program is free. There's no paid edition, so nothing is locked. Filters, reports, hooks and custom fields are all yours from the first command. |
| Features | BPriorities from P0 to P3, projects, tags, due dates, contexts that filter your list, and a full markdown note per task. Solid for one person. But tasks aren't encrypted, contexts don't sync between machines, and it's personal use only. | AMore than 20 standard attributes per task, filters you combine on the command line, contexts that stay switched on, and an urgency score built from a dozen or more factors. Hook scripts and your own fields bend it to any workflow, and everything moves in and out as JSON. |
| Ease of use | CNo rating is on record, and it's a command-line tool with a git repository to set up and host yourself. Edit the same task on two machines without syncing and you can get a merge conflict to fix by hand. | CIt's a command-line program, so you learn commands before you add your first task. Sync is more work again: you run a TaskChampion sync server or set up a cloud storage bucket yourself. Fine if you live in a terminal, hard going if you don't. |
| Platforms and integrations | BLinux, macOS and Windows, all in the terminal, kept in step through git. It can pull in GitHub issues and a Taskwarrior export. There's no GUI, web or mobile app in dstask itself. | BMac and Linux, and Windows only through the Windows Subsystem for Linux or MSYS2. Sync goes through a TaskChampion server or an AWS or Google Cloud bucket. The project ships no graphical, web or mobile app. Those are separate community tools. |
| Best for | terminal tasks synced through git | running your to-do list from a terminal |
The GPA is the average of the five grades: an A is 4 points, an F is none. The full reasons are on each tool's page: dstask and Taskwarrior. How we grade
Where they differ
- dstask is free. Taskwarrior is free.
- Only dstask lists a Windows app.
- dstask also covers Markdown.
At a glance
| dstask | Taskwarrior | |
|---|---|---|
| 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 whole program is free and open source under the MIT license, with no paid edition. The project takes donations through GitHub Sponsors. |
| Free trial | None listed | None listed |
| macOS | ||
| Windows | ||
| Linux | ||
| Made by | Cal Bryant | Gothenburg Bit Factory |
| Price read from | github.com | taskwarrior.org |
| 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
Taskwarrior
- People who work in a terminal and want to manage tasks by typing
- Keeping task data in a local database, with sync as an option
- Scripting a personal workflow with hooks and custom fields
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.
Taskwarrior
- The project ships only a command-line program. Graphical, web and mobile front ends are separate community tools.
- On Windows it runs through the Windows Subsystem for Linux or MSYS2; Cygwin is no longer supported.
- No hosted sync service is included: you run a TaskChampion sync server or configure a cloud storage bucket yourself.
- Since version 3.0 the docs warn that file-sync tools such as Syncthing or rsync can corrupt task data and are unsupported.
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.
Taskwarrior
- Task commands in the terminal
- Tasks are added, modified and completed with short task commands, and carry attributes such as project, tags, priority and due date out of more than 20 standard ones.
- Filters, reports and contexts
- Reports list tasks through filters you combine on the command line. A context is a named filter that stays active, for example to show only work tasks.
- Urgency score
- Each task gets a numeric urgency score summed from a dozen or more factors such as priority, and the next report sorts tasks by it.
- Sync between replicas
- The task sync command exchanges changes with a TaskChampion sync server, an AWS or Google Cloud storage bucket, a local file or a git repository.
- Hooks and user defined attributes
- Hook scripts in any language run at set events in the program, and user defined attributes add your own fields that can be stored, sorted and shown in reports.
- JSON import and export
- Task data moves in and out through a documented JSON format, which the community tools listed on the project's Tools page build on.
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.
Taskwarrior
Free$0
The full command-line program under the MIT license. Sync needs your own server or a cloud storage bucket, which the docs say carries a small cost.