A terminal-based Todoist client written in Go with Vim-style keybindings.
- Fast and lightweight terminal interface
- Vim keybindings (j/k, gg/G, dd, etc.)
- Full task management (create, edit, complete, delete)
- Support for projects, sections, labels, and subtasks
- Live search across all tasks
- Smart due date parsing
- Highly customizable color themes
- Secure token storage (system keyring or encrypted local data)
- Calendar view
- Go 1.21 or higher
- A Todoist account
git clone https://github.com/hy4ri/todoist-tui.git
cd todoist-tui
make build
# Binary will be in bin/todoist-tuiSimply run the application:
./bin/todoist-tuiOn first launch, the app will:
- Automatically create a default configuration file at
~/.config/todoist-tui/config.yaml. - Prompt you to enter your Todoist API Token (find it here).
Your token is stored securely in your system keyring (or ~/.local/share/todoist-tui/.credentials) and is never saved in the plain-text config file.
Customized settings and themes are managed in ~/.config/todoist-tui/config.yaml.
You can customize almost every color in the UI:
ui:
theme:
highlight: "#FF6B6B"
subtle: "#888888"
priority_1: "#FF0000"
status_bar_bg: "#1A1A2E"Set your preferred startup view:
ui:
default_view: "today"
calendar_default_view: "compact"| Key | Action |
|---|---|
| j / k | Move up / down |
| gg / G | Go to top / bottom |
| Ctrl+u / Ctrl+d | Half page up / down |
| Tab | Switch between sidebar and tasks |
| Enter | Select project or open task details |
| Esc | Go back / Cancel |
| Shift + D | Set current view as default on startup |
| Key | Action |
|---|---|
| t | Today view |
| u | Upcoming view |
| p | Projects view |
| c | Calendar view |
| L | Labels view |
| i | Inbox view |
| Key | Action |
|---|---|
| a | Add new task |
| e | Edit selected task |
| x | Toggle completion |
| dd | Delete task |
| 1-4 | Set priority |
| s | Add subtask |
| m | Move task to section |
| A | Add comment |
| ctrl+z | Undo last action |
| Key | Action |
|---|---|
| / | Search |
| r | Refresh |
| ? | Toggle help |
| q | Quit |
make build # Build binary
make run # Run in development
make test # Run all tests
make check # Format, vet, and testMIT