What gets saved
Every run — regardless of outcome — persists aWorkflowRun record with:
- Status — Completed / Cancelled / Failed / Needs Review.
- Duration — total wall-clock time.
- Steps — the full trace (labels, phases, details).
- Findings — what Claude reported at the approval gate.
- Actions taken — every action node that fired, with its outcome.
- Usage — token counts (input / output / cache read / cache create).
- Error — for failed / cancelled runs, the reason.
Where it lives
Server-side, per-user JSON atdata/workflowRuns/{userId}.json. Cross-device — sign in on your phone and you see the same history.
Client-side, a local cache mirrors the server for fast reads. The client hydrates from /api/workflow/runs on mount.
Migrated from localStorage
Earlier versions of Xura stored runs in localStorage (per-browser). On first load of a signed-in session, Xura bulk-migrates the local runs to the server via/api/workflow/runs/bulk and marks the migration complete. Old browsers with stale caches get migrated on next visit.
Deep-linking
Files → workflow run card → View run — opens the run history and auto-expands the specific run card. Uses?flow=<runId> on the Workflows page to scroll and expand.
Retention
Capped at 50 most recent runs per user. Oldest are dropped as new ones come in.What you can do with a past run
- Expand the card to see the full trace, findings, actions taken.
- Mark as reviewed (for
pending-reviewruns). - Remove — deletes the record from both server and client cache.
