Expensicat
CLI

Projects

Organize client work into projects

project list

List projects.

expensicat project list
FlagDescription
--cursor <string>Pagination cursor
--limit <number>Page size

project show

Get a project by ID.

expensicat project show proj_abc123
ArgDescription
<id>Project ID

project create

Create a project. Interactive when fields are missing — prompts for name, a customer picker, and description. Pipe JSONL via --batch - for bulk creates.

expensicat project create --name "Website rebuild" --customer-id cust_123
cat projects.jsonl | expensicat project create --batch -
FlagDescription
--name <string>Project name (required)
--customer-id <string>Customer this project is for
--description <string>Description
--batch <path|->Read items from a file or stdin — see Batch input

project update

Update a project.

expensicat project update proj_abc123 --status completed
ArgDescription
<id>Project ID
FlagDescription
--name <string>New name
--status <string>active, completed, archived

project delete

Delete a project. Prompts for confirmation in a terminal; pass --yes to skip.

expensicat project delete proj_abc123
expensicat project rm proj_abc123 --yes   # alias + skip prompt
ArgDescription
<id>Project ID
FlagDescription
-y, --yesSkip the confirmation prompt (required for non-interactive use)

On this page