Observability / Pro
pi-tracer
Captures every byte that crosses the wire between Pi and your LLM provider - raw HTTP headers, request body, and the literal SSE stream. One artifact set per LLM call, written under your home directory.
What it does.
- Three files per call: request (URL, method, headers, body), response (status, headers, raw body or SSE lines), and metadata (usage, timing, stop reason).
- API keys redacted before being written to disk.
- Enabled by default - toggle per session or persist in config.
- Artifacts live under ~/.pi/agent/pi-tracer/, outside any project repo - no .gitignore needed.

local tracer, lightweight but efficient
Put it to work.
Use the Pro archive from your purchase. The Pro or Team bundle includes its Pi extensions. An individual module archive uses the same installer.
Choose a file to build your exact command.
Run this command from the folder containing the archive. Selecting a file here does not install or execute anything.
Activate your license with /bastille-license refresh inside Pi. Activation and periodic entitlement validation contact Polar. Your workload is not uploaded to Bastille-C3.
Full installation & activation guide →In use.
Inside Pi
/trace-togglePersist via ~/.pi/agent/extensions/pi-tracer.json with { "enabled": false } - takes effect on the next Pi session. /trace-toggle affects only the current session. Inspect artifacts with jq.
Worth knowing.
- To disable header redaction for auth debugging, set redact_headers: false in the config.
- Requires a valid Polar license.
Remove this module
Uninstall this extension
pi uninstall npm:@bastilleworks/pi-tracerRemoving an extension does not cancel your subscription. Manage renewal separately.
On the same ground