Skip to main content
cloudthinker chat -p submits a prompt to Anna and waits for the answer. Anna’s answer is the only thing on stdout, so the command drops straight into a pipe.

Send a prompt

Progress, the run ID, and the continuation hint go to stderr. That split is what keeps the command pipeable:

Continue a conversation

Every terminal run prints continue_with=<conversation_id> on stderr. Pass that ID, or the run ID, to keep the thread:
The same conversation is visible in the web app through the web_url printed beside the hint.

Submit now, collect later

A long investigation does not need to hold your terminal. --no-wait returns as soon as the run is queued:
The JSON envelope returned by chat --no-wait
Collect the answer from any machine later:
A client-side timeout never cancels the run. --timeout bounds only how long the CLI waits; the run keeps going server-side and the CLI prints the chat status command that resumes it.

Machine-readable output

--json writes one envelope to stdout instead of the plain answer. The immediate --no-wait --json response has no answer field. Fetch it later with chat status.

Exit codes

A pipeline can branch on the outcome without parsing text. chat ls and chat status without --wait exit 0 after a successful fetch. chat status --wait returns the run’s outcome code.

Use it in CI

Give the job a token, keep stdout for the answer, and let the exit code decide the outcome:

Authentication

Give a pipeline a credential of its own

Reference

Every command, flag, variable, and exit code