Product
One import. Complete audit trail.
Drop-in middleware for LangChain, LangGraph, CrewAI, and custom agents. Capture every decision without changing your agent code.
<2ms
Capture overhead
4
Frameworks supported
3
Lines to integrate
0
Agent code changes
Integration
Choose your framework
Native support for popular agent frameworks with framework-specific optimizations
from chronicler.langchain import ChroniclerHandler
from langchain.chat_models import ChatOpenAI
from langchain.agents import AgentExecutor
# Initialize handler
handler = ChroniclerHandler(
agent_id="my-agent",
api_key=os.environ["CHRONICLER_KEY"],
)
# Works with any LangChain component
llm = ChatOpenAI(callbacks=[handler])
agent = AgentExecutor(
agent=my_agent,
tools=tools,
callbacks=[handler],
)What Gets Captured
- Model calls
- Tool usage
- Chain execution
- Token tracking
Integration time
How It Works
Capabilities
Built for production agents
Async-First Design
Capture happens off the critical path. Your agents stay fast while we log everything.
Automatic Tracing
Decision chains linked automatically. See the full context of every agent action.
Built-in Redaction
PII detection and optional redaction before data leaves your infrastructure.
Configurable Capture
Full, standard, or minimal capture levels. You control what gets logged.
Hot Reload
Update capture configuration without restarting your agents.
Type-Safe SDK
Full TypeScript and Python type definitions. Catch errors before runtime.
Architecture
How it works under the hood
Hook
Middleware intercepts agent events (model calls, tool usage, responses) without modifying execution flow.
Capture
Events are serialized and batched asynchronously. Sensitive data is optionally redacted.
Stream
Batches are sent to Chronicler's ingestion pipeline for storage, indexing, and policy evaluation.