Weights & Biases runs
Shows your active Weights & Biases runs in the Paseo sidebar and charts them in a tab beside the agent that started them.
Shows your active Weights & Biases runs in the Paseo sidebar and charts each run in a tab of the workspace whose agent started it.
A sidebar footer row shows how many runs are running, with a status dot: green while they are healthy; amber when a running run has not sent a heartbeat for five minutes, or still heartbeats but has logged no new step for ten minutes (or five of its own step times, if longer); red when a running run logs NaN or infinite metrics, when a run crashed or failed in the last half hour, or when W&B cannot be reached. It refreshes every 30 seconds. A toast appears when a run starts, finishes, crashes, fails, stops logging, or logs a NaN.
Pressing the row opens a popover listing runs that are running or ended in the last six hours. Each card shows the run's name, project, group, host, state, a headline metric with a sparkline of its recent values, the workspace and Claude Code session that started it, and for live runs a progress bar with steps per minute and time left (when the config names a total such as total_steps, max_steps, steps, or epochs), current GPU utilization and memory, and any problems. Stop asks W&B to stop the run after a second, confirming press, as the Stop button on W&B does: the wandb library interrupts the training script on its next check, and the run ends as killed. Charts opens a W&B tab next to that workspace's terminals. The Command Center has "Show W&B runs from this workspace" and "Show all W&B runs".
Charts and comparison
The W&B tab lists every run started from that workspace as a chip with a state dot; tick up to 24 to overlay them. The first eight get their own colors with solid lines, the next eight reuse those colors dashed, and the last eight dotted, so every line stays distinct; pressing a legend entry highlights that run and fades the others. Picked runs that are still live get a status strip with progress, time left, GPU use, problems, Stop, and Logs. "Compare with…" adds runs from any project, such as a baseline. The Details screen does the same for all your runs: pick a project, search by name, ID, group, or job type, filter by state and by config or summary values (config.lr > 1e-4, summary.loss < 0.9, config.arch ~ resnet), sort by any config or summary key, and tick runs to compare.
Charts follow W&B's workspace: one chart per numeric metric, sectioned by prefix, plus GPU, CPU, and memory. Controls set smoothing (exponential moving average with faint raw lines), the x axis (step, relative time, or wall time), log scale, and a metric filter. Group by the run group, job type, or any config key that differs between the picked runs to draw each group's mean with its minimum and maximum. Show "last 100" or "last 15m" to follow the newest data with the y axis scaled to it, and turn on "Ignore outliers" to scale to the 5th–95th percentile so early spikes do not flatten the rest. Hovering, or pressing and dragging on touch screens, shows every line's value at that point. The Logs view shows the run's last 400 console lines and follows new output; "Only errors and warnings" keeps warnings, errors, NaN messages, and whole tracebacks. The compare table puts config and summary values side by side, optionally only the rows that differ. Running runs refresh every 15 seconds.
Media
The Media view shows what a run logged besides scalar metrics. Images appear in a grid with their captions, with a step slider when they were logged more than once and a full-size viewer. Tables can be sorted by any column and filtered, with image cells as thumbnails, up to 2,000 rows. Custom charts from wandb.plot (bar, line, scatter, histogram, and PR or ROC curves) are drawn from their tables with the chart's field mapping; other presets show their table. Histograms are drawn per step. Video, audio, HTML, and 3D objects link to the run in W&B. The daemon fetches media files and sends them to the app as data, up to 8 MB per image and 10 MB per table, so storage links and the API key stay on the daemon.
Reports
"Open W&B reports in this workspace" in the Command Center opens a W&B reports tab, and the popover's Reports link opens the same list as a screen. It lists the reports in all your projects, newest first, with search. A report opens beside the list and is drawn natively: text, headings, lists, code, Markdown, callouts, and quotes through Paseo's Markdown renderer, and each panel grid with its run sets resolved from the report's own filters, search, selections, sorting, and grouping. Line plots (with the report's x axis, including a custom x metric, smoothing, log scale, and grouping), scalar charts, bar charts, scatter plots, parallel coordinates, run comparers, and Markdown panels are drawn here and refresh while their runs are live. Media, tables, Weave, custom, and parameter-importance panels are listed with a link to the report in W&B; in the desktop app, "Open full report in a tab" opens the W&B page in a workspace browser tab. Line plots draw up to 12 runs, colored by run set when a grid has several, and each run set shows up to 25 runs.
Scripts that log remote jobs
Some scripts relay a remote job's results to W&B by opening a run, logging, and finishing it each time new results arrive, so W&B shows those runs finished while the job goes on. The plugin counts them as updating, and in the sidebar's count, while the script that wrote them is still running in a Paseo terminal, or, for runs resumed in short sessions elsewhere, for 15 minutes after their last update. The popover's Local scripts section lists the W&B-logging Python scripts that Paseo terminals and agents started on this host, with their workspace and how many runs they have logged, including scripts still waiting for their first result. A script counts when its source imports wandb or uses a W&B integration (such as Lightning's WandbLogger or report_to="wandb"), or once wandb has started its service; launchers that run one process per GPU show as one entry. Large sets of finished or updating runs from one job type collapse into one card that opens them together.
How runs are traced to a workspace
Paseo terminals export PASEO_WORKSPACE_ID and PASEO_TERMINAL_ID, Paseo agents export PASEO_AGENT_ID, and anything an agent starts inherits them; an agent's run is shown with that agent's workspace and title. For runs on the daemon machine, the daemon finds the process holding the run's wandb/run-* directory open and reads those variables, which is exact. Runs started elsewhere, for example over SSH on a GPU host, are traced when the run's URL, run directory, or WANDB_RUN_ID appears in a Claude Code transcript within 30 minutes of the run starting; wandb prints the URL when a run starts, so the session that launched it usually sees it. A local script's runs are also traced through the run directories it writes, matched to it by the process ID wandb records in each run's debug log, so several scripts can share a directory. Runs that none of these methods explain are still listed and charted, just not tied to a workspace. Links are saved in ~/.local/state/paseo-wandb/links.json for 30 days.
Setup
The daemon reads the API key that wandb login stores in ~/.netrc, or the WANDB_API_KEY environment variable of the daemon. For W&B Server, it uses WANDB_BASE_URL or the base_url that wandb login --host writes. Runs from your default entity, your personal entity, and your teams are listed, from each one's 100 most recently active projects. Process tracing needs Linux; transcript tracing reads ~/.claude (or CLAUDE_CONFIG_DIR).
What it reads and sends
The daemon queries the W&B GraphQL API for your projects, runs with their config and summary, sampled metric history, system metrics, console output, reports, and the media files of runs you open in the Media view, and sends W&B's stop request when you confirm Stop. It reads /proc for local Python processes, their command lines, and their Paseo variables, the first 256 KB of the scripts they run to tell whether they use wandb, their wandb run directories, ~/.claude/sessions for session names, and recent Claude Code transcripts when a run is not otherwise explained. The key and transcripts stay on the daemon; the app receives only run summaries and chart points. Apart from Stop, the plugin does not change runs.
Up to 48 metrics per run are charted, each sampled to 300 points; open the run in W&B for the rest.


