Cfait vs dstask
Price, platforms and features side by side. The table says where each price was read and when.
Where they differ
- Cfait is free. dstask is free.
- Only Cfait lists an Android app.
- Cfait also covers daily notes and time tracking.
- dstask also covers Markdown.
In commonFree planLinuxWindowsmacOSOpen sourceLocal-firstKeyboard-firstTasks
At a glance
| Cfait | dstask | |
|---|---|---|
| Pricing | Free | Free |
| Starts at | Free | Free |
| Free plan | Cfait is free, open-source software under the GPL-3.0 license with no paid plans. The developer accepts donations through Liberapay and Ko-fi. | 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. |
| Free trial | None listed | None listed |
| macOS | ||
| Windows | ||
| Linux | ||
| Android | ||
| Made by | Benoit Brummer (Trougnouf) | Cal Bryant |
| Price read from | github.com | github.com |
| Checked | Oct 9, 2026 | Oct 9, 2026 |
Who each one suits
Cfait
- Keyboard-driven users who work in a terminal
- People who sync tasks through their own CalDAV server
- Linux and Android users who want an open-source task manager
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
Worth knowing
Cfait
- There is no iOS app or web version: the README lists Linux, FreeBSD, Windows, macOS and Android.
- The macOS binaries are built and hosted by a contributor on a separate site, not on the project's releases page.
- Syncing between devices needs a CalDAV server that the user hosts or signs up for; Cfait runs no sync service of its own.
- Help is built into the apps; the README points to in-app guides, a commented config file and SPECS.md in place of a manual.
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.
Key features
Cfait
- One-line task syntax
- Typing a line such as "Buy green tea @tomorrow !1" sets the due date and priority. Other markers set start dates, estimated durations, recurrence and locations.
- Terminal, desktop and Android apps
- A terminal interface, a graphical desktop app and a native Android app with home-screen widgets share one Rust core and the same task data.
- Offline-first with CalDAV sync
- The default Local collection needs no server. To sync devices, Cfait connects to standard CalDAV servers; the README names Nextcloud, Radicale and Baikal.
- Sub-tasks, dependencies and tags
- Tasks form parent and child trees, one task can block another, and hierarchical tags such as #work:backend can be combined into reusable aliases.
- Time tracking and goals
- A task can be started and paused to record time spent, given an estimated duration, or tied to a recurring habit goal such as five times a year.
- Daily notes and wiki pages
- A date-anchored journal and wiki pages linked with double square brackets sit beside the tasks and sync as CalDAV VJOURNAL entries.
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.
Plans
Cfait
Free$0
The terminal, desktop and Android apps with every feature. Syncing uses a CalDAV server the user supplies.
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.