The debugger for AI agents — add 2 lines, replay every run, get the plain-English root cause and exact fix in 30 seconds.
Project description
vorlo-trace
The debugger for AI agents. Add 2 lines of code to see exactly which step of your agent failed, the plain-English root cause, and the exact fix — in 30 seconds.
Works with LangChain and the OpenAI Agents SDK.
Quick Start
pip install vorlo-trace
LangChain
import vorlo_trace
from langchain.agents import create_tool_calling_agent, AgentExecutor
# 1. Initialize Vorlo (or set VORLO_API_KEY env var)
vorlo_trace.init(api_key="vrlo_your_key_here", agent_name="my-agent")
# 2. Add the handler to your agent
handler = vorlo_trace.get_handler()
result = agent_executor.invoke(
{"input": "Check my latest emails"},
config={"callbacks": [handler]}
)
OpenAI Agents SDK
import vorlo_trace
from agents import Agent, Runner
# 1. Initialize Vorlo (or set VORLO_API_KEY env var)
vorlo_trace.init(api_key="vrlo_your_key_here", agent_name="my-agent")
# 2. Instrument once — every Runner.run() is traced from here on
vorlo_trace.instrument_openai_agents()
result = await Runner.run(agent, "Check my latest emails")
Tool calls, handoffs between agents, and triggered guardrails all appear as numbered steps — failures carry a plain-English diagnosis and fix.
That's it. Open vorlo.dev to see every step your agent took, with:
- Step Replay — chronological view of every tool call
- Root Cause — plain English explanation, not raw HTTP errors
- Fix Hints — specific, actionable steps to resolve the issue
- LLM Reasoning — why the agent made each decision
What You See
Without Vorlo:
ToolError: 403
With Vorlo:
Stripe token expired after retry chain caused stale auth context.
Your Stripe OAuth token was issued 23h ago — Stripe tokens expire at 24h.
Fix: Reconnect your Stripe account in Settings → Integrations.
How It Works
Vorlo wraps your agent's callback system. It captures:
- Every tool call (input, output, latency)
- Every LLM reasoning step (chain of thought)
- Every error (translated to plain English with fix hints)
- Cross-step context (what data flowed between steps)
All sends are fire-and-forget — Vorlo never slows or crashes your agent, even if the Vorlo server is unreachable.
Features
- 2-line integration — works with any LangChain agent or the OpenAI Agents SDK
- Sensor/Actuator classification — reads vs writes, clearly labeled
- Cross-step root cause — understands data flow between steps
- OTel-compatible — trace_id, span_id for enterprise export
- Zero impact — async sends, daemon threads, silent failures
MCP server — debug from inside your editor
The package ships an MCP server (vorlo-mcp), so Claude Code / Cursor / any
MCP client can ask Vorlo "why did my last run fail?" without leaving the editor:
pip install vorlo-trace
claude mcp add vorlo --env VORLO_API_KEY=vrlo_... -- vorlo-mcp
# or without installing first:
claude mcp add vorlo --env VORLO_API_KEY=vrlo_... -- uvx --from vorlo-trace vorlo-mcp
Tools: why_did_my_last_run_fail, get_session_diagnosis,
list_recent_sessions, get_failure_clusters, propose_fix, confirm_fix.
The autofix loop: ask your coding assistant to fix your agent — it calls
propose_fix (a ready-to-apply briefing: diagnosis, confidence, context,
instructions), applies the fix in your code, re-runs, and reports back with
confirm_fix. A confirmed fix is promoted to verified and served to every
developer who hits the same failure next.
Configuration
vorlo_trace.init(
api_key="vrlo_...", # or set VORLO_API_KEY env var
server_url="https://...", # or set VORLO_SERVER_URL env var
agent_name="order-processor", # shown in dashboard
verify_ssl=True, # or set VORLO_VERIFY_SSL=false for local proxy testing
)
Environment Variables
| Variable | Description |
|---|---|
VORLO_API_KEY |
Your Vorlo API key |
VORLO_SERVER_URL |
Custom server URL (default: production) |
VORLO_VERIFY_SSL |
Set to false only for local corporate proxy testing |
VORLO_DEBUG |
Set to 1 for debug logging to stderr |
License
MIT — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vorlo_trace-0.5.1.tar.gz.
File metadata
- Download URL: vorlo_trace-0.5.1.tar.gz
- Upload date:
- Size: 50.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8558bdf0250d97bd6ee5d49f154bfd0025ca5a648b4df68925a01e397ca5ac9f
|
|
| MD5 |
28e0adf4278ec8b0caf55b3637444c7a
|
|
| BLAKE2b-256 |
ebfbd1173b652e7aa596ca4a7e72225cc5c84e23a2607ee0934a9ad99cc132fa
|
File details
Details for the file vorlo_trace-0.5.1-py3-none-any.whl.
File metadata
- Download URL: vorlo_trace-0.5.1-py3-none-any.whl
- Upload date:
- Size: 35.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51ad34e59ecbb03527f3a2f9601a26bc25c434b7fdaab36b11e04c1d44d9d9bf
|
|
| MD5 |
1b1756901860148d4f43c673cb7231f1
|
|
| BLAKE2b-256 |
0ce330c20553081bf89c123177210410b742fdfc204f116f6c8d45512b258c4b
|