yukta command is a thin client for a running Yukta server. It is a single static binary with no runtime to install. It calls the REST API and prints the answer, which makes it useful in shell scripts, CI jobs and quick checks at a terminal.
Use it when you want to apply a session file, start a workflow, follow its logs and result, or steer a run, without writing HTTP calls.
Install
There are no packaged releases yet; build the binary from source. The build produces binaries for Linux (amd64 and arm64), macOS (Intel and Apple silicon) and Windows (amd64). Copy the one for your platform onto yourPATH. See Deployment.
Configure
Three global flags apply to every command. Flags go before or after the command name.
A flag overrides the environment variable. The client reads no configuration file.
Output formats
Some commands print JSON in both formats because their data is nested:
session summaries, session workflow get, session workflow graph, session workflow executions. The live commands print one item per line, as described under Watch live.
Sessions
session apply sends the same body as POST /api/sessions and needs a key with the ADMIN role. It checks that the text is valid JSON before sending it.
Start and stop workflows
workflow start takes the trigger input with one of two flags:
The two flags cannot be combined, and the payload must be a JSON object.
Inspect runs
Use
-o json with status to get the full snapshot, including every node’s status. The server may keep only the newest runs; see the REST history call.
Control a run
Control nodes
Node commands act on one node of a live run. The role they need isOPERATOR.
retry, breakpoint and signal take no session id. signal fails with an HTTP 409 error if the node is not waiting for that signal. These commands map to the calls on the Control API page.
Watch live
These commands stay connected until the run ends or you press Ctrl-C. A Ctrl-C ends them cleanly with exit code0.
controlbus watch follows the server-wide event feed and prints one line per event:
With
-o json, controlbus watch prints each event as one JSON object per line. The feed does not replay past events, so start the watch before the run, or use --until-done.
--until-done exits with 0 whatever the final status of the run. Read the last WORKFLOW line, or the run’s status, to see the outcome.
Discover plugins
Control bus
The control bus commands address nodes by workflow id rather than by run. See the REST control bus calls.Access
Give the client a key with--token or YUKTA_TOKEN when the server requires one. A key with the VIEWER role can run the read commands and the live commands. Starting, stopping and controlling runs needs OPERATOR, and applying sessions and sending control bus commands needs ADMIN. A refused request prints the server’s answer, for example API error: status 403: ....
Exit codes
On failure the command prints
error: <message> to standard error. An HTTP error includes the status code and the response body.