base44 workflows runs
List workflow runs for this app, newest first. This is the fastest way to answer “did my scheduled work fail, and why” — each failed run carries the task that failed and the underlying error.Syntax
--app-id <id> or set BASE44_APP_ID.
Options
Examples
Output
Each run shows its start time, status, workflow name, trigger type, and duration. Failed and cancelled runs also show the error:--json, each run is a record: runId, workflowId, workflowName, triggerType, status, startedAt, completedAt, durationMs, stepsCount, errorMessage, isTestRun, statusReason.
Notes
- Trigger types:
scheduled(cron),entity,connector,in_app_agent,app_user_auth,app_publish,app_payment,webhook,goal_file— plusmanual, which is what a run is stamped with when it was dispatched without a trigger type at all (a “run now” typically lands here). - Test runs are included. Runs fired via “run now” (including the dashboard’s test button) carry a
testtag appended to the trigger type in the output (e.g.(scheduled, test)) andisTestRun: truein JSON. If you just created a workflow and fired it to verify, your run WILL appear — marked as a test run. - A failed run’s
errorMessagenames the failing task and, when a backend function was the cause, includes the function’s HTTP failure. To dig further into that function’s own logs, usebase44 logs --function <name>— and remember function logs can take ~30s to appear. --limittops out at 200 and there is no paging flag, so a busy app’s older runs cannot be reached from the CLI. Narrow with--sinceand--statusrather than assuming a full page is the whole history.statusReasonis a typed reason populated only for failed/cancelled runs (e.g.insufficient_credits); read it together withstatus.- Apps that predate Workflows (legacy automations) are not readable via this command; it fails with an explanation rather than returning an empty list.
- An empty result tells you whether the app has no workflows at all, or has workflows but no matching runs — read the message, don’t assume.