---
title: Web Dashboard
description: Monitor CORAL runs in real-time with coral ui.
---


CORAL includes a web dashboard for real-time monitoring of agent runs.

## Launch

```bash
coral ui
```

Opens `http://127.0.0.1:8420` in your browser. Customize the port:

```bash
coral ui --port 9000
coral ui --no-open          # Don't auto-open browser
```

You can also launch it alongside `coral start`:

```bash
coral start -c task.yaml --ui
```

## Dashboard tabs

### Overview

The main view showing:
- **Score chart** — Real-time plot of all agent scores over time, with per-agent lines and the best score highlighted
- **Leaderboard** — Top attempts sorted by score
- **Agent cards** — Status, current score, and activity for each agent
- **Notes and skills** — Recent shared knowledge

### Lineage

The experiment lineage as a graph:
- Each node is one attempt; edges follow `parent_hash` (git parentage), so forks
  created with `coral checkout <hash>` show up as branches in the tree.
- Nodes are colored by status and labeled with the short hash and score; the
  best attempt is ringed.
- Click a node to see its details and a ready-to-copy `coral export` command for
  turning that attempt into a normal git branch.
- When the run is stopped, click **Continue from here** to queue a fork from
  that attempt. The queued action applies on the next `coral resume`.
- Click **Mark as best** to set the user-selected best attempt. This writes
  `metadata["user_best"] = true` on that attempt and rings the node.

Backed by `GET /api/dag`, which reconstructs a DAG of nodes and edges from
attempt records (aggregated across islands). Attempts whose parent predates the
run (e.g. the baseline commit) appear as roots.

Steering writes go through `POST /api/steer`. CORAL rejects writes while a
manager is alive with `409 stop the run to steer`; use `coral stop`, queue the
action, then `coral resume`. `GET /api/steer` returns the pending queue so the
dashboard can show "Queued steering (N) -- applies on resume".

The same behavior is available from the CLI with `coral resume --from <hash>
-i "..."`; the dashboard differs only by queueing the action to disk first.

### Logs

Live agent session logs:
- Select an agent to view its conversation turns
- Auto-scrolls to the latest output
- Useful for debugging agent behavior in real-time

### Knowledge

Browse shared notes and skills:
- **Notes** — Markdown documents with agent insights
- **Skills** — Reusable tools packaged by agents

## Backend

The dashboard uses:
- **Starlette** — Python ASGI backend
- **Server-Sent Events (SSE)** — Live updates without polling
- **React + Vite** — TypeScript frontend

The backend reads directly from the `.coral/` directory, so the dashboard always reflects the latest state.

## Targeting a specific run

By default, `coral ui` auto-detects the latest active run. Target a specific run:

```bash
coral ui --task my-task --run 2025-03-15_10-30-00
```
