pipecat cloud command shares one output contract and one set of exit codes. Both matter most in CI, where there’s no terminal to read and the exit status is the only signal your pipeline gets.
Output modes
--output is a global option, so it goes before the subcommand:
In
json mode, stdout carries nothing but the JSON payload — every
human-facing message, including errors and progress, moves to stderr. That
means you can pipe stdout straight into a parser without filtering:
Setting it once
The mode resolves in this order, first match winning:- The
--outputflag - The
PIPECAT_OUTPUTenvironment variable, or theoutputkey in your CLI config file - Auto-detection:
richon a terminal,plainotherwise
Exit codes
Declining a confirmation exits 1 rather than 0: an aborted deploy is a failed
step, not a successful no-op. The exception is
organizations keys revoke: when
the key you pick is your local default, it asks for confirmation, then clears
the default and revokes the key whatever you answer.
Running non-interactively
Rather than let a prompt hang or misread a closed stdin, a command that would prompt checks for an interactive terminal first and exits 2 with the flag that skips the prompt:organizations keys use and organizations keys revoke always present a
picker, with no flag to bypass it. Use --organization on the individual
command instead of selecting one first, and set PIPECAT_TOKEN rather than
authenticating interactively.
These flags skip the prompt, not the check.
agent delete --force still
refuses to delete an agent that doesn’t exist, and deploy --yes still fails
on an invalid config.More Information
Personal access tokens
Authenticate a CI job with PIPECAT_TOKEN
CI with GitHub Actions
A full deployment pipeline