Task Management

Adding Tasks

tycana add

The natural language parser handles projects, tags, dates, times, and estimates in a single sentence.

# Natural language — write tasks the way you think
tycana add "Fix auth bug @api #urgent ~2h due tomorrow"
tycana add "Team meeting friday 2pm @work"
tycana add "Review PR by end of week"

# Structured flags — for scripts and automation
tycana add "Deploy v2" --project ops --due friday --tags release
tycana add "Write docs" --estimate 2h --note "Focus on API section"
tycana add "Standup" --due "2026-03-05 14:00"     # Date + 24-hour time

# Machine-readable output for scripts
tycana add "Deploy v2" --format json          # Returns created task as JSON
tycana add "Deploy v2" --format json | jq .ID # Extract just the ID
tycana add "Deploy v2" -q                     # Silent — exit code only

# Interactive form
tycana add

What the parser understands:

PatternExampleEffect
@project@backendSets project
#tag#urgent #bugAdds tags
Due datestomorrow, friday, in 3 days, by end of weekSets due date
Times2pm, 14:00, friday 9amSets due date + time (appears in calendar)
--due flag--due friday, --due "2026-03-05 14:00"Sets due date (or date + time with 24h format)
Estimates~2h, ~30mSets time estimate

Calendar tip: Tasks with a specific time appear in your calendar. Tasks with only a date are deadlines. The CLI tells you which: date-only tasks show a hint when you have sync configured.


Completing Tasks

tycana done

Find tasks by title, number, or ID.

# Natural title matching
tycana done "marketing meeting"
tycana done "fix auth bug"

# By task number (from list output)
tycana done 1

# By task ID
tycana done abc123

# Interactive selection
tycana done

# Bulk completion
tycana done --project sprint-1           # Complete entire project
tycana done --tag milestone              # Complete by tag
tycana done --older-than 30d             # Complete stale tasks
tycana done --dry-run                    # Preview first

# Machine-readable output
tycana done "auth bug" --format json     # Returns completed task as JSON
tycana done --project sprint-1 -f json   # Returns array of completed tasks

Editing Tasks

tycana edit

Opens an interactive form pre-populated with the task’s current values. Same smart selection as done.

tycana edit "backend bug"                # Find by title
tycana edit 3                            # By number
tycana edit abc123                       # By ID
tycana edit                              # Browse all tasks

# Quick updates via flags (skip interactive form)
tycana edit abc123 --due friday
tycana edit abc123 --due "friday 2pm"             # Date + time
tycana edit abc123 --tags "urgent,p1"
tycana edit abc123 --project backend

# Machine-readable output
tycana edit abc123 --due friday --format json   # Returns modified task

Removing Tasks

tycana rm

Permanently removes a task.

tycana rm "old planning task"
tycana rm 5
tycana rm abc123
tycana rm abc123 --force --format json   # Script-friendly: skip prompt, return JSON

tycana undo

Reverse the last action (creation or deletion).

tycana undo