Record every LLM call, tool invocation, and error your agents make — replay it step-by-step like a video, fork from any decision point, and prove the fix.
Retrace turns every AI-agent run into a recorded, replayable, forkable artifact — so engineering teams can see exactly what happened in production, reproduce it on demand, and branch from any step to test a fix.
Add one wrapper to your agent. From then on every model call, tool call, retrieval, and error is captured as a span inside a trace. Open the dashboard and that run becomes an interactive timeline you can scrub through, fork, and re-execute.
Record → Replay → Fork → Prove — the loop AI engineers actually live in: something broke → find the exact step → change one thing → prove the fix → ship it.
- Record — one wrapper captures the full execution tree; no manual logging.
- Replay — step through a past run, or re-run it live to see what changed.
- Fork & cascade-replay — branch at any span, change the input, and the whole agent re-executes down the new path.
- Prove the fix — re-run a failed trace and get a verdict: improved, regressed, or unchanged.
- Detect failures — hallucinations, loops, goal drift, context loss, and schema violations, flagged automatically.
- Control spend — circuit breakers and budget ceilings stop a runaway agent before the next expensive call.
- Govern — PII redaction, prompt-injection scanning, and audit logs.
- Share — publish any run as an interactive, public "tape."
| Product | Where |
|---|---|
| 🌐 Platform — record, replay, fork, detections & analytics | retraceai.tech |
| 📚 Documentation — guides, SDK & API reference | docs.retraceai.tech |
| ⌨️ CLI — drive Retrace from your terminal | cli.retraceai.tech · homebrew-tap |
| 🧩 SDKs — Python & TypeScript | retrace-sdk |
# Python
pip install retrace
# TypeScript
npm install retrace-sdk
# CLI (macOS, Linux, WSL)
brew tap retraceai-tech/homebrew-tap
brew trust retraceai-tech/tap
brew install retrace-cliimport retrace
retrace.configure(api_key="rt_...")
@retrace.record(name="research-agent", resumable=True)
def run_agent(prompt: str):
plan = call_planner(prompt) # captured automatically
results = call_tools(plan) # captured automatically
return summarize(results)
Get started → · Read the docs → · Try the CLI →
Built for the AI engineering loop: find the step, change one thing, prove the fix.
Website • Documentation • CLI • GitHub • X • Contact • Privacy • Terms© 2026 Retrace · The execution replay engine for AI agents · Made for AI engineers.