Skip to content

Command Line Interface

The otodo CLI is designed for speed and statefulness. Once initialized, it remembers your active workspace, meaning you never have to pass repetitive list flags to manage your tasks.


Infrastructure

Commands for configuring the engine and declarative routing.

otodo init

Initializes the OpenTodo engine on your machine.

otodo init [OPTIONS]
Option Description
--dir Path to store local SQLite data. Defaults to ~/.otodo/data.
-u, --url PostgreSQL connection string for cloud routing.

otodo scale

Adjusts the UI thresholds for priority labels.

otodo scale <high> <medium>
Argument Description
high The integer threshold for a task to be marked HIGH priority.
medium The integer threshold for a task to be marked MEDIUM priority.

otodo apply

Idempotently applies tasks from a YAML manifest.

otodo apply <file_path>
Argument Description
file_path Path to the .yaml manifest file.

Todo List Management

Commands for isolating tasks into separate projects or sprints.

otodo create

Provisions a new isolated todo list.

otodo create <name>
Argument Description
name The identifier for the list (e.g., sprint-1).

otodo use

Switches your active terminal context to a different todo list.

otodo use <name>
Argument Description
name The target list to check out.

otodo lists

Shows all available todo lists and highlights the currently active one.

otodo lists

otodo rename

Renames an existing todo list.

otodo rename <name1> [name2]
Argument Description
name1 The target list to rename (or the new name if no name2 is provided).
name2 (Optional) The new name for the list. If omitted, renames the active list to name1.

otodo drop

[Destructive] Permanently deletes a list and all associated tasks.

otodo drop <name> [OPTIONS]
Argument Description
name The list to destroy.
Option Description
-f, --force Bypasses the interactive confirmation prompt.

Todo Operations

Commands for interacting with the active todo list.

otodo add

Appends a new task to the currently active list.

otodo add <title> [OPTIONS]
Argument Description
title The description of the task. (Wrap multi-word tasks in "quotes").
Option Description
-p, --priority Assigns a sorting weight (integer). Defaults to 1.

otodo update

Updates an existing todo's title or priority.

otodo update <display_id> [OPTIONS]
Argument Description
display_id The integer ID shown on the dashboard.
Option Description
-t, --title The new description for the task.
-p, --priority The new priority integer.

otodo done

Marks a task as completed.

otodo done <display_id>
Argument Description
display_id The integer ID shown on the dashboard.

otodo rm

[Destructive] Permanently deletes a task.

otodo rm <display_id>
Argument Description
display_id The integer ID shown on the dashboard.

Dashboard

Invoking the engine without a command renders the high-density dashboard for the active list. Tasks are automatically sorted by priority.

otodo

otodo [OPTIONS]
Option Description
-a, --all Show both pending and completed tasks.
-d, --done Show only completed tasks.
-h, --high Filter for high-priority tasks.
-m, --medium Filter for medium-priority tasks.
-l, --low Filter for low-priority tasks.