Skip to content
qibdo qibdo
Theme
Book a demo

Output and scripting

Commands that return resources honour the same output flags, so a command you ran by hand becomes a command you can pipe without rewriting it. Utility commands sit outside this contract: the config family prints plain text, and qibdo version carries its own -o limited to json|yaml|table.

-o (or --output) selects the format:

Terminal window
qibdo taxonomy workspaces list -o json
qibdo taxonomy workspaces list -o yaml
qibdo taxonomy workspaces list -o tsv

With no -o, the CLI picks by destination: a table on a terminal, json when piped, so a redirected command already produces machine-readable output. table is meant for reading, not parsing. json and yaml are the structured formats. tsv is the one to reach for in a shell pipeline, because it needs no parser:

Terminal window
qibdo taxonomy workspaces list --query '[].name' -o tsv | while read -r name; do
echo "workspace: $name"
done

--query takes a JMESPath expression and projects the result before it is printed, which keeps the interesting field out of a downstream jq or awk:

Terminal window
qibdo taxonomy workspaces list --query '[].name' -o tsv

One caveat worth knowing: --query buffers the full result before it can project it. On a large collection, bound it with --limit so you are not holding every page in memory at once.

Results go to stdout. Everything else goes to stderr, which is what makes redirecting a command’s output safe even when it is chatty:

Terminal window
qibdo taxonomy workspaces list -o json > workspaces.json

The flags that control the noise all act on stderr:

  • --verbose adds human-readable progress.
  • --debug adds wire-level detail, with credentials redacted.
  • --quiet (or -q) suppresses non-essential output.

Three behaviours change when the CLI is not talking to a human, and each has a flag so you can force the non-interactive shape in a context that only looks interactive, such as a CI runner with a TTY:

  • --no-input never prompts and fails instead. Any command that would have asked a question exits rather than hanging a pipeline.
  • --no-pager prints long human-readable output straight through instead of paging it.
  • --color takes auto, always, or never, and respects NO_COLOR.