todoist-cli

A powerful CLI client for Todoist.
✨ Features
Item Management
- Built on todoist-go-api.
- Supports management of
task, project, section, label and filter.
Pretty Table
- Built on table, inspired by
taskwarrior.
- Format text as Bold, Italic or
Strikethrough.
- Automatically wraps lines.
- Colorful text and Nerd Font icons.
- Displays subtasks in a tree structure.

Autocompletion
- Built on cobra.
- Autocompletion for
task, project, section, color, and more.
- Supports
bash, zsh, fish, and powershell.

Reorder
- Reorder items interactively, similar to
git rebase -i.

Auto sync with Todoist
- Keeps your local data in sync with Todoist using a background daemon.
- Changes made in the Todoist web or mobile app are reflected in the CLI automatically.
- You can also manually sync using
todoist sync.
🛠️ Usage
Help
A CLI for Todoist
Usage:
todoist [command]
Task commands:
add Add task
close Close task
list List tasks
modify Modify task
move Move task
quick-add Quick add task
remove Remove task
reopen Reopen task
reorder Reorder tasks
Resources commands:
filter Filter commands
label Label commands
project Project commands
section Section commands
Additional Commands:
completion Generate the autocompletion script for the specified shell
daemon Start daemon
help Help about any command
sync Sync data
Flags:
--config string config file (default "/home/user/.config/todoist/config.toml")
-h, --help help for todoist
Use "todoist [command] --help" for more information about a command.
Nix
Install with home-manager:
{
programs.todoist-cli = {
enable = true;
settings = {
daemon.api_token_file = "/run/secrets/your-todoist-api-token";
};
};
}
Other
Install via Go:
go install github.com/CnTeng/todoist-cli@latest
🔧 Configuration
Available Options
daemon.api_token or daemon.api_token_file is the only required option.
[daemon]
## Daemon address. "@todo.sock" is the default value.
# Address = "@todo.sock"
## Set your Todoist API token. Either `api_token` or `api_token_file` is required.
# api_token = "your-todoist-api-token"
api_token_file = "/run/secrets/todoist/token"
[icon]
## Icon theme for todoist-cli. Supported values: `nerd` (default), `text`.
# default = "nerd"
## You can set your own icons here or override the default icons.
# none = " "
# done = " "
# undone = " "
# inbox = " "
# favorite = " "
# indent = "│ "
# last_indent = "└ "
Override Configuration by Environment Variables
| Configuration |
Environment |
| daemon.address |
TODOIST_ADDRESS |
| daemon.api_token |
TODOIST_API_TOKEN |
| daemon.api_token_file |
TODOIST_API_TOKEN_FILE |
⭐ Credit