CLI
Tasks
Track outstanding work items and to-dos
task list
List tasks. Defaults to tasks assigned to you — pass --assignee all for the whole team.
# Your tasks (default)
expensicat task list
# Everyone's tasks
expensicat task list --assignee all
# Someone else's tasks
expensicat task list --assignee 3b9c1d2a-...
# Filter by status and priority
expensicat task list --status open --priority high| Flag | Description |
|---|---|
--assignee <me|all|uuid> | Scope to you (me, default), everyone (all), or a specific user |
--status <open|completed|dismissed> | Filter by status |
--priority <low|medium|high> | Filter by priority |
--cursor <string> | Pagination cursor |
--limit <number> | Page size |
task show
Get a task by ID.
expensicat task show task_abc123| Arg | Description |
|---|---|
<id> | Task ID |
task create
Create a task. Interactive when fields are missing, or pipe JSONL via --batch - for bulk creates.
expensicat task create --title "Reconcile March" --due-date 2026-04-30
cat tasks.jsonl | expensicat task create --batch - --concurrency 5| Flag | Description |
|---|---|
--title <string> | Task title (required) |
--description <string> | Description |
--due-date <string> | Due date (YYYY-MM-DD) |
--batch <path|-> | Read items from a file or stdin — see Batch input |
task update
Update a task.
expensicat task update task_abc123 --status completed| Arg | Description |
|---|---|
<id> | Task ID |
| Flag | Description |
|---|---|
--title <string> | New title |
--status <open|completed|dismissed> | New status |
task complete
Mark a task as complete.
expensicat task complete task_abc123| Arg | Description |
|---|---|
<id> | Task ID |
task delete
Delete a task. Prompts for confirmation in a terminal; pass --yes to skip.
expensicat task delete task_abc123
expensicat task rm task_abc123 --yes # alias + skip prompt| Arg | Description |
|---|---|
<id> | Task ID |
| Flag | Description |
|---|---|
-y, --yes | Skip the confirmation prompt (required for non-interactive use) |