Differences to Taskwarrior


  • Simpler
    Taskwarrior has several redundant features and unnecessarily re-implements shell features like aliases.

  • More Robust & Stable
    Taskwarrior is plagued by numerous bugs due to its unnecessary complexity and non-optimal choice of programming languages. TaskLite's simple structure and Haskell's excellent correctness guarantees, however, yield a stable and robust piece of software.

  • Faster
    Haskell plus SQLite delivers excellent performance. Check out the section about performance for a simple benchmark.

  • More Powerful
    As all tasks are stored in an SQLite database, so you can use the most daring SQL queries to extract hidden insights. E.g. What is the average completion time for a task created on Monday tagged "sprint7" created by user "john-evil"?

    Furthermore, extensive tooling is available for SQLite to supercharge your TaskLite installation. For example Datasette as an instant REST API, or DB Browser for SQLite to view, manipulate, and plot your tasks in a GUI.

    Other 3rd party tools to edit SQLite databases are:

    • VisiData - Interactive CLI multitool for tabular data.
    • LiteCLI - CLI SQLite browser with auto-completion and syntax highlighting.

Command Comparison

TW CommandTL CommandDescription & Differences
addaddAdd a new task
annotatenoteAdd a note / comment / annotation to a task
append-Append words to a task description
calc-Expression calculator
configconfigTL only displays it, TW allows modification
context-Manage contexts. TL uses tags instead.
countcountCount the tasks matching a filter
deletetrashMark a task as deletable
denotateunnoteRemove an annotation from a task
donedoComplete a task
duplicateduplicateClone an existing task
editeditLaunch your text editor to modify a task
execute-Execute an external command
exportndjsonExport tasks in NDJSON instead of JSON format
helphelpShow high-level help, a cheat-sheet
importimportAdditionally to JSON supports Email files (.eml)
loglogRecord an already-completed task
logo-Show the Taskwarrior logo
modify-Modify one or more tasks
prepend-Prepend words to a task description
purgedeleteCompletely remove task, rather than just change status
startstartStart working on a task, make active
stopstopStop working on a task, no longer active
synchronize-Syncs tasks with Taskserver
undo-Revert last change
versionversionVersion details and copyright
active-Started tasks
allallPending, completed and deleted tasks
blocked-Tasks that are blocked by other tasks
blocking-Tasks that block other tasks
completeddoneTasks that have been completed
listopenPending tasks
long-Pending tasks, long form
ls-Pending tasks, short form
minimal-Pending tasks, minimal form
newestnewMost recent pending tasks
nextheadMost urgent tasks
oldest-Oldest pending tasks
overdueoverdueOverdue tasks
readyreadyPending, unblocked, scheduled tasks
recurringrecurringPending recurring tasks
unblocked-Tasks that are not blocked
waitingwaitingHidden, waiting tasks
burndown.daily-Burndown chart, by day
burndown.monthly-Burndown chart, by month
burndown.weekly-Burndown chart, by week
calendar-Calendar and holidays
colors-Demonstrates all supported colors
columns-List of report columns and supported formats
commandshelpList of commands, with their behaviors
diagnostics-Show diagnostics, for troubleshooting
ghistory.annual-History graph, by year
ghistory.monthly-History graph, by month
ghistory.weekly-History graph, by week
ghistory.daily-History graph, by day
history.annual-History report, by year
history.monthly-History report, by month
history.weekly-History report, by week
history.daily-History report, by day
ids-Filtered list of task IDs
informationinfoAll attributes shown
projectsprojectsList of projects (project in TL = active tag)
reportshelpList of available reports
showconfigFiltered list of configuration settings
statsstatsFiltered statistics
summaryprojectsFiltered project summary
tagstagsFiltered list of tags
timesheet-Weekly timesheet report
udas-Details of all defined UDAs
uuids-Filtered list of UUIDs
_aliases-List of active aliases
_columns-List of supported columns
_commands-List of supported commands
_config-List of confguration setting names
_context-List of defined context names
_get-DOM accessor
_ids-Filtered list of task IDs
_projects-Filtered list of project names
_show-List of name=value configuration settings
_tags-Filtered list of tags in use
_udas-List of configured UDA names
_unique-List of unique values for the specified attribute
_urgency-Filtered list of task urgencies
_uuids-Filtered list of pending UUIDs
_version-Task version (and optional git commit)
_zshattributes-Zsh formatted task attribute list
_zshcommands-Zsh formatted command list
_zshids-Zsh formatted ID list
_zshuuids-Zsh formatted UUID list
-randomShow a random open task