Taskwarrior is a command-line task manager that lets you create, modify, filter, and complete to-do items directly from the terminal. It stores all tasks in a single plain-text file for portability and manual editing, and includes a custom expression language for selecting tasks by status, priority, tags, and date ranges.
The tool distinguishes itself through several integrated capabilities. It computes a numeric urgency score for each task based on weighted factors like age, tags, and due date to determine ordering. A recurrence template engine generates new task instances from a template after completion, supporting flexible schedules. An event-driven hook system runs external scripts at defined lifecycle points before or after task operations for automation and integration. A virtual tag system assigns dynamic tags based on task state and attributes, while context-based filter presets limit the visible task list to a specific subset. The named date expression parser interprets human-readable strings like "today" or "eom" into absolute timestamps.
Beyond core task management, the project supports user-defined custom fields to extend the task schema, JSON import and export for integration with other tools, and task synchronization across multiple installations. It also provides interactive task review, duration value specification, and formatted report views. The documentation covers installation via package managers, source tarballs, and git repository cloning.