zeroshot-rust CLI reference
September 3, 2026 ยท View on GitHub
This reference is generated from the typed Clap command model and its Rust doc comments.
Regenerate it with cargo run -p zeroshot-rust --example generate_cli_docs -- --write.
zeroshot-rust
Run multi-agent graph workloads locally or on named Zeroshot targets.
Single-result commands write JSON. Foreground `run`, `watch`, `logs`, and `attach` stream newline-delimited JSON (NDJSON).
Usage: zeroshot-rust [COMMAND]
Commands:
target Manage named targets or serve a direct target
connection Manage static credentials by connection key
profile Manage reusable graph/runtime profiles
template Inspect built-in graph templates
run Submit a graph run locally or to a named target
list List runs as JSON
status Read a run's current status as JSON
watch Follow a run's durable event stream as NDJSON
logs Follow a run's log stream as NDJSON
attach Attach to an execution's interactive event stream as NDJSON
force-stop Force a run to stop and write the result as JSON
version Print the Zeroshot Rust version
help Print this message or the help of the given subcommand(s)
Options:
-V, --version
Print the Zeroshot Rust version
-h, --help
Print help (see a summary with '-h')
zeroshot-rust target
Manage named targets or serve a direct target
Usage: zeroshot-rust target <COMMAND>
Commands:
add Register a named target
login Authenticate with a hosted named target
setup Configure the local profile for a named target
serve Serve a native-v2 target, unauthenticated unless --bootstrap-key-file is set
help Print this message or the help of the given subcommand(s)
Options:
-h, --help
Print help
zeroshot-rust target add
Register a named target
Usage: zeroshot-rust target add [OPTIONS] --url <ORIGIN> <NAME>
Arguments:
<NAME>
Local name used to select this target
Options:
--url <ORIGIN>
Target origin URL
--direct
Use unauthenticated direct access instead of hosted authentication
-h, --help
Print help
zeroshot-rust target login
Authenticate with a hosted named target.
On Linux, desktop sessions prefer Secret Service and headless sessions use a durable private file. Set ZEROSHOT_RUST_CREDENTIAL_STORE to auto, system, or file to override automatic selection.
Usage: zeroshot-rust target login <NAME>
Arguments:
<NAME>
Local target name
Options:
-h, --help
Print help (see a summary with '-h')
zeroshot-rust target setup
Configure the local profile for a named target.
This changes only the local named-target registry; it does not configure the remote target.
Usage: zeroshot-rust target setup [OPTIONS] --repository <OWNER/NAME> <NAME>
Arguments:
<NAME>
Local target name
Options:
--repository <OWNER/NAME>
GitHub repository in owner/name form
--branch <BRANCH>
Default source branch used when a run does not specify --branch
-h, --help
Print help (see a summary with '-h')
zeroshot-rust target serve
Serve a native-v2 target, unauthenticated unless --bootstrap-key-file is set.
Without --bootstrap-key-file, clients connect directly with no authentication. With a bootstrap key, the server enables private authenticated access and consumes and removes the key file while starting.
Usage: zeroshot-rust target serve [OPTIONS] --listen <ADDRESS> --public-origin <ORIGIN> --storage <DIRECTORY>
Options:
--listen <ADDRESS>
IP socket address on which the target listens
--public-origin <ORIGIN>
Public HTTP(S) origin advertised to clients
--storage <DIRECTORY>
Directory that stores target state and run data
--bootstrap-key-file <PATH>
Enable private auth with a one-time key file consumed and removed at startup.
The target consumes and removes this file while starting. If omitted, the target accepts unauthenticated direct connections.
-h, --help
Print help (see a summary with '-h')
zeroshot-rust target help
Print this message or the help of the given subcommand(s)
Usage: zeroshot-rust target help [COMMAND]
Commands:
add Register a named target
login Authenticate with a hosted named target
setup Configure the local profile for a named target
serve Serve a native-v2 target, unauthenticated unless --bootstrap-key-file is set
help Print this message or the help of the given subcommand(s)
zeroshot-rust connection
Manage static credentials by connection key
Usage: zeroshot-rust connection <COMMAND>
Commands:
list List connection metadata without secret values
set Create or replace one static connection
delete Delete one connection
help Print this message or the help of the given subcommand(s)
Options:
-h, --help
Print help
zeroshot-rust connection list
List connection metadata without secret values
Usage: zeroshot-rust connection list [OPTIONS]
Options:
--target <NAME>
Use this named hosted target. If omitted, use local connections
--scope <SCOPE>
Select user- or organization-scoped connections
[default: user]
[possible values: user, org]
-h, --help
Print help
zeroshot-rust connection set
Create or replace one static connection
Usage: zeroshot-rust connection set [OPTIONS] <--field <ENV>|--json-stdin> <KEY>
Arguments:
<KEY>
Unique connection key within the selected scope
Options:
--field <ENV>
Prompt without echo for this environment field. Repeat for multiple fields
--json-stdin
Read one JSON object of environment field names to secret values from standard input
--target <NAME>
Use this named hosted target. If omitted, use local connections
--scope <SCOPE>
Select user- or organization-scoped connections
[default: user]
[possible values: user, org]
-h, --help
Print help
zeroshot-rust connection delete
Delete one connection
Usage: zeroshot-rust connection delete [OPTIONS] <KEY>
Arguments:
<KEY>
Unique connection key within the selected scope
Options:
--target <NAME>
Use this named hosted target. If omitted, use local connections
--scope <SCOPE>
Select user- or organization-scoped connections
[default: user]
[possible values: user, org]
-h, --help
Print help
zeroshot-rust connection help
Print this message or the help of the given subcommand(s)
Usage: zeroshot-rust connection help [COMMAND]
Commands:
list List connection metadata without secret values
set Create or replace one static connection
delete Delete one connection
help Print this message or the help of the given subcommand(s)
zeroshot-rust profile
Manage reusable graph/runtime profiles
Usage: zeroshot-rust profile <COMMAND>
Commands:
list List profile metadata
set Create or replace a fully materialized profile
show Show one profile with its graph and runtime
remove Remove one profile
default Set the scope's default profile, or clear it when NAME is omitted
help Print this message or the help of the given subcommand(s)
Options:
-h, --help
Print help
zeroshot-rust profile list
List profile metadata
Usage: zeroshot-rust profile list [OPTIONS]
Options:
--target <NAME>
Use this named hosted target. If omitted, use local profiles
--scope <SCOPE>
Select user- or organization-scoped hosted profiles
[default: user]
[possible values: user, org]
-h, --help
Print help
zeroshot-rust profile set
Create or replace a fully materialized profile
Usage: zeroshot-rust profile set [OPTIONS] <--graph <FILE>|--template <TEMPLATE>> <--runtime-config <FILE>|--uniform-runtime-config <FILE>> <NAME>
Arguments:
<NAME>
Options:
--graph <FILE>
--template <TEMPLATE>
Possible values:
- single-worker: A single general-purpose worker
- software-change: A review, validation, and optional delivery workflow for code changes
--runtime-config <FILE>
--uniform-runtime-config <FILE>
--default
--delivery <MODE>
Materialize this Rust-owned delivery mode
--pr
Materialize pull-request delivery for the software-change template
--ship
Materialize merge delivery for the software-change template.
Named-target runs forward GH_TOKEN for the generated GitHub merge operation.
--target <NAME>
Use this named hosted target. If omitted, use local profiles
--scope <SCOPE>
Select user- or organization-scoped hosted profiles
[default: user]
[possible values: user, org]
-h, --help
Print help (see a summary with '-h')
zeroshot-rust profile show
Show one profile with its graph and runtime
Usage: zeroshot-rust profile show [OPTIONS] <NAME>
Arguments:
<NAME>
Profile name
Options:
--target <NAME>
Use this named hosted target. If omitted, use local profiles
--scope <SCOPE>
Select user- or organization-scoped hosted profiles
[default: user]
[possible values: user, org]
-h, --help
Print help
zeroshot-rust profile remove
Remove one profile
Usage: zeroshot-rust profile remove [OPTIONS] <NAME>
Arguments:
<NAME>
Profile name
Options:
--target <NAME>
Use this named hosted target. If omitted, use local profiles
--scope <SCOPE>
Select user- or organization-scoped hosted profiles
[default: user]
[possible values: user, org]
-h, --help
Print help
zeroshot-rust profile default
Set the scope's default profile, or clear it when NAME is omitted
Usage: zeroshot-rust profile default [OPTIONS] [NAME]
Arguments:
[NAME]
Profile name. Omit to clear the selected scope's default
Options:
--target <NAME>
Use this named hosted target. If omitted, use local profiles
--scope <SCOPE>
Select user- or organization-scoped hosted profiles
[default: user]
[possible values: user, org]
-h, --help
Print help
zeroshot-rust profile help
Print this message or the help of the given subcommand(s)
Usage: zeroshot-rust profile help [COMMAND]
Commands:
list List profile metadata
set Create or replace a fully materialized profile
show Show one profile with its graph and runtime
remove Remove one profile
default Set the scope's default profile, or clear it when NAME is omitted
help Print this message or the help of the given subcommand(s)
zeroshot-rust template
Inspect built-in graph templates
Usage: zeroshot-rust template <COMMAND>
Commands:
list List built-in template names as JSON
show Write a built-in graph template as JSON
help Print this message or the help of the given subcommand(s)
Options:
-h, --help
Print help
zeroshot-rust template list
List built-in template names as JSON
Usage: zeroshot-rust template list
Options:
-h, --help
Print help
zeroshot-rust template show
Write a built-in graph template as JSON
Usage: zeroshot-rust template show [OPTIONS] <TEMPLATE>
Arguments:
<TEMPLATE>
Built-in graph template to render
Possible values:
- single-worker: A single general-purpose worker
- software-change: A review, validation, and optional delivery workflow for code changes
Options:
--delivery <MODE>
Materialize this Rust-owned delivery mode
--pr
Materialize pull-request delivery for the software-change template
--ship
Materialize merge delivery for the software-change template.
Named-target runs forward GH_TOKEN for the generated GitHub merge operation.
-h, --help
Print help (see a summary with '-h')
zeroshot-rust template help
Print this message or the help of the given subcommand(s)
Usage: zeroshot-rust template help [COMMAND]
Commands:
list List built-in template names as JSON
show Write a built-in graph template as JSON
help Print this message or the help of the given subcommand(s)
zeroshot-rust run
Submit a graph run locally or to a named target.
When --target is omitted, the run uses the current local repository. A foreground run follows NDJSON events until completion. --detach returns after submission; Ctrl-C also detaches from observation without stopping the run. Named-target runs send GH_TOKEN, when set, for source checkout and Git delivery; providers receive it only when the runtime declares GH_TOKEN.
Usage: zeroshot-rust run [OPTIONS] --title <TITLE> --input <FILE>
Options:
--title <TITLE>
Human-readable title recorded with the run
--graph <FILE>
Load a custom graph specification from this JSON file
--template <TEMPLATE>
Materialize and run this built-in graph template
Possible values:
- single-worker: A single general-purpose worker
- software-change: A review, validation, and optional delivery workflow for code changes
--input <FILE>
Load the graph's initial input from this JSON file
--runtime-config <FILE>
Load an exact secret-free runtime plan from this JSON file
--uniform-runtime-config <FILE>
Expand one secret-free agent runtime across every executable graph node
--profile <[SCOPE:]NAME>
Use a profile: NAME, local:NAME, user:NAME, or org:NAME.
When no profile or inline graph/runtime is supplied, scoped defaults are checked.
--target <NAME>
Run on this named target; if omitted, run locally. Named targets receive GH_TOKEN when set.
The token is used for source checkout and Git delivery. A provider receives it only when the runtime configuration explicitly declares GH_TOKEN.
--branch <BRANCH>
Source branch to resolve on the named target. Requires --target
--submission-key <KEY>
Stable idempotency key for safely retrying submission
-d, --detach
Return after submission instead of following NDJSON run events
--validate-only
Validate and materialize the run without submitting it or contacting a target
--delivery <MODE>
Materialize this Rust-owned delivery mode
--pr
Materialize pull-request delivery for the software-change template
--ship
Materialize merge delivery for the software-change template.
Named-target runs forward GH_TOKEN for the generated GitHub merge operation.
-h, --help
Print help (see a summary with '-h')
RUNTIME CONFIGURATION
The file is secret-free JSON. For example:
{
"harness": "codex",
"provider": "openrouter",
"size": "medium",
"nodes": {
"worker": {
"kind": "agent",
"model": "provider-model-id",
"connections": {"openrouter": ["OPENROUTER_API_KEY"]}
}
}
}
Known-incompatible harness/provider pairs are codex/anthropic and claude/openai. Model IDs are
passed unchanged to the selected harness and provider; Zeroshot does not maintain or validate
provider model catalogs.
Sizes are small, medium, and large.
Every executable graph node needs a same-named binding. Agent bindings require kind and model.
Optional fields are effort (low, medium, high, xhigh, or max when supported), sessionScope
(execution or node_instance), and connections. Each connection key maps to the exact
environment variable names required by that node; never put values in this file.
Use `zeroshot-rust template show TEMPLATE` to inspect node names. With --pr or --ship, omit the
template-owned delivery binding.
--uniform-runtime-config requires harness, provider, and model. It accepts optional size,
effort, sessionScope, and connections fields without nodes. Rust expands that agent binding
across every executable graph node and supplies graph-visible Git delivery bindings itself.
zeroshot-rust list
List runs as JSON
Usage: zeroshot-rust list [OPTIONS]
Options:
--target <NAME>
Use this named target. If omitted, use the local controller
-h, --help
Print help
zeroshot-rust status
Read a run's current status as JSON
Usage: zeroshot-rust status [OPTIONS] <RUN_ID>
Arguments:
<RUN_ID>
Public run ID
Options:
--target <NAME>
Use this named target. If omitted, use the local controller
-h, --help
Print help
zeroshot-rust watch
Follow a run's durable event stream as NDJSON
Usage: zeroshot-rust watch [OPTIONS] <RUN_ID>
Arguments:
<RUN_ID>
Public run ID
Options:
--target <NAME>
Use this named target. If omitted, use the local controller
--after <CURSOR>
Resume strictly after this durable cursor
-h, --help
Print help
zeroshot-rust logs
Follow a run's log stream as NDJSON
Usage: zeroshot-rust logs [OPTIONS] <RUN_ID>
Arguments:
<RUN_ID>
Public run ID
Options:
--target <NAME>
Use this named target. If omitted, use the local controller
--after <CURSOR>
Resume strictly after this durable cursor
--execution <EXECUTION_REF>
Return records only for this opaque execution selector
-h, --help
Print help
zeroshot-rust attach
Attach to an execution's interactive event stream as NDJSON
Usage: zeroshot-rust attach [OPTIONS] <RUN_ID> <EXECUTION_REF>
Arguments:
<RUN_ID>
Public run ID
<EXECUTION_REF>
Execution reference emitted by the run
Options:
--target <NAME>
Use this named target. If omitted, use the local controller
-h, --help
Print help
zeroshot-rust force-stop
Force a run to stop and write the result as JSON
Usage: zeroshot-rust force-stop [OPTIONS] <RUN_ID>
Arguments:
<RUN_ID>
Public run ID
Options:
--target <NAME>
Use this named target. If omitted, use the local controller
-h, --help
Print help
zeroshot-rust version
Print the Zeroshot Rust version
Usage: zeroshot-rust version
Options:
-h, --help
Print help
zeroshot-rust help
Print this message or the help of the given subcommand(s)
Usage: zeroshot-rust help [COMMAND]
Commands:
target Manage named targets or serve a direct target
connection Manage static credentials by connection key
profile Manage reusable graph/runtime profiles
template Inspect built-in graph templates
run Submit a graph run locally or to a named target
list List runs as JSON
status Read a run's current status as JSON
watch Follow a run's durable event stream as NDJSON
logs Follow a run's log stream as NDJSON
attach Attach to an execution's interactive event stream as NDJSON
force-stop Force a run to stop and write the result as JSON
version Print the Zeroshot Rust version
help Print this message or the help of the given subcommand(s)