Supported combination: platform 2026.10.1rc17 · tooling 2026.10.1rc17.
Run and recover

Monitor Runs

Follow execution and inspect the evidence for each step and attempt.

Follow current execution

Use your Run ID in place of 42:

Terminal
pyplines run list --environment production
pyplines run status 42 --watch
pyplines run info 42

status summarizes progress; info includes available inputs, outputs, images, errors, and invocation details. Global --json goes before the command: pyplines --json run info 42.

Understand the Run state

StateMeaning and next action
preparingThe server is resolving inputs and checking requirements.
awaiting_approvalA prepared step needs eligible approvals. Inspect it before approving.
queuedWork is waiting for the Environment, runner connectivity, capacity, or container startup. Read the diagnostic.
runningContainer execution has been observed.
blockedA step cannot proceed, including after an Action failure. Investigate before recovery.
uncertainThe server cannot establish that execution has stopped. Restore the owning runner's connectivity.
cancellingStop has been requested but execution has not yet settled.
cancelledThe Run has stopped. Prior external effects remain.
succeededThe workflow has completed successfully.

Only cancelled and succeeded are terminal. A failed Action blocks its Run; the overall Run does not use a separate failed terminal state.

Run duration includes waiting and approvals. Step duration measures the latest attempt's observed container execution. Unknown historical timing displays -.

Inspect attempts, history, and logs

Terminal
pyplines run attempts 42
pyplines run history 42
pyplines run logs 42 inspect
# Replace INVOCATION_ID with an invocation from the attempts response.
pyplines run logs 42 inspect --attempt INVOCATION_ID

Use the actual step name in place of inspect. Attempts retain invocation identity, runner, outcome, exit code, and timing. History records events and decisions. After a retry, select the earlier invocation to investigate its output.

Logs are bounded and may be truncated. Private steps suppress logs and withhold results from ordinary reads. Use attempt state and recorded errors to distinguish a private result from missing execution.

When a Run is waiting

Read the Run diagnostic first. One Environment executes one Run's attempt at a time, so another Run may legitimately hold its execution slot. An administrator can use pyplines runner list to inspect connectivity and admission. After a server restart, connectivity is unknown until the next runner heartbeat.

A CLI wait timeout does not cancel execution. Reconnect with run status ID --watch rather than starting duplicate work. Continue with approvals, recovery, or troubleshooting.