CLI Reference
The tack command-line interface provides all the tools you need to manage tasks.
Global options
These options work with any command:
| Option | Description |
|---|---|
--json | Output structured JSON |
--plain | Minimal plain text output |
-q, --quiet | Suppress non-essential output |
-y, --yes | Skip confirmation prompts |
-h, --help | Show help |
-V, --version | Show 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]
| Option | Description |
|---|---|
--project, -p | Project to create task in |
--priority | low, medium, high, critical |
--assignee, -a | Who's responsible |
--label, -l | Labels (can use multiple times) |
--due | Due date (YYYY-MM-DD) |
--points | Story points |
--cycle | Sprint/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]
| Option | Description |
|---|---|
--status | Filter by status |
--priority | Filter by priority |
--assignee | Filter by assignee |
--label | Filter by label |
--project | Filter by project |
--due | Filter by due date (supports ranges) |
--sort | Sort 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 detaild— Mark done</>— Move task left/righte— Edit in $EDITORq— Quit
tack task update
Update task fields.
tack task update <ID> [OPTIONS]
| Option | Description |
|---|---|
--status | Change status |
--priority | Change priority |
--assignee | Change assignee |
--add-label | Add a label |
--remove-label | Remove a label |
--due | Change due date |
--points | Change 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]
| Option | Description |
|---|---|
--prefix | Custom prefix (auto-generated if omitted) |
--description | Project 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
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Runtime error (not found, I/O error) |
| 2 | Validation error (invalid input) |