bt evalis currently Unix-only (Linux/macOS). Windows support is planned.
Unix-like systems:
curl -fsSL https://github.com/braintrustdata/bt/releases/latest/download/bt-installer.sh | shWindows (PowerShell):
powershell -ExecutionPolicy Bypass -c "irm https://github.com/braintrustdata/bt/releases/latest/download/bt-installer.ps1 | iex"Unix-like systems:
curl -fsSL https://github.com/braintrustdata/bt/releases/download/canary/bt-installer.sh | shWindows (PowerShell):
powershell -ExecutionPolicy Bypass -c "irm https://github.com/braintrustdata/bt/releases/download/canary/bt-installer.ps1 | iex"Branch canary aliases are published as canary-<branch-slug>, where <branch-slug> is:
- lowercased branch name
- non-alphanumeric runs replaced with
- - leading/trailing
-removed - truncated to 40 chars
Example for branch feature/sql-v2: alias tag canary-feature-sql-v2.
Unix-like systems:
curl -fsSL https://github.com/braintrustdata/bt/releases/download/canary-<branch-slug>/bt-installer.sh | shWindows (PowerShell):
powershell -ExecutionPolicy Bypass -c "irm https://github.com/braintrustdata/bt/releases/download/canary-<branch-slug>/bt-installer.ps1 | iex"Exact canary builds are published as:
canary-<shortsha>formaincanary-<branch-slug>-<shortsha>for non-main branches
Use those tags in /releases/download/<tag>/... to pin an install.
bt --versionOn first install, open a new shell if bt is not found immediately.
For manual archive installs, verify checksums before extracting:
curl -fsSL -O "https://github.com/braintrustdata/bt/releases/download/<tag>/bt-<target>.tar.gz"
curl -fsSL -O "https://github.com/braintrustdata/bt/releases/download/<tag>/bt-<target>.tar.gz.sha256"
shasum -a 256 -c "bt-<target>.tar.gz.sha256"bt can self-update when installed via the official installer.
# install latest stable
bt self update
# check without installing
bt self update --check
# switch/update to latest mainline canary
bt self update --channel canaryIf bt was installed via another package manager (Homebrew, apt, choco, etc), use that package manager to update instead.
Unix-like systems:
rm -f "${CARGO_HOME:-$HOME/.cargo}/bin/bt"
rm -rf "$HOME/.config/bt"
hash -rWindows (PowerShell):
$cargoHome = if ($env:CARGO_HOME) { $env:CARGO_HOME } else { Join-Path $HOME ".cargo" }
Remove-Item -Force (Join-Path $cargoHome "bin\\bt.exe") -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force (Join-Path $env:APPDATA "bt") -ErrorAction SilentlyContinue- If
btis not found after install, start a new shell or add${CARGO_HOME:-$HOME/.cargo}/binto yourPATH. - If
bt self update --checkhits GitHub API limits in CI, setGITHUB_TOKENin the environment. - If your network blocks GitHub asset downloads, install from a machine with direct access or configure your proxy/firewall to allow
github.comandapi.github.com.
- By default,
bt evalauto-detects a JavaScript runner from your project (tsx,vite-node,ts-node, thents-node-esm). - You can also set a runner explicitly with
--runner:bt eval --runner vite-node tutorial.eval.tsbt eval --runner tsx tutorial.eval.ts
- You do not need to pass a full path for common runners;
btresolves localnode_modules/.binentries automatically. - If eval execution fails with ESM/top-level-await related errors, retry with:
bt eval --runner vite-node tutorial.eval.ts
- Open an interactive terminal trace viewer for a project:
bt -p <project-name> tracesbt traces --project-id <project-id>bt trace <braintrust-url>(alias that opens a trace URL directly)
- Optional flags:
--limit <N>: number of summary traces to load (default50)--preview-length <N>: preview length used in summary rows (default125)--url <braintrust-url>: open a Braintrust URL directly (r/s/tvtparsed)--print-queries: print each BTQL query and invoke payload before execution
- Controls:
- Trace table:
Up/Downto select,Enterto open trace,rto refresh - Search bar:
/to edit search text,Enterto apply,Escto cancel,Ctrl+uto clear input - Open URL:
Ctrl+kto paste a Braintrust URL,Enterto open,Escto cancel - Detail view:
ttoggles between span detail and thread view (project default preprocessor) - Split-pane focus:
Rightfocuses detail pane,Leftfocuses span tree - Span/detail nav: with tree focus
Up/Downselects spans; in span detail focusUp/Downscrolls (PgUp/PgDnalso scroll) - Thread blocks: in thread detail focus,
Up/Downselects messages andEnterexpands/collapses (collapsed by default) - Back:
BackspaceorEscreturns to trace table - Global:
qto quit
- Trace table:
- Add richer channel controls for self-update (for example pinned/branch canary selection).
- Expand release verification and smoke tests for installer flows across more architectures/environments.
- Add
bt evalsupport on Windows (today,bt evalis Unix-only due to Unix socket usage). - Add signed artifact verification guidance (signature flow) in install and upgrade docs.