Skip to content

CLI Commands Reference

Complete reference for all Taskdog CLI commands.

Task Creation & Updates

add - Create a new task

taskdog add "Task name" [-p PRIORITY] [--fixed] [-d DEP_ID] [-t TAG]

Create a new task with optional priority, dependencies, and tags. Multiple -d and -t flags are allowed.

Examples:

taskdog add "Design phase" -p 150
taskdog add "Implementation" -p 100 -d 1 -t backend -t api
taskdog add "Team meeting" --fixed  # Won't be rescheduled

update - Multi-field update

taskdog update ID [--name NAME] [--priority N] [--status STATUS] [--planned-start DATE] [--planned-end DATE] [--deadline DATE] [--estimated-duration HOURS]

Update multiple task fields at once.

Examples:

taskdog update 1 --priority 200 --deadline 2025-10-25
taskdog update 2 --name "New task name"

Task Management

start - Start tasks

taskdog start ID...

Start one or more tasks. Records actual start time and changes status to IN_PROGRESS.

Examples:

taskdog start 1
taskdog start 2 3 4  # Batch operation

done - Complete tasks

taskdog done ID...

Mark tasks as completed. Records actual end time.

Examples:

taskdog done 1
taskdog done 2 3 4  # Batch operation

pause - Pause tasks

taskdog pause ID...

Pause tasks and reset to PENDING status. Clears timestamps.

Examples:

taskdog pause 1
taskdog pause 2 3  # Batch operation

cancel - Cancel tasks

taskdog cancel ID...

Mark tasks as CANCELED.

Examples:

taskdog cancel 1
taskdog cancel 2 3  # Batch operation

reopen - Reopen tasks

taskdog reopen ID...

Reopen completed or canceled tasks. Resets to PENDING status.

Examples:

taskdog reopen 1
taskdog reopen 2 3  # Batch operation

rm - Remove tasks

taskdog rm ID... [--hard]

Remove tasks. Default is soft delete (sets is_archived=true). Use --hard for permanent deletion.

Examples:

taskdog rm 1        # Soft delete (can be restored)
taskdog rm 2 --hard # Permanent deletion

restore - Restore soft-deleted tasks

taskdog restore ID...

Restore previously archived (soft-deleted) tasks.

Examples:

taskdog restore 1
taskdog restore 2 3  # Batch operation

Dependencies

dep add - Add task dependency

taskdog dep add TASK_ID DEPENDS_ON_ID

Add a dependency relationship. Includes circular dependency detection.

Examples:

taskdog dep add 2 1  # Task 2 depends on task 1

dep rm - Remove task dependency

taskdog dep rm TASK_ID DEP_ID

Remove a dependency relationship.

Examples:

taskdog dep rm 2 1

Tags Management

tag - Manage tags

taskdog tag list            # List all tags with counts
taskdog tag list ID         # Show tags for a task
taskdog tag set ID TAG1...  # Set tags for a task (replaces existing)
taskdog tag rm TAG_NAME     # Delete a tag from all tasks

Examples:

taskdog tag list                    # List all tags
taskdog tag list 1                  # Show task 1's tags
taskdog tag set 1 urgent backend    # Set tags for task 1
taskdog tag rm urgent               # Delete the "urgent" tag everywhere

Optimization

optimize - Auto-schedule tasks

taskdog optimize [--start-date DATE] [--max-hours-per-day N] [-a ALGORITHM] [-f]

Auto-generate optimal task schedules based on priorities, deadlines, and dependencies.

Available Algorithms:

  • greedy (default) - Schedule highest priority tasks first
  • balanced - Distribute workload evenly across days
  • backward - Schedule from deadline backwards
  • priority_first - Strict priority ordering
  • earliest_deadline - Schedule tasks with earliest deadlines first
  • round_robin - Rotate through tasks to minimize context switching
  • dependency_aware - Prioritize tasks that unblock others
  • genetic - Use genetic algorithm for optimization
  • monte_carlo - Use Monte Carlo simulation

Features:

  • Respects fixed tasks and dependencies
  • Distributes workload across weekdays
  • Avoids weekend scheduling
  • Honors max_hours_per_day constraint

Examples:

