opschain chains show
Included from Basic tier
opschain chains show <correlation-id> [flags]
Shows one chain as a causality tree, oldest first: a header with the root,
initiator, start time, object/event counts and total duration, then
depth-connected rows with relative time offsets (+4s, +2m10s).
The condensed view is the point of the command. Changes and workflow runs
render as objects whose status and duration are derived from the
chain's own lifecycle events (create/start/success/error and the other
api:… transitions) — those events fold into their object's row rather
than appearing as rows of their own. Everything informative stays: errors,
warnings, approvals, custom emissions and trigger firings each keep a row,
nested under the object that produced them, and a step failure keeps its
row even though it is a lifecycle event. Hops the login cannot read render
as dim (redacted) stubs carrying only kind, depth and timestamp.
Every failed object's row is followed by a ready-made log shortcut
(↳ opschain logs <id>).
Flags
| Flag | Meaning |
|---|---|
--full | Keep every event as its own row — the uncondensed view (object lifecycles are still derived). |
--errors-only | Only failed objects (error, system_error, aborted, cancelled) and error/warn events. |
--timing | Annotate every object with its duration, running ones included — without it a duration shows once the object has finished. |
--wide | Full ids and untrimmed node paths (default: ids cut to 13 characters, paths to their last 4 segments). |
--group-by <what> | Group objects under dim headings: stage (the spawning workflow stage — the default), env, asset, project, or none. |
With -o json / -o yaml the raw chain hops are emitted verbatim and no
tree is rendered, so every rendering flag is moot there.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Chain rendered. |
| 1 | The lookup failed — e.g. chain lookup answered 404 Not Found. |
| 2 | Usage error, including a missing server target. |
Named errors
chains need a server target — pass --server <url> or 'opschain context use <name>' (local mode has no chains)— exit 2.chain lookup answered <status>— any non-200 answer; exit 1.
Examples
opschain chains show 01999a7e-0b2c-7d31-a0f4-3e8b2c1d9e77
release:run · initiated by alice (user) · started 2026-10-11 00:00:00Z · 1 runs · 2 changes · 14 events
(then the tree: ├─/└─ connectors, one line per object or kept event).
Only the failures, with full ids for copy-paste:
opschain chains show 01999a7e-0b2c-7d31-a0f4-3e8b2c1d9e77 --errors-only --wide
See also
opschain docs cli/chains-triage— the opinionated failure digest.opschain docs cli/events— where the correlation id comes from.opschain learn 5.1— the guided triage flow.