Hacker News new | past | comments | ask | show | jobs | submit login
Taskwarrior – CLI Task Management (taskwarrior.org)
173 points by httbs 22 days ago | hide | past | favorite | 71 comments



Self plug, I'm developing a minimal gui for Taskwarrior, focused on keyboard navigation.

https://github.com/tmahmood/taskwarrior-web/

Task warrior is the my core of task management, as I've ADHD,I lost track of my task if it's not easily visible, this ui helps me with that. It shows timer for active task on the top.

Future plan is to integrate time warrior too.


Impressive, I am definitely giving this a test drive.

One observation: one thing people dislike about task warrior is that it can be complicated using it on the go, e.g. on a smartphone. A web interface like yours offers a real chance to make task warrior usable on smartphones and solving the syncing problem at the same time.

Is this within scope of your ideas? Or is the web interface mainly thought for (unauthenticated) local use?


For now, my scope is local usage. As I am working as a freelancer, having free time to work on personal project becomes a luxury :-(

Yes, remote usage is an issue for task warrior. As I work from home, remote access is not yet a priority to me.

Come to think of it, as the UI can be accessed in LAN, maybe I can use local storage to store the data on mobile, sync with the desktop when it can connect back.

I will keep it in mind, to see if I can do it, I feel it's an interesting idea!


Hey, no worries, been there, done that. It is your personal project — don't ever let anyone (including me) pressure you into doing any work you would not do yourself.

If this was my project and I was tasked with adding mobile support I'd add:

- a simple (optional) authentification scheme that let's you deploy the whole thing server side/log in remotely

- a alternative mobile interface that works well on smartphones without keyboards

Then the task data lives on the server and syncing is a on-issue


Ideas and feedbacks are always appreciated, they almost always teaches you something new


As a fellow ADHDr, I've found that I lose track of the entire task tracking system if it doesn't remind me of its existence. I recently wrapped the taskwarrior CLI with some bash and zenity popups that run on crob jobs to ask me what I'm doing and its proven quite effective at getting me to stay on task and log what I've been doing via timewarrior. Not sure how easy that is to do in a web UI, but if you find a similar struggle, it might be worth a shot.


Yes! adding a hourly notification is on the table.

Also when I active a task, gnome-pomodoro is hooked too, which has timely dings, to remind me I'm working on something.

Converted the web app to PWA, and added to startup, so I can see my tasks as soon as I log in, but one issue is I rarely log out


Thank you for posting. I’m of the same mind, so I appreciate you working on this publicly. I’ve bookmarked it to check it out next time I get frustrated haha (I have a “productivity things to try” bookmark folder)


You can give the binary a try. I tried to keep it really simple, and minimal.

Truth to be told, working on publicly is for selfish reasons (but nonetheless, it will make me very happy if it helps people)

I started a year and half ago, progress was extremely slow, I felt making it public would give me some push, besides improving my portfolio

Made a lot of progress once it was in the open, it did gave a positive push.


Nice! Why not a TUI instead of a Web UI?


I don't think there's any need for another TUI when we have VIT, I tried to make my UI as par with it in terms of information density, and keyboard access


In case anyone else is interested in seeing the schema I ran a few example commands through this and the dumped my ~/.task/taskchampion.sqlite3 database out to SQL: https://gist.github.com/simonw/ab208b18b6c3ab31ea3feb70f6502...

It's mainly JSON data stored in some simple tables, with full historic change tracking modeled as JSON too.

Here's that example loaded into Datasette Lite: https://lite.datasette.io/?sql=https://gist.github.com/simon...


That format could sync well to local-first PWA using indexeddb.


I LOVE taskwarrior but I feel any TODO software that can't easily be synced across devices is a nonstarter these days.

Sure I could throw the sqlite db in Dropbox or something, but there's no good way to manage the TODOs on a phone.

Every 6-12 months I'll give it another try and love it but feel it's just too limiting for most personal tasks.

I do like to use it for work tasks that aren't tracked in Jira...so stuff I generally only care about when I'm at a computer.


https://taskwarrior.org/docs/commands/synchronize/

> The synchronize command, which first appeared in version 2.3.0, allows your Taskwarrior instance to share tasks with other instances. You can have several instances making local changes all of which sync to a single server, and they will all be kept up to date, with changes flowing from instance to instance.

    $ task sync
    Syncing with foo.example.com:53589

    Sync successful.  1 changes uploaded.
There was a site inthe.am which provided sync service. While that's been shut down, the code is available on https://github.com/coddingtonbear/inthe.am - the local hosting wasn't ever finished or not designed with that in mind ( https://github.com/coddingtonbear/inthe.am )


There IS an android implementation on the play store I think. I ended up just running task warrior on a VPS and shelling in though. But that UI sucks on a phone.


I use this one [0] to run Taskwarrior on Android. It's abandonware but still works well enough for me. Enough for adding, removing, moving and ticking off tasks. I have the TaskWarrior server running on a VPS. Only works with the 2.x versions of TaskWarrior though as that is what is integrated in the app. Both the app and PC sync to the server instance with the Taskwarrior native sync functionality.

Would love to see some proper multi-device support in the latest release. The above setup works in itself. But the app is not being maintained anymore and Android as an OS has moved on. For example the launcher shortcuts for task filters stopped working with some Android update. And I guess Taskwarrior itself has moved on as well with v3. I'm not going to use it though as long as there is no multi-device support.

Oh well. So far I have not been bothered enough to have a go at making it work myself. There are probably as many flavours of Taskwarrior clients as there are users :)

[0] https://bitbucket.org/kvorobyev/taskwarriorandroid/wiki/Home


Don't get me wrong, this is probably great software, but there is a big field of tasks like reminder apps, calendar, note taking apps etc. for which I just use a plain free form text editor. I don't quite see what these tools offer, other than pretty user interfaces. And after taking the time to learn the new tools, there will still be cases when I won't have access to them, while plain text works everywhere


Same here. I've been using "todo.txt" for years (decade?) now. It's hardly more than a very loosely defined format to present TODOs. Lot's of tools, apps, GUIs and whatnot developed around it.

The format is so easy that anything that can edit txt allows to manage it without hassle, so even if MyFavoriteTool is abandoned in a year, I can continue with my todo system. And synching a text file is a no-brainer too. I now just use dropbox. But used git, rsync and some more in the past.

The only downside I've constantly run against, is that I cannot "share" this with my spouse or colleagues. Guess "team" function could easily be invented, but so far no one has, that I know, and I'm not going to put that task on this todo.txt file either.


I think i read some where (or maybe i heard it on a podcast?) about a user of todo.txt who maintained a separate todo.txt like shared-todos.txt or something which basically was a file which was shared with others to track , well, shared tasks. I think they also incorporated a shared calendar, but can't recall if the calendar and the shared text file were connected manually or automatically (through some bash script). I don't recall any more of the details. But, i guess it is possible, and at least one person does employ this tactic. My assumption there is that any sharing of such a text file would necesitate that all collaborators are text file-centric users too.

This approach is not something that would work for my family...but, maybe i have a friend or 2 (at most!) who could collaborate this way (that is, sharing a text file of ToDos). But, i wonder how annoying it would be to track such a separete file for this? Hmmm. I think at some point the need for multi-person collaboration might break down with only a single text file...and since things likely need to get at least a little more sophisticated, might necesitate more tooling. I guess.


For me it's dependencies and automatic urgency ordering. Greys out whatever I can't do yet without actually hiding it, helps decide what's most important to do next, and automatically adjusts all of it when a task is completed.

I did only use a text file before fiddling with those two features and finding they did actually help me. Nowadays I use taskwarrior for anything that will last longer than a day, and a temporary text file for only the things I plan to do that day.


For me personally, timed reminder is a must have. Being able to give some task a date and then forget about it until its due and gives me proactive reminder. As far as I know, no text-based system is capable of that.


I was going to say something similar. Is it ever the case that a single app or something tiny piece of technology has revolutionised a persons discipline and ability to stay on top of things?

While apps might make things easier, unless the individual develops a personal system and follows it in a disciplined fashion, none of these things are going to make a difference.


Tools are just that, tools. 150 years ago someone might have said the same thing about a pocket watch or a paper calendar.

The question is, whether the form of task keeping the tool encourages fits to your practice. E.g. if you have a well ordered software engineering life, thst thing might be perfect, if you are a mother of three that works as a alpine guide a paper based system might work better. Or you might just not like the choices they made — which is a perfectly fine reason not to use it.

What I have learned is that procrastinators will hunt for the perfect tool to manage their backlog, especially when it means they can avoid tackling their backlog.

One thing tho: time tracking can be an eye opener. Many people do 30 minutes of effective work a day, while (understandably) feeling stressed for not getting shit done. Task Warrior has a great time tracking extension. So depending on your life and needs it might be well worth figuring out where you spend your time.


I am with you, as of now I use a paper notebook for all that. But in a previous (more predictable) life I was using task warrior and time warrior and was very happy with it. Especially since it also runs on android and you can just sync the data.

If you like Command line applications and need something that is good for many tasks in nested projects and time tracking capabilities (e.g. as happens in software world) it is worth checking out.


The only benefit this could provide is time warrior integration.


Yes, every time I start using some GUI software, I eventually find myself returning to markdown.

I spend all day editing in VSCode -- it's nice to use the same tool (and vim keys)


Been using taskwarrior (and the really great TUI interface https://github.com/kdheepak/taskwarrior-tui) for about 6 months now. My favorite things:

- really fast day-to-day navigation using vim-like controls in the TUI

- automatic sorting using due date, task dependencies (A must be done for B to start), age, etc.

- task dependencies. This is really helpful for me

- decent enough cross-device sync with syncthing (I already had it up and running)

- ability to produce reports. E.g. what tasks did I complete for project X last month?

- whole system has a good set of hooks into it, making it relatively hackable

Downsides: - was slightly intimidating at first. If you're starting out, definitely start on the simple end, and slowly add complexity to your setup (creating tasks -> due dates -> using projects -> creating task dependencies -> using contexts for work/play/study -> ... -> ...)


I've used Taskwarrior (and Timewarrior [1]) for some time and one thing they uniquely do is automatically rank your tasks by a number of factors.

For your tasks, you can set priorities, a deadline, dependencies, and more. Using this information, Taskwarrior computes an urgency score so you can see your most urgent task using:

  task next
Sometimes I wonder what a GUI-based app would look like that does such urgency rankings.

[1]: https://timewarrior.net/


Love taskwarrior. Looking forward There's a great TUI; https://github.com/kdheepak/taskwarrior-tui

I wish cross-device-sync was feasible, but it's pretty good.


> cross-device-sync

This looks like an attempt at that?

https://github.com/GothenburgBitFactory/taskserver


Deployment was quite complex for the target audience, due to requiring mutual TLS and thereby requiring the management of self signed key infra or a commercial TLS cert.


I've had good success using Syncthing to keep my tasks in sync between my phone, laptop, desktop, etc. Point it at your Taskwarrior data folder and you're off.


I wouldn't call it "great". It crashed in 2 seconds (index out of bounds) on my Mac from going to the Calendar page and hitting j twice.


I see taskwarrior-tui being mentioned a couple of times in this thread. If anyone is interested in why or why not to use taskwarrior-tui, the biggest advantage of taskwarrior-tui are 3 fold:

1. Previously you would have to type `task report`, `task add …`, `task report` again to see how your priorities have changed. With the TUI you can get live feedback.

2. By default, the TUI comes out of the box with intuitive (in the author’s opinion) single-key press actions that map to various taskwarrior subcommands on single or multiple tasks.

3. The UI lets you as a user run 9 custom bash scripts as shortcuts that can extend features without changing the source code.

There are a few things not so good about it though.

1. Everything is accomplished by shelling out to the taskwarrior `task` cli, which has some nuances in parsing command line arguments, and all the corner cases haven’t been ironed out.

2. The calendar feature, the contexts feature, styling features etc are all underbaked or incomplete.

3. This was the author’s first Rust project and definitely needs some refactoring love.

The author definitely recommends reporting any issues or feature requests. He’s also extremely appreciative of the fact that people use the tool and advocate it to other people on threads like this!

Source: I’m the author :)


Just for comparison, I've had a couple crashes in about a year of daily use. Definitely less than IntelliJ or Chrome has crashed, but more than vim.


That's really unfair comparison. IntelliJ and Chrome are more complex piece of software.


With many more people working on them and paid to do so.


That's just absurd.

An IDE or a browser have a huge number of failure points.

Just starting up initiates large numbers of complex operations, file I/O, processing, database, graphics, platform specific operations, what not. They are in a way OS of their own.

Comparing a CLI application, that's scope is tiny compared to a full-blown IDE or a browser, is absurd!


I love taskwarrior so much on desktop, but hate it so much on mobile that I ended up switching to 2Do. It’s so heartbreaking because the automatic task prioritization you get is really novel and nice. But the iOS client situation is dire, and as much as I found it novel to have working sync and mobile with iSH, it just didn’t cut it for me.

It’s definitely my favorite task manager I can’t really use for this reason.


I think, at this point, there are probably more task management tools that aren't Jira than there are users who don't want to use Jira.

I myself have a few; here's my entry into this particular category (c/line and written in bash): https://github.com/lelanthran/terminal-todo


I wasn't happy with Taskwarrior, so I started to develop my own CLI task manager called "TaskLite" a few years ago. Here is the comparison page:

https://tasklite.org/differences_taskwarrior

I'm about to release a new version with a lot of improvements the coming weeks.



I absolutely love Taskwarrior. I love that it'll just tell you what to do next based on weight, priority, due date, size, etc. I love annotating and adding tags/labels etc and how generic things are.

It's really a pain in the ass that I can't get it on multiple devices so I ultimately never am in the right place to add todo items. I know there's a Task champion sync-server that's rewritten as part of Taskwarrior 3.0 but it seems very early in the development and I haven't gotten to to work and have been using Inkdrop instead; would love to go back to Taskwarrior.


Bad form to recommend something else...

But I had some of the same issues that people have described about synchronizing across multiple devices with notifications and all that jazz, and ended up landing on Amazing Marvin (https://amazingmarvin.com/).

It is the single, closest thing I've found to the same paradigm of Task Warrior's prioritization systems, and incredibly customizable, which is lovely to see as a web app. No connection to it, other than it being something I love.


Do you know if this is still being actively developed? I looked at it a few months ago and was worried it looked like it was being abandoned.


What made you think that? The changelog lists recent changes: https://community.amazingmarvin.com/changelog


I was looking back in mid-2023. Looks like there was a large gap until the beginning of 2024. Glad to see it's still being maintained!


> > I looked at it a few months ago

Depending on when they looked, maybe the big gaps in releases before this year? Did it change ownership or just get more active?


I love the CLI part of taskwarrior but the Android UX sucks compared to other todo managers such as todoist, so that's what I'm running now.


Another shameless plug: git-task

Task manager or bug tracker that resides right within git repository and can sync with GitHub.

It's on a very early stage of development, but somehow works. I'd really appreciate any ideas on what can be done/improved (actually, a lot).

https://github.com/jhspetersson/git-task


There were several of these in the early/mid-2010s and all had different drawbacks that made them awkward to deal with. Offhand the only one I remember the name of was BugsEverywhere: https://github.com/aaiyer/bugseverywhere

Some issues I remember in general (not all of these applied to all these distributed bug trackers) that caused them to largely be abandoned:

* No single view of cases: At least one of them was tied to the current commit, so a case could be resolved on a branch but not master

* No central view for non-devs

* Updating happened outside normal git operations so it was easy to forget to push/pull case changes

* One of them that avoided the previous issue made heavy use of branches to keep its data in the main repo, so it turned the repo into a mess

* Even if you did push/pull, updates aren't synchronous with a central location so it was totally possible for two people to assign a case to themselves locally and not realize it until later


I didn't like a few things about it so (like half the people on this thread xD) I built my own: https://github.com/matthewscholefield/autario

It's probably pretty niche complaints but I didn't like how overly precise due dates were (every due date has precision down to the second), how recurring tasks worked, especially with cross device synchronization, and a few other small things.


How does taskwarrior deal with recurring tasks now? Like tasks that have a due date recur every two weeks, or tasks that have a due date always two weeks after done.


This looks pretty nice. I would need to dig in a bit to see if it supports showing only my next most important task and an alternate method of ordering to work for me. Based on the docs I did read, I bet it has this built in. I’m also curious about size.

I recently wrote a little about how I used Bash to hack together my own list.

https://www.makervoyage.com/todo


Your bet is correct! These are considered `reports`. The default `task` view is called `next` (what are my next tasks), but there's plenty of others, plenty customization (sort order, filters, columns), for those built-in reports, and custom reports as well [1]

[1] https://taskwarrior.org/docs/report/


This is for todo lists; for text-based calendar management, let me recommend remind[1]; if you prefer a TUI, wyrd[2] has you covered.

1: https://salsa.debian.org/dskoll/remind

2: https://gitlab.com/wyrd-calendar/wyrd


Taskwarrior officially provides bash/zsh/fish completion scripts.

If you're a PowerShell or nushell user and need autocompletion for Taskwarrior, try https://github.com/sigoden/argc-completions.

Argc-completions provides multi-shell completions for over 1000 commands, including Taskwarrior.


Is there a way to sync this to my phone?

Integrations are what I am looking for in a tool like this.

Orgmode etc. work well while I am glued to my computer, but once I take the hands of my keyboard I need a deep cellphone integration.

Unfortunately I could not finde a sensible solution to sync between Linux and iOS so far.


Foreground app works for Android + Task Sync server. I'm not using iOS so I don't now.


Todoist seems to have many CLIs available.


In case you want some form of time-tracking, there is also Timewarrior from the same devs. Works stand-alone and integrates well with Taskwarrior.

https://timewarrior.net/docs/what/


Productivity blog shares a blog post on it

https://blog.productivity.directory/taskwarrior-the-command-...


Shameless self promotion: rtd - task manager written in Rust, everything is stored in text files: https://github.com/yobibyte/rtd


This looks great. I've been considering building a TUI that offers a simplified Jira/Trello/Linear experience - should've known someone else was working on it.


They've been working on it for about twenty years.


This is cool! I would use it if it had CalDAV sync (or the subset that lets you do lists, tags, recurrence, notes) so I could sync it with Tasks.org on android.


Try syncall (https://github.com/bergercookie/syncall). It can do two-way synchronization between taskwarrior and CalDAV server.


Nice! I’m not seeing an implementation for actually completing the long list of things I have to do though. Perhaps that can be added in a future update? :-)


This is infuriating. I keep clicking on the thumbnail images and it's not expanding to full size.


I did the same. Glad it wasn't just me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: