# dstask

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

dstask is a free, open-source personal task tracker for the terminal. Tasks carry tags, a project, a priority from P0 to P3 and an optional due date, each can hold a full markdown note, and a context applies the same filter to the task list and to newly added tasks. Data is kept in a git repository, so sync between machines, undo and conflict resolution all run through git and no sync server is needed.

- **Category:** To-Do List Apps
- **Made by:** Cal Bryant (since 2018)
- **Website:** https://github.com/naggie/dstask
- **Runs on:** macOS, Linux, Windows
- **Facts last checked:** Oct 9, 2026

## Pricing

dstask is free to use.

- **Pricing model:** 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.
- **Free trial:** None listed.

| Plan | Price | What you get |
| --- | --- | --- |
| 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. |

Read from https://github.com/naggie/dstask on Oct 9, 2026. Prices change, so confirm with dstask before buying.

## Key features

- **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.

## Good for

- 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

- 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.

## Works with

Git, GitHub, Taskwarrior

**Tags:** Open source, Tasks, Keyboard-first, Markdown, Local-first

## Alternatives

- [Taskwarrior](https://toolgpa.com/tools/taskwarrior): Free, open-source to-do list manager for the command line. [Compare](https://toolgpa.com/compare/dstask-vs-taskwarrior)
- [Todo.txt](https://toolgpa.com/tools/todo-txt): Plain-text to-do list format with an open-source command-line tool. [Compare](https://toolgpa.com/compare/dstask-vs-todo-txt)
- [topydo](https://toolgpa.com/tools/topydo): Console todo.txt manager with dependencies and recurring tasks. [Compare](https://toolgpa.com/compare/dstask-vs-topydo)
- [Dooit](https://toolgpa.com/tools/dooit): Terminal to-do manager configured with a Python file. [Compare](https://toolgpa.com/compare/dooit-vs-dstask)
- [Cfait](https://toolgpa.com/tools/cfait): Offline-first CalDAV task manager for terminal, desktop and Android. [Compare](https://toolgpa.com/compare/cfait-vs-dstask)

## Sources

The prices, plans, platforms and features above were read from these pages on Oct 9, 2026:

- https://github.com/naggie/dstask
- https://raw.githubusercontent.com/naggie/dstask/master/README.md
- https://raw.githubusercontent.com/naggie/dstask/master/doc/dstask-import.md
- https://api.github.com/repos/naggie/dstask
- https://api.github.com/repos/naggie/dstask/releases/latest
- https://api.github.com/users/naggie
- https://calbryant.uk/blog/dstask-a-terminal-based-git-powered-task-manager/

Page: https://toolgpa.com/tools/dstask
Listed by ToolGPA (toolgpa.com).
