LinuxmacOSWindows

Where Does Taskwarrior Store Tasks and Config?

Taskwarrior reads ~/.taskrc for config and keeps its SQLite database in ~/.task by default.

Last updated

Taskwarrior needs two things, both created on first run. Config lives in ~/.taskrc with data.location pointing at the data dir. Data lives in ~/.task, currently a taskchampion.sqlite3 file. One required setting, sensible built-ins for the rest.

Overrides layer cleanly. The TASKRC variable picks a different config file, TASKDATA picks a different data dir, and rc.key=value flags override per invocation. First-run setup is just answering yes; the files afterwards are yours to sync however you like.

Where Taskwarrior stores this, by platform

Linux
~/.taskrc

~/.taskrc plus ~/.task/taskchampion.sqlite3. TASKRC and TASKDATA relocate either. Sync the pair with any dotfiles method.

macOS
~/.taskrc

Same home-directory layout as Linux. No macOS-specific directories involved.

Windows
%USERPROFILE%\.taskrc

Same ~/.taskrc and ~/.task layout under your profile. Works identically in WSL and native Windows builds.

Frequently asked questions

How do I move Taskwarrior to a new machine?

Copy ~/.taskrc and the ~/.task directory to the new machine. Both are plain files with no registry or keychain involvement, so the transfer is literally two copies.

Can I keep two separate task lists?

Set TASKRC and TASKDATA in the environment, or pass rc.data.location on the command line. The env vars beat the file, which is how people juggle separate work and personal lists.

Notice an outdated path? Let us know.