CLI
Projects
Organize client work into projects
project list
List projects.
expensicat project list| Flag | Description |
|---|---|
--cursor <string> | Pagination cursor |
--limit <number> | Page size |
project show
Get a project by ID.
expensicat project show proj_abc123| Arg | Description |
|---|---|
<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 -| Flag | Description |
|---|---|
--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| Arg | Description |
|---|---|
<id> | Project ID |
| Flag | Description |
|---|---|
--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| Arg | Description |
|---|---|
<id> | Project ID |
| Flag | Description |
|---|---|
-y, --yes | Skip the confirmation prompt (required for non-interactive use) |