--json, --quiet, and --toon.
Precedence when more than one is set: --toon > --quiet > --json > pretty.
Global flags
Every command accepts these flags. They are left out of the per-command flag tables in the command reference.Pretty
The default when standard output is a terminal. Arrays render as aligned tables, objects as key-value pairs, and related commands are appended as breadcrumbs.--json or --toon for anything that
consumes the output programmatically.
JSON envelope
Used automatically when output is piped or redirected, and forced on a terminal with--json.
breadcrumbs is omitted when empty. pagination is present on every list command
(clients list, projects list, time-entries list, and team-members list), though only
time-entries list and team-members list accept --page and --page-size; see
Pagination.
Commands that print a message rather than a record, such as login, logout, whoami, and
the recipients, project-users, and team-members delete commands, emit
{ "message": "..." } without a data key.
Quiet
--quiet drops the envelope and emits the payload alone. On action commands it prints just
the identifier, which is what makes it useful in a pipeline.
delete commands print success in quiet mode, except time-entries delete, which prints
{"message":"Time entry deleted."}.
TOON
--toon emits Token-Optimized Output Notation: the same data as JSON with keys and whitespace
compressed, typically 30 to 60 percent fewer tokens. Prefer it when piping list or show output
into an AI assistant.
Pagination
time-entries list, team-members list, clients list, and projects list all report their
pages the same way: data holds the bare array of records, and a pagination object in the
envelope carries total_records, total_pages, current_page_number, and page_size.
Only time-entries list and team-members list accept --page (1-indexed) and --page-size
(0 by default, which sends no page size and lets the API return 30 per page; maximum 100).
clients list and projects list have no paging flags, so they always return the first page.
--page until current_page_number equals total_pages.
The --page flag on team-members list has no effect in this release; see
team-members list.
Exit codes and errors
Every command exits non-zero on failure and writes the error to standard error, leaving standard output empty. Errors from the API are reported asAPI error (<status>): <message>,
followed by any field errors and a suggestion for the common status codes. See
Troubleshooting for the messages.