Logs and Inspection

Logs answer “what happened?” Inspection answers “what is happening now?” WOML provides both in the terminal so operating a workflow does not require a separate browser dashboard.

Follow one run

Terminal
woml <runId> --logs

This prints the matching historical records and follows new ones until you press Ctrl+C. It is useful for a failed or waiting run because its output is not mixed with unrelated workflow activity.

Follow every run of a workflow

Terminal
woml <workflowId> --logs

When the runtime is in background mode, this recreates the familiar live workflow view. New run IDs appear with their steps, timings, lifecycle hooks, and actionable failures.

Ctrl+C exits the viewer without stopping automation.

Inspect runtime health

Terminal
woml inspect

inspect is WOML's colored htop-like terminal view. It shows runtime health, active workflows, recent runs, queues, waits, loop progress, and failures. It does not open a browser dashboard.

Use it to answer operational questions quickly:

  • Is the runtime alive and accepting triggers?
  • Which workflows are active?
  • Are runs queued by concurrency or rate limits?
  • Which approvals are waiting?
  • Is a for-each progressing or failing at one item?
  • Are provider or workflow-call failures increasing?

Inspection is a redacted projection. It intentionally avoids turning the terminal into a store of payloads, credentials, request bodies, SQL values, or stack traces.

Choose text or JSON

The interactive view is best for people. For scripts and external monitoring, use command-specific --json output and Prometheus metrics rather than scraping ANSI terminal text.

Use --state when the target does not use the default .woml/state.sqlite.