Task Managers
From GUI back to the terminal
I've bounced between a lot of task managers over the years. For a good while I used Super Productivity, a full featured GUI app, but most of my day is spent in the terminal and in emacs, so having to switch out to a separate window just to check off a task always felt like friction, not to mention having to use the mouse. I've recently switched to Tuxedo, a TUI for plain todo.txt files, and it fits how I work much better.
Below is a rundown of the three tools I've spent the most time with, what each is good at, and who I think each one is for.
Tuxedo — what I use now
Tuxedo is a fast, keyboard driven terminal UI for managing todo.txt files. It's written in Rust and ships as a single binary.
Why I like it
- Plain text storage -- it reads and writes standard todo.txt, so my task list is just a text file. I can edit it in NeoVIM, grep it, sync it with whatever I want, or track it in git. No lock in.
- Vim like keybindings --
j/kto move,gg/Gto jump,ddto delete,xto complete,uto undo,/to search. It feels like home right away. - TUI and CLI -- running
tuxedoopens the interface, but there are also subcommands (add,ls,do,pri,archive) that are compatible with the classic todo.txt-cli, so it's easy to script. - Natural language add -- you can type things like due dates and recurrence in plain english and it gets rewritten into proper todo.txt syntax for you to review. This runs locally, no AI service involved.
- Phone capture -- it can show a QR code that points to a small web app on your local network, so you can toss tasks into an
inbox.txtfrom your phone. - Safe writes -- changes are written to a temp file and then renamed, and if the file is edited outside of Tuxedo it notices and reloads.
- Themes -- a handful of built in themes plus custom theme files.
Install
# with cargo
cargo install --git https://github.com/webstonehq/tuxedo
Where your tasks live
Tuxedo looks for the file using TODO_FILE, then TODO_DIR, and falls back to ./todo.txt. Completed tasks get archived to done.txt (or whatever DONE_FILE is set to). Config lives in ~/.config/tuxedo/config.toml and is hot reloaded.
export TODO_DIR="$HOME/notes/todo"
Handy keys
| Key | Action |
|---|---|
n | new task |
e / i | edit task |
x | complete task |
dd | delete task |
p | cycle priority |
/ | search |
fp / fc | filter by project / context |
S | cycle sort |
A | archive completed |
: or Ctrl-P | command palette |
? | help |
A quick todo.txt primer
Each line is one task. Everything is optional except the text.
(A) 2026-10-09 Write task manager article +website @computer due:2026-10-10
(B) Renew domain +website rec:1y
x 2026-10-08 2026-10-01 Update NeoVIM config +dotfiles
(A)-- priority+projectand@context-- tags for filteringdue:/rec:-- due date and recurrencexat the start -- completed, followed by the completion date
Taskwarrior (+ taskwarrior-tui)
- Taskwarrior
- taskwarrior-tui -- Rust based TUI frontend
Taskwarrior is the heavyweight of the command line task managers. It's been around for a long time and is extremely powerful: urgency scoring, dependencies, recurrence, user defined attributes, reports, hooks, and sync. If you want your task manager to be a database you can query, this is it.
task add Write task manager article project:website due:tomorrow
task list
task 1 done
On its own it's purely a CLI, which is where taskwarrior-tui comes in. It gives you a vim keybinding interface on top of Taskwarrior for browsing and editing tasks, while still letting you drop back to the task command for anything advanced.
Pros
- Incredibly powerful filtering and reporting
- Urgency calculation helps decide what to work on next
- Hooks let you script nearly anything
- Big community and lots of add ons
Cons
- Steep learning curve, lots of syntax to remember
- Data isn't a plain text file you'd want to hand edit (Taskwarrior 3 moved to a SQLite based store)
- Easy to spend more time tuning the system than doing the tasks
Super Productivity — what I used to use
Super Productivity is a free, open source GUI task manager available on Linux, macOS, Windows, Android, and the web. It's aimed at developers and has a lot built in:
- Time tracking and time estimates per task
- Pomodoro timer and break reminders
- Integrations with Jira, GitHub, GitLab, and others to pull in issues as tasks
- Projects, tags, sub tasks, and a planner / schedule view
- Sync through WebDAV, Dropbox, or a local file
It's a great app, and if you live in a GUI or want time tracking baked in it's one of the best free options out there. For me though it was more app than I needed, and having it in a separate window outside of my terminal meant I'd often forget to check it.
Quick comparison
| Tuxedo | Taskwarrior + tui | Super Productivity | |
|---|---|---|---|
| Interface | TUI + CLI | CLI + TUI | GUI (desktop, mobile, web) |
| Storage | plain text (todo.txt) | SQLite | app data / sync file |
| Learning curve | low | high | low |
| Vim keys | yes | yes (tui) | partial shortcuts |
| Time tracking | no | via hooks / timewarrior | yes, built in |
| Best for | terminal users who want simple and portable | power users who want a queryable task database | people who prefer a GUI and want time tracking |
Conclusion
There isn't one right answer here, the best task manager is the one you'll actually open. For me that turned out to be the one living in the terminal next to everything else, using a plain text format I can edit with any tool. Tuxedo hits that sweet spot of being simple, fast, and vim friendly without trapping my tasks in a format I can't get out of. If you want more power reach for Taskwarrior, and if you'd rather have a polished GUI with time tracking Super Productivity is still an easy recommendation.

