cosmo CLI reference.
Every command and flag for the cosmo developer CLI, verified against packages/cli.
cosmo dispatch
Fire a one-off TASK from the shell - addressed (--neuron), capability-routed (--capabilities), or auctioned (--offer) - and print the reply. By default it waits with --scope=terminal, which tags the TASK with finalize so a stock worker’s AGENT_OUTPUT is promoted to FINAL (terminal-handler finalize).
$ cosmo dispatch --help Dispatch a TASK and print the reply. Usage cosmo dispatch --url <url> [options] Options --url <url> Synapse URL (cosmo:// | nats:// | kafka://). Required. --namespace, -n <ns> Namespace to dispatch into. Default: dev --neuron <id> Addressed dispatch: the target Axon's neuron_id. --capabilities <a,b> Capability-routed dispatch (comma-separated). --input <json> TASK input as a JSON object. Default: {} --offer Use TASK_OFFER / BID / TASK_AWARDED instead of direct dispatch. --deadline-ms <n> Bid-collection window for --offer. Default: 250 --select <strategy> first_bid | lowest_cost | highest_confidence. Default: first_bid --wait / --no-wait Wait for the reply. Default: --wait --timeout <s> Seconds to wait for a reply. Default: 30.0 --scope <scope> Pathway scope while waiting: all | terminal. Default: terminal --json Print the raw reply Signal as JSON. Examples # Addressed dispatch, wait for the reply (terminal-handler finalize) $ cosmo dispatch --url=cosmo://127.0.0.1:7070 -n dev \ --neuron=answerer --input='{"q": "hi"}' # Capability-routed $ cosmo dispatch --url=cosmo://127.0.0.1:7070 --capabilities=summarize \ --input='{"text": "..."}' # Auction it instead: collect BIDs, award the cheapest $ cosmo dispatch --url=cosmo://127.0.0.1:7070 --offer \ --capabilities=summarize --select=lowest_cost --input='{"text": "..."}'
Retry & cancellation are SDK-level, not CLI flags: cosmo dispatch performs a single dispatch + wait. For automatic retries with backoff and preemptive STOP of abandoned attempts, use Dendrite.run_with_retry(retry=…) / dispatch_and_wait(retry=…); to cancel a whole trace use Dendrite.stop_trace(...). See the Python and TypeScript Dendrite references.
Have a feature in mind?
The protocol, SDKs, and CLI are still pre-1.0. If something here is missing, ambiguous, or wrong - open an issue and propose a change. Every breaking change is debated in DECISIONS.md first.