Expensicat
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
FlagDescription
--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
ArgDescription
<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
FlagDescription
--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
ArgDescription
<id>Task ID
FlagDescription
--title <string>New title
--status <open|completed|dismissed>New status

task complete

Mark a task as complete.

expensicat task complete task_abc123
ArgDescription
<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
ArgDescription
<id>Task ID
FlagDescription
-y, --yesSkip the confirmation prompt (required for non-interactive use)

On this page