Logs

sim logs is also spelled sim log.

Every command below also accepts the global options.

Show run diagnostics

sim logs get <runId> [options]

Arguments

ArgumentRequiredDescription
runIdYesUnique workflow run identifier.

Options

OptionRequiredDescription
--traceNoShow expanded trace spans with inputs, outputs, errors, timing, and cost.

Summarize run counts, failures and latency over a window

sim logs stats [options]

Options

OptionRequiredDescription
--workflow <value...>NoComma-separated workflow identifiers to include. At most 200 entries. An empty entry is rejected. (space-separated, or @path / @- with one value per line; @@value for a literal leading @).
--folder <value...>NoFolder path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @).
--trigger <value...>NoComma-separated trigger types to include. An empty entry is rejected. The vocabulary is open, so an unrecognized member selects no runs; the literal all disables this filter. (space-separated, or @path / @- with one value per line; @@value for a literal leading @).
--level <value>NoSeverity level to include. Accepted values: info, error.
--start-date <value>NoOnly include runs started at or after this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant.
--end-date <value>NoOnly include runs started at or before this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant.
--segment-count <value>NoNumber of equal time buckets to divide the window into, from 1 to 500. Exactly this many buckets are always returned. Buckets are never narrower than one minute, so on a short window the series extends past the end of the window rather than being compressed, and the trailing buckets are empty.

List logs

sim logs list [options]

Options

OptionRequiredDescription
--workflow <value...>NoComma-separated workflow identifiers to include. An empty entry is rejected. At most 200 entries. (space-separated, or @path / @- with one value per line; @@value for a literal leading @).
--trigger <value...>NoComma-separated trigger types to include. An empty entry is rejected. Values are matched exactly and are case-sensitive — every recorded trigger is lowercase, so API matches nothing while api matches. The vocabulary is open: it covers the core trigger types (manual, api, schedule, chat, webhook, mcp, copilot, workflow, custom_block) and the provider id of any webhook trigger (slack, gmail, github, …), so an unrecognized member is not rejected — it selects no runs. The literal value all is a sentinel that disables this filter entirely, so a list containing it returns runs of every trigger type; no real trigger type is named all. At most 100 entries. (space-separated, or @path / @- with one value per line; @@value for a literal leading @).
--level <value>NoSeverity level to include. Accepted values: info, error.
--start-date <value>NoOnly include runs started at or after this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant.
--end-date <value>NoOnly include runs started at or before this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant.
--min-duration-ms <value>NoMinimum total execution duration in milliseconds. Whole milliseconds from 0 to 2147483647; the stored duration is a 32-bit integer, so a fractional or out-of-range bound is rejected.
--max-duration-ms <value>NoMaximum total execution duration in milliseconds. Whole milliseconds from 0 to 2147483647; the stored duration is a 32-bit integer, so a fractional or out-of-range bound is rejected.
--min-cost <value>NoMinimum execution cost in USD, from 0 to 1000000. A run is never charged a negative amount, so a negative bound is rejected rather than treated as a filter that matches every run.
--max-cost <value>NoMaximum execution cost in USD, from 0 to 1000000. A run is never charged a negative amount, so a negative bound is rejected rather than treated as a filter that matches every run.
--model <value>NoAI model used during execution.
--details <value>NoResponse detail level; full is requested by default to name each run’s workflow. Accepted values: basic, full.
--include-trace-spansNoInclude trace spans in JSON or YAML output (implies full detail).
--include-final-outputNoInclude final output in JSON or YAML output (implies full detail).
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.
--status <value>NoComma-separated execution statuses to include, from pending | running | paused | redacting | completed | failed | cancelled. An empty entry is rejected. ANDed with level, which reports severity rather than lifecycle.
--workflow-name <value>NoCase-insensitive substring match against the run's workflow name. Runs whose workflow has been deleted match nothing, because the name is no longer joinable.
--include-job-runsNoWhether Chat and Sim-agent job runs join the sequence alongside workflow runs. Job runs report kind: "job", carry no workflow summary, and never carry a cost ledger. They are dropped entirely — not partially matched — whenever a filter they cannot answer is set: by workflow, workflow name, folder, model, or status. A filter therefore never means two different things across the union. Accepted only when sorting by startedAt: job runs record cost as a document and no comparable status, so they cannot participate in the other orderings.
--no-include-job-runsNoSend --include-job-runs as false.
--run-id <value>NoExact run identifier to match.
--sort-by <value>NoField used to sort the result. durationMs and cost are null until a run settles; those runs order as though the value were below every recorded one, so they trail an ascending page and lead a descending one. Only startedAt can order Chat and Sim-agent job runs, so any other value is rejected when job runs are included. Accepted values: startedAt, durationMs, cost, status.
--sort-order <value>NoSort direction. Accepted values: asc, desc.
--folder <value...>NoFolder path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @).

Watch runs as they arrive, printing each new run once

sim logs follow [options]

Options

OptionRequiredDescription
--workflow <id>NoOnly follow runs of this workflow (repeatable).
--folder <path>NoOnly follow runs of workflows in this folder (repeatable).
--trigger <type>NoOnly follow runs with this trigger type (repeatable).
--level <level>NoOnly follow runs at this severity. Accepted values: info, error.
--details <level>NoResponse detail level; full names each run’s workflow. Accepted values: basic, full. Defaults to full.
-n, --lines <count>NoRecent runs to print before watching. Defaults to 10.
--interval <seconds>NoSeconds between polls. Defaults to 3.

On this page