Skip to main content
Every TalkValue CLI command emits its result in one of three formats: json, table, or csv. The CLI picks the right one automatically based on where the output is going, and you can override it on any command.

Auto-detection

The CLI inspects stdout at startup. Running interactively gets a human-friendly table. Piping to another tool or redirecting to a file gets parseable JSON. That means talkvalue path person list | jq works with no flag required.

Override the format

Pick a format explicitly with --format:
Or use the --json shorthand:
The --json flag is equivalent to --format json and exists because it’s the most common override.

JSON envelope

Every JSON response wraps the result in a stable envelope so scripts can rely on the shape. Single-resource response:
List response (paginated):
Paginated list commands (person list, event person list, channel people, company list, company person list, import list) return the pagination block, so you can compute the next page or the total count without a second request.

Error envelope

Errors go to stderr, not stdout, and use a separate envelope:
Because errors go to stderr, this works as expected:
Pair the JSON message with the exit code to branch in a shell script.

CSV

--format csv works on any list command and writes RFC-4180 compliant CSV with the first row as headers. Use it for spreadsheets or ad-hoc reports:
Export-style commands (person export, event person export, channel export, import failed-export) always emit CSV regardless of --format. They exist specifically for spreadsheet workflows.

TTY tips

  • Color. Table output uses color when stdout is a TTY. Turn it off with --no-color or NO_COLOR=1, or force it with FORCE_COLOR=1 in places like CI logs that strip TTY detection but render ANSI.
  • Update banner. The CLI prints an upgrade banner when a newer version is on npm. It’s automatically suppressed when output is JSON or piped, so it never contaminates parsed output.