# Run console with recovery

List every run, steer the ones in flight, and say what to do about the ones that stopped.

For: The people who run agents day to day.

Web page: https://candor.themethodic.com/screens/run-console

## Layouts

### List and run detail

Pick it when: The default: a table of runs and the selected one's detail.

Layout: A run list on the left; on the right the selected run's log, state and a steer box.

Items:

- **Run log** (`run-log`, Pro; https://candor.themethodic.com/docs/run-log.md): Every run, one line each, filterable to failures.
- **Run recovery** (`run-recovery`, Pro; https://candor.themethodic.com/docs/run-recovery.md): A run that stopped, and what the person can do next.
- **Steer composer** (`steer-composer`, Pro; https://candor.themethodic.com/docs/steer-composer.md): Send a message into a run, and see whether the agent has picked it up yet.
- **Log stream** (`log-stream`, Pro; https://candor.themethodic.com/docs/log-stream.md): The live log.
- **Agent screen** (`agent-screen`, Pro; https://candor.themethodic.com/docs/agent-screen.md): A computer-use or browser run's screen, saying who has control, with Take over and Hand back.

```bash
npx candor-ui add run-log run-recovery steer-composer log-stream agent-screen
```

### Chat starts runs, console beside

Pick it when: Runs start from a conversation, and the person wants to watch them without leaving it.

Layout: A thread on the left; a column of running tasks and their states on the right.

Items:

- **Task tray** (`task-tray`, Pro; https://candor.themethodic.com/docs/task-tray.md): Background work as one pill: how many are running and how many need you.
- **Agent activity** (`agent-activity`, Pro; https://candor.themethodic.com/docs/agent-activity.md): Who is working right now, in words.
- **Run log** (`run-log`, Pro; https://candor.themethodic.com/docs/run-log.md): The runs the chat started.

```bash
npx candor-ui add task-tray agent-activity run-log
```

### A stopped run

Pick it when: A run failed, was cancelled or went quiet: the page leads with what can be done.

Layout: A recovery card with the reason and three choices, above the last lines of the log.

Items:

- **Run recovery** (`run-recovery`, Pro; https://candor.themethodic.com/docs/run-recovery.md): Why it stopped and the options: resume, retry, or leave it.
- **Run heartbeat** (`run-heartbeat`, Pro; https://candor.themethodic.com/docs/run-heartbeat.md): Past a threshold, "No update since 10:42".
- **Log stream** (`log-stream`, Pro; https://candor.themethodic.com/docs/log-stream.md): The last lines, with gaps marked.

```bash
npx candor-ui add run-recovery run-heartbeat log-stream
```

## Rules that matter most here

- **Unknown stays unknown** (https://candor.themethodic.com/principles#unknown-stays-unknown): A silent run is "no update since", never "running"; a steer message is "sent" until the agent has picked it up.
- **Say what can and can't be undone** (https://candor.themethodic.com/principles#say-what-can-be-undone): Resuming or retrying says what the run already did and won't repeat.
- **Nothing is pre-selected in a decision** (https://candor.themethodic.com/principles#nothing-preselected): Resume, retry and leave it are all offered and none is the default.

## Patterns that cover part of it

- Agent trace viewer for React: https://candor.themethodic.com/patterns/agent-trace-viewer.md
- Show a computer-use or browser agent's screen: https://candor.themethodic.com/patterns/agent-screen-stream.md

A full-stack block builds this with an agent route and a store: `run-console` (https://candor.themethodic.com/docs/run-console.md). Each block has a `-claude` twin for the Claude Agent SDK.

## Brief for a coding agent

Paste this to the agent that builds the screen.

```text
Build a run console with Candor UI. Start from the run-console block (run-console-claude for the Claude Agent SDK): an agent starts and steers runs from the chat, and a console lists every run with its log, trace and receipt.
List runs with RunLog; open one to show its LogStream, TraceViewer and RunReceipt.
RunHeartbeat shows "No update since <time>" past a threshold; it never calls a silent run alive.
A stopped run shows RunRecovery: why it stopped and what the person can do, with no option pre-selected.
SteerComposer sends a message into a run and shows whether the agent has picked it up yet, never as "read" before it is.
Say what a retry or resume repeats and what it skips.
Show background work as a TaskTray in the shell.

Start from the "List and run detail" layout: A run list on the left; on the right the selected run's log, state and a steer box.
Candor items: run-log (https://candor.themethodic.com/docs/run-log.md), run-recovery (https://candor.themethodic.com/docs/run-recovery.md), steer-composer (https://candor.themethodic.com/docs/steer-composer.md), log-stream (https://candor.themethodic.com/docs/log-stream.md), agent-screen (https://candor.themethodic.com/docs/agent-screen.md).
Install: npx candor-ui add run-log run-recovery steer-composer log-stream agent-screen
Read each item's docs before using it and take its props from there; don't guess them. Pro and Premium items need the person's licence key, which they add with `npx candor-ui key <key>`; don't ask for it.
```
