Skip to main content

Task Commands

The sf task command group provides comprehensive task management — creating, listing, querying ready work, closing, and updating tasks.

sf task create

Create a new task. Usage:
sf task create --title <text> [options]

Options

--title
string
required
Task title
--description
string
default:""
Task description (creates a linked document)
--priority
number
default:"3"
Priority (1=critical, 5=minimal)
--complexity
number
default:"3"
Complexity estimate (1=trivial, 5=very complex)
--type
string
default:"task"
Task type: bug, feature, task, or chore
--assignee
string
default:""
Assignee entity ID
--tag
string
default:""
Add a tag (can be repeated: --tag ui --tag frontend)
--plan
string
default:""
Plan ID or name to attach this task to

Examples

# Create a basic task
sf task create --title "Fix login bug" --priority 1 --type bug

# Create with description
sf task create --title "Add dark mode" \
  --description "Implement dark mode theme toggle" \
  --type feature

# Create with tags
sf task create --title "Implement feature X" \
  --tag ui --tag frontend

# Create and assign to a plan
sf task create --title "Database migration" \
  --plan "My Plan" \
  --priority 1

Output

Created task: el-abc123

sf task list

List tasks with optional filtering. Usage:
sf task list [options]

Options

--status
string
default:""
Filter by status: open, in_progress, backlog, review, closed, deferred
--ready
boolean
default:"false"
Show only dispatch-ready tasks (mutually exclusive with --status)
--priority
string
default:""
Filter by priority (1-5)
--assignee
string
default:""
Filter by assignee entity ID
--tag
string
default:""
Filter by tag (can be repeated)
--limit
number
default:"50"
Maximum results
--offset
number
default:"0"
Skip first n results

Examples

# List all tasks
sf task list

# List open tasks
sf task list --status open

# List dispatch-ready tasks
sf task list --ready

# List high-priority assigned tasks
sf task list --ready --assignee alice --priority 1

# List with pagination
sf task list --limit 20 --offset 40

Output

ID            TYPE    TITLE/NAME         STATUS       PRIORITY  ASSIGNEE  CREATED
el-abc123     task    Fix login bug      ○ open       P1        alice     2026-03-01
el-def456     feature Add dark mode      ◔ in_progress P2        bob       2026-03-02

2 task(s)

sf task ready

List tasks ready for work (not blocked, open/in-progress, scheduled for now). Usage:
sf task ready [options]

Options

--assignee
string
default:""
Filter by assignee entity ID
--priority
string
default:""
Filter by priority (1-5)
--type
string
default:""
Filter by task type: bug, feature, task, chore
--limit
number
default:""
Maximum number of results

Examples

# List all ready tasks
sf task ready

# List ready tasks for a specific assignee
sf task ready --assignee alice

# List high-priority ready tasks
sf task ready --priority 1

# Limit results
sf task ready --limit 10

Output

ID            TITLE               PRIORITY  ASSIGNEE  TYPE
el-abc123     Fix login bug       P1        alice     bug
el-def456     Add dark mode       P2        -         feature

2 ready task(s)

sf task blocked

List blocked tasks with blocking reasons. Usage:
sf task blocked [options]

Options

--assignee
string
default:""
Filter by assignee entity ID
--priority
string
default:""
Filter by priority (1-5)
--limit
number
default:""
Maximum number of results

Examples

# List all blocked tasks
sf task blocked

# List blocked tasks for an assignee
sf task blocked --assignee alice

# List high-priority blocked tasks
sf task blocked --priority 1

Output

ID            TITLE               BLOCKED BY    REASON
el-abc123     Frontend work       el-def456     Waiting for API implementation
el-ghi789     Deploy feature      el-abc123     Blocked by frontend completion

2 blocked task(s)

sf task close

Close a task, marking it as completed. Usage:
sf task close <id> [options]

Arguments

id
string
required
Task identifier (e.g., el-abc123)

Options

--reason
string
default:""
Close reason (e.g., “Fixed in PR #42”)

Examples

# Close a task
sf task close el-abc123

# Close with reason
sf task close el-abc123 --reason "Fixed in PR #42"

Output

Closed task el-abc123

sf task reopen

Reopen a closed task. Usage:
sf task reopen <id> [options]

Arguments

id
string
required
Task identifier

Options

--message
string
default:""
Message to append to the task description explaining why it was reopened

Examples

# Reopen a task
sf task reopen el-abc123

# Reopen with explanation
sf task reopen el-abc123 --message "Work was incomplete, needs fixes"

Output

Reopened task el-abc123

sf task assign

Assign a task to an entity. Usage:
sf task assign <id> [assignee] [options]

Arguments

id
string
required
Task identifier
assignee
string
required
Entity to assign to (or use --unassign)

Options

--unassign
boolean
default:"false"
Remove assignment

Examples

# Assign to alice
sf task assign el-abc123 alice

# Unassign
sf task assign el-abc123 --unassign

Output

Assigned task el-abc123 to alice

sf task defer

Defer a task, putting it on hold. Usage:
sf task defer <id> [options]

Arguments

id
string
required
Task identifier

Options

--until
string
default:""
Schedule for a specific date (ISO format: 2026-03-15)

Examples

# Defer indefinitely
sf task defer el-abc123

# Defer until a specific date
sf task defer el-abc123 --until 2026-03-15

Output

Deferred task el-abc123 until 2026-03-15

sf task undefer

Remove deferral from a task, making it ready for work again. Usage:
sf task undefer <id>

Arguments

id
string
required
Task identifier

Examples

sf task undefer el-abc123

Output

Undeferred task el-abc123

sf task describe

Set or show the description for a task. Usage:
sf task describe <id> [options]

Arguments

id
string
required
Task identifier

Options

--content
string
default:""
Description content (inline text)
--file
string
default:""
Read description from file
--show
boolean
default:"false"
Show current description instead of setting it
--append
boolean
default:"false"
Append to existing description instead of replacing

Examples

# Set description inline
sf task describe el-abc123 --content "Implement the login feature"

# Set description from file
sf task describe el-abc123 --file description.md

# Show current description
sf task describe el-abc123 --show

# Append to existing description
sf task describe el-abc123 --append --content "Additional notes"

Output

Created description for task el-abc123 (document el-doc456)

Common Patterns

Create and Assign Task

# Create task and capture ID
TASK_ID=$(sf task create --title "New feature" --priority 1 --quiet)

# Assign to worker
sf task assign $TASK_ID alice

List My Ready Tasks

sf task ready --assignee $(whoami)

Close Multiple Tasks

for task in el-abc123 el-def456 el-ghi789; do
  sf task close $task --reason "Batch close"
done

Agent Commands

Manage agents that work on tasks

Daemon Commands

Control automatic task dispatch

Build docs developers (and LLMs) love