Commands

CLI Reference

Complete reference for all Tack commands

The tack command-line interface provides all the tools you need to manage tasks.

Global options

These options work with any command:

OptionDescription
--jsonOutput structured JSON
--plainMinimal plain text output
-q, --quietSuppress non-essential output
-y, --yesSkip confirmation prompts
-h, --helpShow help
-V, --versionShow version

Commands

tack init

Initialize a new Tack workspace in the current directory.

tack init

Creates .tack/ directory with default configuration.

tack new

Create a new task. Alias for tack task create.

tack new "Task title" [OPTIONS]
OptionDescription
--project, -pProject to create task in
--prioritylow, medium, high, critical
--assignee, -aWho's responsible
--label, -lLabels (can use multiple times)
--dueDue date (YYYY-MM-DD)
--pointsStory points
--cycleSprint/cycle (e.g., 2026-W08)

Example:

tack new "Fix login bug" --priority=critical --assignee=alice --label=bug

tack ls

List tasks. Alias for tack task list.

tack ls [OPTIONS]
OptionDescription
--statusFilter by status
--priorityFilter by priority
--assigneeFilter by assignee
--labelFilter by label
--projectFilter by project
--dueFilter by due date (supports ranges)
--sortSort by field (can use multiple)

Examples:

# All open tasks
tack ls --status=todo,in_progress

# High priority bugs
tack ls --priority=high --label=bug

# Tasks due this week, sorted by priority
tack ls --due=..2026-02-20 --sort=priority

tack show

Show task details.

tack show [ID]

If ID is omitted, opens an interactive picker.

tack done

Mark a task as done. Alias for tack task move <ID> done.

tack done [ID]

If ID is omitted, opens an interactive picker.

tack edit

Open a task in your $EDITOR.

tack edit [ID]

If ID is omitted, opens an interactive picker.

tack rm

Delete a task (moves to .trash/).

tack rm [ID]

If ID is omitted, opens an interactive picker. Use -y to skip confirmation.

tack board

Open the interactive Kanban board.

tack board

Keyboard shortcuts:

  • Arrow keys or hjkl — Navigate
  • Enter — Open task detail
  • d — Mark done
  • < / > — Move task left/right
  • e — Edit in $EDITOR
  • q — Quit

tack task update

Update task fields.

tack task update <ID> [OPTIONS]
OptionDescription
--statusChange status
--priorityChange priority
--assigneeChange assignee
--add-labelAdd a label
--remove-labelRemove a label
--dueChange due date
--pointsChange story points

tack task move

Change task status.

tack task move <ID> <STATUS>

Status can be: todo, in_progress, done, cancelled

tack project create

Create a new project.

tack project create <NAME> [OPTIONS]
OptionDescription
--prefixCustom prefix (auto-generated if omitted)
--descriptionProject description

tack project list

List all projects.

tack project list

tack completions

Generate shell completions.

tack completions <SHELL>

Shell can be: bash, zsh, fish, powershell

Exit codes

CodeMeaning
0Success
1Runtime error (not found, I/O error)
2Validation error (invalid input)
Copyright © 2026