Skip to main content

Runtime logs

Recorded workflow runs keep state and output together under one run directory:

.loom/.runtime/runs/<run_id>/state.jsonl
.loom/.runtime/runs/<run_id>/events.jsonl

State records follow workflow, job, step and command transitions. Event records carry messages and stdout/stderr alongside the same context. Both files contain one JSON object per line and can be inspected directly.

Use loom runs to discover saved IDs by recorded start, workflow and status, then choose one explicitly. - means unavailable; a pending/running row is recorded state, not proof a process is alive. Corrupt or unreadable candidate state files fail discovery rather than hiding a run.

Use loom logs <run_id> --state to locate a failure and loom logs <run_id> --tail 30 to inspect recent output. MCP clients use loom_list_runs, then loom_read_run and loom_read_events for the chosen ID.

See the runtime logs contract for fields, ordering and interrupted-record handling.