The last time Hackerfall tried to access this page, it returned a not found error. A cached version of the page is below, or click here to continue anyway

Taskwarrior - Frequently Obnoxious Questions


We get many loaded, heavily biased questions, so here are some answers for our most Frequently Obnoxious Questions, grouped by theme.

WARNING: Some of this in tongue-in-cheek. Most is not.

Misplaced Concerns About Our Infrastructure

Q: Why don't you just use Github?

We have many repositories, many of them private, and all controlled by user keys. We do things with git hooks that Github does not permit. The Github issue tracker is ... weak. We do use Github to mirror the Taskwarrior repository at Why is our infrastructure important to you?

Q: Why is the website in HTML and not something like Markdown? Markdown would encourage more contributions.

There have been seven website patches from the community in the last three years. None of those were new pages. Why is our infrastructure important to you?

Q: Why all the Atlassian stuff like Jira, Stash, Confluence, Bamboo?

Jira is great. Atlassian is very generous with open source licences. You think the Github issue tracker is the way to go? We don't. Why is our infrastructure important to you?

Q: I don't like that you use a custom CI solution, instead of Travis. Why?

We simultaneously test every commit, of every project, on seven platforms. Show us how Travis is better. Why is our infrastructure important to you?

Q: Would you guys consider moving off Google groups to a real mailing list?

Sure if there was a good reason.

Why Didn't You Implement My Favorite Feature?

Q: Why aren't you providing a syncing Android solution?

We are not Android developers. Go ask one.

Q: Why doesn't Taskwarrior integrate with Google?

Yes, this question actually keeps coming up, although we still don't know what it means.

Taskwarrior supports JSON import/export, which is easy to programmatically convert to any other data interchange format.

Q: Why doesn't Taskwarrior use gettext for L10N?

It should, but the work was never done. If you can show us that it doesn't have a startup performance impact, we'll gladly merge your patch that completely converts Taskwarrior to gettext, eliminates all the src/l10n/*.h files, and passes all tests.

Q: Why doesn't Taskwarrior sync with CALDAV/Trello/...?

Because no one wrote a JSON-to-whatever converter for it. Write one.

Q: Why won't you spend your free time implementing my favorite feature?

If you're not paying us, you need to convince us that your feature is so great, that it's worth giving up our free time to work on.

This is open source. Scratch thine own itch.

Misplaced Blame

Q: The <Operating System> package is out of date, why have you not refreshed it yet?

We write software. We don't make packages. Talk to your package maintainer.

Your Own Shortcomings

Q: Why is Taskwarrior written in C++ and not something hackable?

C++ is ideal for this kind of application, where portability and performance of certain operations is important. It's just not written in the language you know.

Q: Why is my hook script so slow?

It is most likely your choice of language and modules that make it slow. Run Taskwarrior with rc.debug.hooks=2 to see timing information.

Polite Theft

Q: Can I use the Taskwarrior logo for my project?


My Idea Is Wonderful

Q: Why won't you support my syntactic sugar idea?

Many suggestions for enhancements are just keystroke aliases for existing functionality, that can be achieved using shell functions and aliases.

Show us your proof of concept using the above techniques. We'll show you that you have already solved your problem.

Q: Why don't you implement <thing>? It wouldn't be difficult.

The difficulty of a request is irrelevant. It is instead a question of whether the idea improves the ability to manage tasks, while maintaining consistency with other features.

Show us a convincing use case instead.

Q: Why don't we make the % key mean <this thing>?

We're not trying to make Taskwarrior more cryptic. We're trying to provide a simpler and more consistent interface.


Q: When will Taskwarrior merge with hledger?

It will not. Yes, this keeps getting asked.

Design Choices

Q: Why doesn't Taskwarrior do time tracking?

Taskwarrior manages tasks. Anything else is out of scope. It's a design choice.

Taskwarrior is all about faithfully capturing and representing data. If your time tracking needs fit this restriction, please use one of several available time-tracking hooks for Taskwarrior. They faithfully track time.

But properly tracking time is difficult, and we believe requires a dedicated application, which knows your schedule, holidays, vacation, and lunch breaks. It needs to tolerate forgetting to start the clock, flexibly generate timesheets and observe your time tracking policies. Timewarrior will do this. Taskwarrior will not.

Q: Why can't I generate new tasks in my on-modify hook script?

Recursion. Complexity.

Q: Why doesn't Taskwarrior just use DropBox or Git for syncing?

Neither DropBox not Git merges tasks, you just think they do. Taskserver syncs and merges tasks.

Continue reading on