Promptfoopromptfoo 0.124.1 · Node 24 · Python 3
Dashboard
0%
1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
33 small wins to finish your pathNext lesson →

Sharing, self-hosting and tracing

promptfoo share turns a kept run into a link, promptfoo view can run as a server your team reaches, and tracing sends timing to an OpenTelemetry collector: three ways a run leaves your own terminal.

Last updated: 15 Oct, 2026 · Promptfoo 0.124.1

The runs so far stayed on one machine, listed and reopened locally. Three features send them further: a shared link, a self-hosted web view and a trace. Each needs an account, a running server or a collector, so this lesson names what they do and what each one needs rather than standing one up here.

promptfoo share uploads a kept eval and returns a URL. Reading its help shows two facts worth knowing before you run it: shares are private by default now, and the old -y flag no longer does anything. The help text is keyless and offline, so it is the one command here that runs.

Examplewhat promptfoo share does, and that shares are now private
promptfoo share --help
  • Shares are private by default. A shared link is no longer public the moment it is made; it is tied to your account.
  • -y does nothing. The flag is kept for old scripts but has no effect, because there is no longer a public-share prompt to skip.
  • It defaults to the most recent run. With no id, share uploads the last eval or model audit you ran.

Self-hosting the web view

promptfoo view starts the browser view on port 15500. Run on a server your team can reach rather than on your laptop, it becomes a shared dashboard of every kept run. It is a long-lived server, so it is shown here, not run.

bash
# run the web UI as a long-lived server others can reach
promptfoo view --port 15500

Tracing with OpenTelemetry

Promptfoo can emit OpenTelemetry traces of a run, the timing of each call, to a collector you point it at with an environment variable. It needs a running collector to receive them, so this is shown as the shape of it rather than run.

bash
# point promptfoo at an OpenTelemetry collector you run
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
promptfoo eval

What each one needs

FeatureWhat it doesWhat it needs
promptfoo shareUploads a run and returns a private linkAn account to tie the link to
promptfoo view on a serverServes the browser view to a teamA host others can reach
TracingEmits per-call timing as OpenTelemetryA collector to receive the traces
Watch out. A shared link is private by default now, not public, so a teammate without access to your account cannot open it. Passing -y to force a public share does nothing; the flag is kept only so old scripts do not break.

Where these help

  • A link in a pull request, where a reviewer opens the run instead of reading pasted terminal text.
  • A team dashboard, where a self-hosted view holds every run in one place others can reach.
  • A latency investigation, where traces show which call in a run was the slow one.
Try it yourself
  • Run promptfoo share --help and read the line that says shares are private by default.
  • Start promptfoo view on your own machine and open the browser view it prints.
  • Run promptfoo view --help and find the flag that skips the open-in-browser prompt.

Slow is fine. Stopping is the only problem.