Run history

What every run records — outcome, why it fired, and the full transcript of what an agent actually did.

Work that happens while you are away is the work you have the least reason to trust. So it is the work that has to be the most legible.

Every fire of every task is recorded — on the server, against your account, so the history covers every device you're signed in on. A task's runs are on its page, in the Runs history tab, the newest hundred.

What a run tells you#

Each run is one row: a dot in the colour of the outcome and what happened, how many tools it called and how many tokens it spent, when it started, how long it took, and why it fired.

Whether it worked. succeeded; failed (exit 1); timed out; cancelled; errored — with the message; skipped overlap when a previous run was still going; or skipped — with the reason the daemon refused to fire it — the server was unreachable, the project wasn't open.

How long it took. Or unknown, honestly: a run whose end was only inferred — inferred at restart or inferred from silence, not observed — has a last-seen time, not a finish time, and those show as unknown rather than as a number that looks precise and is invented.

Why it fired — and this is the one people do not expect. Every run records its own cause, as source · cause: trig · cron for a schedule, studio-events · event for an editor event, studio · manual for the button. A task that fired at a strange hour can be asked what started me, and it answers from the record rather than from inference.

When it started, in your own clock.

What it spent. The tools it called and the tokens it used, counted from what the run recorded. Hover the tokens for the split — in and out, what the cache served, how many model calls, and the cost.

Opening a run#

Click a run and it opens in the Runs Viewer tab. Open the tab directly and you are on the newest run.

An agent's run plays back in the chat window — the same one you talk to agents in. The prompt the task gave it is your message; then the agent's own words, a card for every tool it called with what went in and what came back, and its answer, in the order it happened. Not a log file, and not a summary: the same window that draws a live agent session, whether you are watching the run as it goes or opening it a week later. A run still going grows while you watch, a stretch at a time.

This is the promise from About applied to unattended work: you can see what the model actually did, not a summary of what it claims to have done.

The output — the end of what the run printed — is kept for every kind of task. It is what a shell task's run shows, and a run that printed nothing says No output captured.

Note

A conversation is an enrichment; the printed output is the guarantee. Shell tasks have no conversation to show, and a conversation can also be unavailable for other reasons. When there is none, the viewer simply shows the output. Absence here is normal, never an error.

Nothing, versus could not ask#

A small thing worth naming, because it is the difference between a tool you can reason with and one you cannot.

An empty run list and a run list that failed to load look identical if you are careless about it — both render as "no runs". Semantix treats them as different questions. No runs recorded yet means exactly that. If the history cannot be fetched, the panel says Run history unavailable and why — you're signed out, or the server is away. It will not show you a confident, empty, wrong history and let you conclude that your task has never fired.

The same instinct runs through the rest of the Task Manager: a fire the daemon refused is recorded as skipped with its reason rather than quietly dropped, and a duration that cannot be known is not invented.