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 time buckets, up to 500. Exactly this many are returned, each at least one minute wide. Short windows extend past the requested end and include empty trailing buckets.

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, lowercase trigger types or webhook provider IDs. Matching is exact and case-sensitive; unknown values select no runs. An empty entry is rejected. The sentinel all disables this filter, even when listed with other values. 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.
--cursor <value>NoContinue from nextCursor returned by a previous result.
--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-runsNoInclude Chat and Sim-agent jobs alongside workflow runs. Jobs use kind: "job" and have no workflow or cost ledger. Workflow, folder, model, or status filters exclude jobs. This option is valid only when sorting by startedAt.
--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 sort before recorded values in ascending order and after them in descending order. 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.