Skip to content

CLI Reference

Auto-generated from the Click command definitions. For hands-on examples and workflows, see the CLI Guide.

taskdog

Taskdog: Task management CLI tool with time tracking and optimization.

Usage:

taskdog [OPTIONS] [COMMAND] [ARGS]...

Options:

Name Type Description Default
--version boolean Show the version and exit. False
-H, --host text API server host (overrides config/env) None
-p, --port integer range (between 1 and 65535) API server port (overrides config/env) None
-k, --api-key text API key for authentication (overrides config/env) None
-h, --help boolean Show this message and exit. False

taskdog add

Add a new task.

Usage:

taskdog add [OPTIONS] NAME

Options:

Name Type Description Default
--priority, -p integer Task priority (default: from config or 5, higher value = higher priority) None
--fixed, -f boolean Mark task as fixed (won't be rescheduled by optimizer) False
--depends-on, -d integer Task IDs this task depends on (can be specified multiple times) Sentinel.UNSET
--tag, -t text Tags for categorization and filtering (can be specified multiple times) Sentinel.UNSET
--deadline, -D datetime (%Y-%m-%d %H:%M:%S) Task deadline (format: YYYY-MM-DD HH:MM:SS) None
--estimate, -e float Estimated duration in hours (must be > 0) None
--start, -s datetime (%Y-%m-%d %H:%M:%S) Planned start time (format: YYYY-MM-DD HH:MM:SS) None
--end, -E datetime (%Y-%m-%d %H:%M:%S) Planned end time (format: YYYY-MM-DD HH:MM:SS) None
-h, --help boolean Show this message and exit. False

taskdog audit

Inspect operation history (audit logs).

Usage:

taskdog audit [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog audit list

Display operation history (audit logs).

Shows a history of operations performed via the API, including task creates, updates, status changes, and other modifications.

Use filters to narrow down the logs by client name, operation type, task ID, etc.

Examples: taskdog audit list # Show latest 100 logs taskdog audit list --client claude-code # Filter by client taskdog audit list --task 123 # Filter by task ID taskdog audit list --operation complete_task # Filter by operation taskdog audit list --since 2025-12-01 # Filter by date

Usage:

taskdog audit list [OPTIONS]

Options:

Name Type Description Default
--client, -c text Filter by client name (e.g., 'claude-code') None
--operation, -o text Filter by operation type (e.g., 'create_task', 'complete_task') None
--task, -t integer Filter by task ID None
--since text Show logs since this date (ISO format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS) None
--until text Show logs until this date (ISO format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS) None
--limit, -n integer range (between 1 and 1000) Maximum number of logs to show (default: 100, max: 1000) 100
--failed boolean Show only failed operations False
-h, --help boolean Show this message and exit. False

taskdog cancel

Mark task(s) as canceled.

Usage:

taskdog cancel [OPTIONS] TASK_IDS...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog db

Back up and restore the database.

Usage:

taskdog db [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog db backup

Back up the database to a physical .db snapshot.

Usage:

taskdog db backup [OPTIONS]

Options:

Name Type Description Default
--output, -o file Output file path (default: ./taskdog-backup-YYYYMMDD-HHMMSS.db). Sentinel.UNSET
-h, --help boolean Show this message and exit. False

taskdog db restore

Restore the database from a physical .db snapshot (applied on restart).

Usage:

taskdog db restore [OPTIONS] FILE_PATH

Options:

Name Type Description Default
--yes, -y boolean Skip the confirmation prompt. False
-h, --help boolean Show this message and exit. False

taskdog dep

Manage task dependencies.

Usage:

taskdog dep [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog dep add

Add a dependency to a task.

Usage:

taskdog dep add [OPTIONS] TASK_ID DEPENDS_ON_ID

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog dep rm

Remove a dependency from a task.

Usage:

taskdog dep rm [OPTIONS] TASK_ID DEPENDS_ON_ID

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog done

Mark task(s) as completed.

Usage:

taskdog done [OPTIONS] TASK_IDS...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog export

Export tasks to various formats (exports non-archived tasks by default).

Usage:

taskdog export [OPTIONS]

Options:

Name Type Description Default
--format choice (json | csv | markdown) Output format (default: json). json
--output, -o path Output file path (default: stdout). Sentinel.UNSET
--fields, -f field_list Comma-separated list of fields to export (e.g., 'id,name,priority,status'). Available: id, name, priority, status, created_at, updated_at, planned_start, planned_end, deadline, actual_start, actual_end, estimated_duration, actual_duration_hours, is_fixed, is_archived, is_finished, has_notes, depends_on, tags, daily_allocations Sentinel.UNSET
--tag, -t text Filter by tags (can be specified multiple times, uses OR logic) Sentinel.UNSET
--end-date, -e datetime (%Y-%m-%d | %Y-%m-%dT%H:%M:%S | %Y-%m-%d %H:%M:%S) End date for filtering (YYYY-MM-DD). Shows tasks with any date field <= end date. Sentinel.UNSET
--start-date, -s datetime (%Y-%m-%d | %Y-%m-%dT%H:%M:%S | %Y-%m-%d %H:%M:%S) Start date for filtering (YYYY-MM-DD). Shows tasks with any date field >= start date. Sentinel.UNSET
--status choice (pending | in_progress | completed | canceled) Filter tasks by status (overrides --all). Note: archived tasks are controlled by the --all flag, not --status. None
--all, -a boolean Show all tasks including completed, canceled, and archived False
-h, --help boolean Show this message and exit. False

taskdog fix-times

Correct actual start/end timestamps and duration for a task.

Usage:

taskdog fix-times [OPTIONS] TASK_ID

Options:

Name Type Description Default
--start, -s DATETIME Actual start datetime (empty string "" to clear) None
--end, -e DATETIME Actual end datetime (empty string "" to clear) None
--duration, -d FLOAT Actual duration in hours (empty string "" to clear) None
-h, --help boolean Show this message and exit. False

taskdog gantt

Display tasks in Gantt chart format with workload analysis.

By default, shows non-archived tasks (all statuses except archived). Use -a/--all to include archived tasks. Use --status to filter by specific status (overrides --all). Use --tag to filter by tags (OR logic when multiple tags specified).

WORKLOAD CALCULATION: The chart displays a "Workload[h]" row at the bottom showing daily workload: - Hours are calculated from task estimated_duration - Workload is distributed across weekdays only (excludes weekends) - Values are rounded up (e.g., 4.3h → 5h)

COLOR CODING: - Gray (0h): No workload scheduled - Green (1-6h): Normal workload - Yellow (6-8h): Near capacity - Red (8h+): Overloaded, requires adjustment

TIMELINE SYMBOLS: - "░░░" (gray background): Planned period - "◆" (colored): Actual progress (status-based color) - "◆" (red): Deadline marker - " · ": No activity

EXAMPLE: taskdog gantt # Show non-archived tasks taskdog gantt -a # Show all tasks (including archived) taskdog gantt --status completed # Show only completed tasks taskdog gantt -t work -t urgent # Tasks with tag "work" OR "urgent" taskdog gantt --start-date 2025-10-01 --end-date 2025-10-31 # October tasks

Usage:

taskdog gantt [OPTIONS]

Options:

Name Type Description Default
--tag, -t text Filter by tags (can be specified multiple times, uses OR logic) Sentinel.UNSET
--start-date, -s datetime (%Y-%m-%d | %Y-%m-%dT%H:%M:%S | %Y-%m-%d %H:%M:%S) Start date for the chart (YYYY-MM-DD). Defaults to previous Monday. Sentinel.UNSET
--end-date, -e datetime (%Y-%m-%d | %Y-%m-%dT%H:%M:%S | %Y-%m-%d %H:%M:%S) End date for the chart (YYYY-MM-DD). Defaults to fit terminal width. Sentinel.UNSET
--reverse, -r boolean Reverse sort order False
--sort choice (id | priority | deadline | name | status | planned_start | created_at | updated_at) Sort tasks by specified field (default: deadline) deadline
--status choice (pending | in_progress | completed | canceled) Filter tasks by status (overrides --all). Note: archived tasks are controlled by the --all flag, not --status. None
--all, -a boolean Show all tasks including completed, canceled, and archived False
-h, --help boolean Show this message and exit. False

taskdog list

Display tasks in flat table format (shows non-archived tasks by default).

Usage:

taskdog list [OPTIONS]

Options:

Name Type Description Default
--fields, -f field_list Comma-separated list of fields to display (e.g., 'id,name,note,priority,status'). Available: id, name, note, priority, status, depends_on, planned_start, planned_end, actual_start, actual_end, deadline, duration, created_at, tags Sentinel.UNSET
--tag, -t text Filter by tags (can be specified multiple times, uses OR logic) Sentinel.UNSET
--end-date, -e datetime (%Y-%m-%d | %Y-%m-%dT%H:%M:%S | %Y-%m-%d %H:%M:%S) End date for filtering (YYYY-MM-DD). Shows tasks with any date field <= end date. Sentinel.UNSET
--start-date, -s datetime (%Y-%m-%d | %Y-%m-%dT%H:%M:%S | %Y-%m-%d %H:%M:%S) Start date for filtering (YYYY-MM-DD). Shows tasks with any date field >= start date. Sentinel.UNSET
--reverse, -r boolean Reverse sort order False
--sort choice (id | priority | deadline | name | status | planned_start | created_at | updated_at) Sort tasks by specified field (default: id) id
--status choice (pending | in_progress | completed | canceled) Filter tasks by status (overrides --all). Note: archived tasks are controlled by the --all flag, not --status. None
--all, -a boolean Show all tasks including completed, canceled, and archived False
-h, --help boolean Show this message and exit. False

taskdog note

Edit task notes in markdown. Supports stdin, --content, --file, or $EDITOR.

Usage:

taskdog note [OPTIONS] TASK_ID

Options:

Name Type Description Default
--content, -c text Note content as a string (alternative to opening editor). Sentinel.UNSET
--file, -f file Read note content from a file (alternative to opening editor). Sentinel.UNSET
--append, -a boolean Append to existing notes instead of replacing them. False
-h, --help boolean Show this message and exit. False

taskdog optimize

Auto-generate optimal schedules for tasks based on priority, deadlines, and workload.

By default, schedules tasks with estimated_duration across weekdays only. Use --include-all-days to schedule on weekends and holidays too. Use --force to override existing schedules.

Examples: taskdog optimize # Optimize all schedulable tasks (weekdays only) taskdog optimize 1 2 3 # Optimize only tasks 1, 2, and 3 taskdog optimize 5 --force # Force optimize task 5 taskdog optimize --include-all-days # Include weekends and holidays

Usage:

taskdog optimize [OPTIONS] [TASK_IDS]...

Options:

Name Type Description Default
--start-date datetime (%Y-%m-%d | %Y-%m-%dT%H:%M:%S | %Y-%m-%d %H:%M:%S) Start date for scheduling (YYYY-MM-DD, default: server current time) Sentinel.UNSET
--max-hours-per-day, -m float range (between 0 and 24.0) Max work hours per day (required, e.g., 6.0 or 8.0) Sentinel.UNSET
--algorithm, -a text Optimization algorithm (required): greedy (front-load), balanced (even distribution), backward (JIT from deadline), priority_first (priority only), earliest_deadline (EDF), round_robin (parallel progress), dependency_aware (CPM), genetic (evolutionary), monte_carlo (random sampling) Sentinel.UNSET
--force, -f boolean Override existing schedules False
--include-all-days boolean Schedule tasks on weekends and holidays too (default: weekdays only) False
-h, --help boolean Show this message and exit. False

taskdog pause

Pause task(s) and reset time tracking (sets status to PENDING).

Usage:

taskdog pause [OPTIONS] TASK_IDS...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog reopen

Reopen completed or canceled task(s).

Usage:

taskdog reopen [OPTIONS] TASK_IDS...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog restore

Restore archived task(s).

Usage:

taskdog restore [OPTIONS] TASK_IDS...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog rm

Remove task(s) (archive by default, --hard for permanent deletion).

Usage:

taskdog rm [OPTIONS] TASK_IDS...

Options:

Name Type Description Default
--hard boolean Permanently delete the task(s) instead of archiving. False
-h, --help boolean Show this message and exit. False

taskdog show

Show task details and notes with markdown rendering.

Usage:

taskdog show [OPTIONS] TASK_ID

Options:

Name Type Description Default
--raw boolean Show raw markdown instead of rendered False
-h, --help boolean Show this message and exit. False

taskdog start

Start working on task(s) (sets status to IN_PROGRESS).

Usage:

taskdog start [OPTIONS] TASK_IDS...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog stats

Display task statistics and analytics.

Shows comprehensive statistics including basic counts, time tracking, estimation accuracy, deadline compliance, priority distribution, and trends.

Use --period to filter by time period and --focus to show specific sections.

Usage:

taskdog stats [OPTIONS]

Options:

Name Type Description Default
--period, -p choice (all | 7d | 30d) Time period for filtering tasks (default: all) all
--focus, -f choice (all | basic | time | estimation | deadline | priority | trends) Focus on specific statistics section (default: all) all
-h, --help boolean Show this message and exit. False

taskdog tag

View, set, or delete task tags.

Usage:

taskdog tag [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog tag list

List all tags, or the tags of a single task.

Usage:

taskdog tag list [OPTIONS] [TASK_ID]

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog tag rm

Delete a tag from the system (removes it from all tasks).

Usage:

taskdog tag rm [OPTIONS] TAG_NAME

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog tag set

Set (replace) the tags of a task.

Usage:

taskdog tag set [OPTIONS] TASK_ID [TAGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog timeline

Display actual work times for a specific day.

Shows when tasks were actually worked on during the day, based on actual_start and actual_end timestamps. This is a "daily Gantt" view where the horizontal axis is time-of-day instead of calendar days.

DISPLAY: - Horizontal axis: Hours of the day (e.g., 08, 09, 10, ...) - Vertical axis: Tasks (sorted by start time) - Bars: Show actual work periods with status-based colors - Duration: Work time for each task on that day

INCLUDED TASKS: - Tasks with actual_start on the target date - IN_PROGRESS tasks (uses current time as end) - Tasks spanning multiple days (clipped to target date)

COLOR CODING: - Blue bars: IN_PROGRESS - Green bars: COMPLETED - Red bars: CANCELED

EXAMPLE: taskdog timeline # Show today's work times taskdog timeline -d 2026-01-29 # Show specific date taskdog timeline --date 2026-01-15 # Show specific date (long form)

Usage:

taskdog timeline [OPTIONS]

Options:

Name Type Description Default
--date, -d datetime (%Y-%m-%d) Date to show timeline for (YYYY-MM-DD). Defaults to today. None
-h, --help boolean Show this message and exit. False

taskdog tui

Launch the Text User Interface for interactive task management.

Usage:

taskdog tui [OPTIONS]

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

taskdog update

Update multiple task properties at once.

Usage:

taskdog update [OPTIONS] TASK_ID

Options:

Name Type Description Default
--name text New task name None
--priority integer New priority None
--status choice (PENDING | IN_PROGRESS | COMPLETED | CANCELED) New status None
--planned-start datetime (%Y-%m-%d %H:%M:%S) Planned start (format: YYYY-MM-DD HH:MM:SS) None
--planned-end datetime (%Y-%m-%d %H:%M:%S) Planned end (format: YYYY-MM-DD HH:MM:SS) None
--deadline datetime (%Y-%m-%d %H:%M:%S) Deadline (format: YYYY-MM-DD HH:MM:SS) None
--estimated-duration float Estimated duration in hours (e.g., 2.5) None
-h, --help boolean Show this message and exit. False