Turn off prompts
When stdin and stdout are a terminal, the CLI prompts for missing required flags and opens an explorer when you runcontinuous with no command. Pass --no-interactive in scripts so the CLI never prompts, even from a terminal:
continuous explore then exits with an error, and continuous with no command prints help.
Read values in a script
jq is optional. Use it when a script needs raw values from a JSON response. For example, print one Simulator ID per line:
-fsS hides the progress meter and reports failed HTTP requests. These flags are optional when you run a request by hand.
Send a request body
Commands with a JSON body, including create, fork, token minting, World build/start, and clock advances, take individual flags, a--body JSON string, or JSON on stdin. Flags override values from --body or stdin. --body wins over stdin.
These commands read stdin to end-of-file whenever stdin is not a terminal, even when the flags already supply the body. In a pipeline or a job that leaves stdin open, the command waits until stdin closes. Redirect from /dev/null or pass --body when nothing is meant to arrive on stdin:
simulators build is different: it sends multipart form data. Pass the build request with --request and the OpenAPI or WSDL file with --spec:
Preview a request
--dry-run prints the method, URL, headers, and body to stderr and skips the network call. The Authorization header is redacted.
--debug logs the real request and response to stderr. When you pass both flags, only the dry run runs.
Agent mode
Agent mode turns off color, prompts, and the explorer, defaults output to TOON, prints errors as JSON on stderr, and refuses the interactiveconfigure and auth login commands. continuous explore prints help instead. The CLI enables it when one of these variables is set to 1, true, or yes: CLAUDE_CODE, CURSOR_AGENT, CODEX, AIDER, CLINE, WINDSURF_AGENT, GITHUB_COPILOT, AMAZON_Q, GEMINI_CODE_ASSIST, SRC_CODY, FORCE_AGENT_MODE. To force it in a script, set FORCE_AGENT_MODE=1. To turn it off, unset those variables or set them to 0. The --agent-mode flag does not work in the current release; see Known issues.
Errors and exit codes
Any failure exits with status 1. API errors are printed on stderr. With--output-format json or --jq, and in agent mode, stderr carries a JSON object followed by one plain line that repeats the API’s problem body, so parse the object rather than the whole stream. The object’s error field holds the problem body as a JSON string; in agent mode the object also carries error_type, message, and hints. Parse error and read its code; see Known issues for why error_type is not reliable.
Known issues
These reproduce on v0.1.18.--agent-modeand--agent-mode=falseare accepted but ignored. Use the environment variables in Agent mode.--dry-runprints the preview and then exits with status 1 forsimulations create,simulations fork,simulators build,worlds build, and everydeletecommand. It exits 0 forlist,get,start,stop,cancel-*, andmint-simulation-token.- In the default pretty format, an API error message prints twice. In
json,--jq, and agent modes the JSON object is followed by one plain line with the problem body. - The CLI cannot read the HTTP status from API errors, so
error_typefor a rejected key isconnection_error. Read thecodeinsideerrorinstead. --output-format yamldrops the underscores from keys (next_cursorprints asnextcursor) unless--include-headersis also set; usejsonif you do not want the headers.