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:
| Pattern | Example | Effect |
|---|---|---|
@project | @backend | Sets project |
#tag | #urgent #bug | Adds tags |
| Due dates | tomorrow, friday, in 3 days, by end of week | Sets due date |
| Times | 2pm, 14:00, friday 9am | Sets 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, ~30m | Sets 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