versions
List every loaded workflow version with its routing flag (operator API)
aion versions [OPTIONS] -
--workflow-type <WORKFLOW_TYPE> - Show only versions of this workflow type
venues
Which venues run each role-bound flow, and which are BEHIND the newest source deployed for it (operator API).
aion venues [OPTIONS] [FLOW] -
[FLOW] - Show only venues of this flow
route
Re-point routing for a workflow type at an already-loaded version (rollback / roll-forward; operator API)
aion route [OPTIONS] <WORKFLOW_TYPE> <CONTENT_HASH> -
<WORKFLOW_TYPE> - Logical workflow type
-
<CONTENT_HASH> - Content hash of the already-loaded target version
unload
Unload a non-routed, unpinned workflow version (operator API)
aion unload [OPTIONS] <WORKFLOW_TYPE> <CONTENT_HASH> -
<WORKFLOW_TYPE> - Logical workflow type
-
<CONTENT_HASH> - Content hash of the version to unload
start
Start a workflow execution
aion start [OPTIONS] <WORKFLOW_TYPE> -
<WORKFLOW_TYPE> - Workflow type registered with the server
-
--input <INPUT> - JSON input payload for the workflow [default: null]
-
--input-file <INPUT_FILE> - Read the JSON input payload from a UTF-8 file instead of `--input`
-
--name <DISPLAY_NAME> - Optional display name, trimmed and recorded on the workflow. Commands target the workflow id. Describing any run returns the most recently recorded workflow name; a continue-as-new successor inherits it.
signal
Send a signal to the latest run of a workflow
aion signal [OPTIONS] <WORKFLOW_ID> <SIGNAL_NAME> -
<WORKFLOW_ID> - Workflow identifier
-
<SIGNAL_NAME> - Signal name
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest run when omitted
-
--payload <PAYLOAD> - JSON signal payload [default: null]
-
--dry-run - Validate the target, declared signal, and payload schema without delivering it
-
--http-endpoint <HTTP_ENDPOINT> - HTTP listener used to read the target version's deployed signal contract [env: AION_HTTP_ENDPOINT=] [default: http://127.0.0.1:8080]
query
Query the latest run of a workflow
aion query [OPTIONS] <WORKFLOW_ID> <QUERY_NAME> -
<WORKFLOW_ID> - Workflow identifier
-
<QUERY_NAME> - Query name
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest run when omitted
-
--arguments <ARGUMENTS> - JSON arguments handed to the workflow's query handler. The default `null` is the canonical "no arguments" document [default: null]
cancel
Cancel a workflow run, stop its in-flight activities and recursively cancel Running or Paused descendants.
aion cancel [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Workflow identifier
-
--reason <REASON> - Cancellation reason [default: "cancelled by aion"]
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest run when omitted
- A single ordinary activity has no public cancellation route. Single agent-attempt Cancel is available through HTTP intervention on an advertised liminal harness; it has no CLI command.
Workflow cancel stops the run’s in-flight activities and recursively cancels Running or Paused descendants. Declared run deadlines use the same cascade. For the narrower HTTP-only agent intervention, read activity control.
-
Workflow and descendants - crates/aion/src/engine/api_workflow_ops.rs:150–190 and lifecycle/cancel_cascade.rs:267–309 record the target cancellation and recursively cancel Running or Paused descendants. Each run uses its own recorder.
-
Deadline cascade - crates/aion/src/lifecycle/deadline.rs:173–190 starts the same descendant cascade after a declared run deadline.
-
Single agent intervention - crates/aion-server/src/api/http/router.rs:497–498 and api/http/intervene.rs:66–109 serve HTTP intervention. worker/intervention.rs:301–303 requires the worker’s advertised primitive.
-
Transport boundary - crates/aion-server/src/state/accessors.rs:229–239 selects liminal intervention transport. state/routing.rs:86–101 supplies an unreachable transport otherwise; an unreachable attempt returns StaleTarget. The CLI has no intervention command.
retire
Retire a workloop: run its declared `retire` body, record the retirement, and withdraw the loop from the cadence sweep.
aion retire [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Workloop identifier
-
--reason <REASON> - Reason recorded on the retirement, verbatim, in the loop's history [default: "retired by aion"]
reopen
Reopen a terminal-reopenable (Failed or Cancelled) run and re-drive it
aion reopen [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Workflow identifier
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest run when omitted
pause
Pause a running workflow, durably holding new activity dispatch
aion pause [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Workflow identifier
-
--reason <REASON> - Optional pause reason [default: ""]
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest run when omitted
resume
Resume a paused workflow, releasing the dispatch hold
aion resume [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Workflow identifier
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest run when omitted
list
List one page of workflow executions, newest start first. Pass the returned `next_cursor` as `--cursor` to read another page
aion list [OPTIONS] --limit <LIMIT> -
--status <STATUS> - Optional workflow status filter. Accepted values: running, completed, failed, cancelled, timed-out, continued-as-new, paused
-
--workflow-type <WORKFLOW_TYPE> - Exact workflow type to list, as with MCP `list_runs`
-
--limit <LIMIT> - Maximum rows in this page (required, non-zero)
-
--cursor <CURSOR> - The `next_cursor` of a previous page under the same filter
describe
Describe a workflow execution: summary facts, run identity, and the history head sequence. The full event history is `aion inspect`
aion describe [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Workflow identifier
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest run when omitted
-
--raw - Show raw payload byte arrays instead of decoded payloads
tail
Tail this run and its direct child legs as one interleaved transcript. A finished run replays and exits
aion tail [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Parent workflow identifier. Child identifiers are derived; do not supply them
-
--run-id <RUN_ID> - Specific parent run. Defaults to the latest recorded run
-
--http-endpoint <HTTP_ENDPOINT> - HTTP/WebSocket listener used by child and transcript APIs. May also be set with `AION_HTTP_ENDPOINT` [env: AION_HTTP_ENDPOINT=] [default: http://127.0.0.1:8080]
-
--no-follow - Print the retained transcript snapshot and exit instead of following live sockets
inspect
Time-travel over a recorded run's event-store oplog.
aion inspect [OPTIONS] <WORKFLOW_ID> -
<WORKFLOW_ID> - Workflow identifier
-
--run-id <RUN_ID> - Specific run identifier. Defaults to the latest recorded run
-
--from <FROM> - Fork the what-if re-run from this recorded event sequence
-
--mock <MOCK> - Mocked outcome JSON for the what-if fork (see the command help)
List returns one page; carry its cursor with the same filters to continue. Inspect what-if replay is read-only. Read a terminal run through its history.