zuno run
zuno run drives the harness without a terminal UI. It takes a message on the command line or from a file, runs it to completion, and writes the result to stdout. This is the form to use in scripts, CI jobs, and git hooks, where there is no interactive session to attach to and the output needs to be machine-readable.
It can start a fresh session, continue the most recent one in the current directory, target an exact session id, or fork an existing session so the original transcript stays untouched.
Synopsis
zuno run [OPTIONS] [message]...Arguments
| Argument | Description |
|---|---|
[message]... |
Options
| Option | Description | Default |
|---|---|---|
--command <COMMAND> | ||
-v, --version | Show the Zuno package version | |
-c, --continue | ||
--print-logs | Print logs to stderr in addition to the structured local log store | |
-s, --session <SESSION> | ||
--fork | ||
--log-level <LOG_LEVEL> | Set the minimum log level. Possible values: TRACE, DEBUG, INFO, WARN, ERROR | |
--sandbox <SANDBOX> | Select Shell confinement for this invocation. Possible values: read-only, workspace-write, danger-full-access | |
--sandbox-on-unavailable <ACTION> | Select what happens when confined Shell cannot be deployed. Possible values: deny, run-unconfined | deny |
--share | ||
-m, --model <MODEL> | ||
--agent <AGENT> | ||
--format <FORMAT> | Possible values: default, json | default |
-f, --file <FILE> | ||
--title <TITLE> | ||
--attach <ATTACH> | ||
-p, --password <PASSWORD> | ||
-u, --username <USERNAME> | ||
--dir <DIR> | ||
--port <PORT> | ||
--variant <VARIANT> | ||
--thinking | ||
-i, --interactive | ||
--auto | ||
-h, --help | Print help (see a summary with -h) |
Examples
Run a single message and print the default human-readable result.
zuno run "explain what changed in the last commit"Continue the most recent session in this directory instead of starting a new one.
zuno run --continue "now add tests for the new branch"Emit JSON so a script can parse the result rather than scraping formatted text.
zuno run --format json "list the failing tests" > result.jsonFork an existing session with a specific agent, leaving the original transcript intact.
zuno run --session ses_1a2b3c --fork --agent plan "what would a safe migration look like?"