taskdog optimize
taskdog optimize --start-date 2025-10-22 --max-hours-per-day 8
taskdog optimize -a balanced
taskdog optimize -f  # Force re-optimization

Visualization

list - Table view

taskdog list [OPTIONS]

Display tasks in table format with filtering and sorting.

Options:

  • -s/--sort FIELD - Sort by: id, priority, deadline, name, status, planned_start
  • -r/--reverse - Reverse sort order
  • -a/--all - Include archived tasks (default: non-archived only)
  • -f/--fields LIST - Custom field selection
  • --status STATUS - Filter by status: pending, in_progress, completed, canceled
  • -t/--tag TAG - Filter by tags (multiple tags use OR logic)
  • --start-date DATE - Filter by planned start date (from)
  • --end-date DATE - Filter by planned end date (to)

Examples:

taskdog list
taskdog list -s priority -r
taskdog list --status pending --tag backend
taskdog list -a  # Show archived tasks too

gantt - Gantt chart

taskdog gantt [OPTIONS]

Display visual timeline with workload analysis. Supports same filter/sort options as list.

Features:

  • Visual timeline with daily hours
  • Status symbols (◆)
  • Weekend coloring
  • Workload summary
  • Strikethrough for finished tasks

Examples:

taskdog gantt
taskdog gantt -s deadline
taskdog gantt --start-date 2025-10-20 --end-date 2025-10-30

show - Task details

taskdog show ID [--raw]

Show detailed information for a task, including notes. Notes are rendered as markdown by default.

Examples:

taskdog show 1
taskdog show 1 --raw  # Show raw markdown

export - Export tasks

taskdog export [OPTIONS]

Export tasks to JSON or CSV format. Exports non-archived tasks by default.

Options:

  • --format FORMAT - json (default), csv, or markdown
  • -o/--output FILE - Output file path
  • -f/--fields LIST - Custom field selection
  • -a/--all - Include archived tasks
  • --status STATUS - Filter by status
  • -t/--tag TAG - Filter by tags
  • --start-date DATE - Filter by date range
  • --end-date DATE - Filter by date range

Examples:

taskdog export
taskdog export --format csv -o tasks.csv
taskdog export --format markdown -o tasks.md
taskdog export --status pending -t backend

Analytics

stats - Task statistics

taskdog stats [--period PERIOD] [--focus FOCUS]

Display task statistics and analytics.

Options:

  • -p/--period - all (default), 7d, 30d
  • -f/--focus - all (default), basic, time, estimation, deadline, priority, trends

Examples:

taskdog stats
taskdog stats -p 7d -f time
taskdog stats --period 30d --focus trends

Notes & TUI

note - Edit task notes

taskdog note ID

Edit markdown notes for a task using $EDITOR.

Examples:

taskdog note 1

tui - Interactive TUI

taskdog tui

Launch full-screen interactive terminal user interface.

Key features:

  • Real-time task search and filtering
  • Keyboard shortcuts for quick operations
  • Sort by deadline, priority, planned start, or ID
  • Visual status indicators with colors
  • Task details panel with dependencies

See Interactive TUI section in README for full keyboard shortcuts.

Task States

Tasks can be in one of four states:

  • PENDING: Not started (yellow)
  • IN_PROGRESS: Being worked on (blue)
  • COMPLETED: Finished (green)
  • CANCELED: Won't be done (red)

Note: Archived tasks (soft-deleted) retain their original status and can be restored with taskdog restore.

Tags

Tasks can be organized with tags for better categorization and filtering.

Examples:

# Add task with tags
taskdog add "Backend API" --tag backend --tag api

# Manage tags
taskdog tag list                # List all tags with counts
taskdog tag list 1              # Show tags for task 1
taskdog tag set 1 urgent backend  # Set tags (replaces existing)

# Filter by tags
taskdog list --tag backend     # Show tasks with 'backend' tag
taskdog list --tag api --tag db  # OR logic: tasks with 'api' OR 'db'

Tag behavior:

  • Tags are case-sensitive
  • Multiple tags can be assigned to a task
  • Tags are automatically created when first used
  • Filtering with multiple tags uses OR logic
  • Empty or whitespace-only tags are not allowed