Install
This page assumes your app already uses
anthropic in Python or @anthropic-ai/sdk in TypeScript.Net-new VerifiedX code
This is the actual VerifiedX delta in an existing Claude Messages tool loop.That is the important part. The rest of the full example below is your normal Anthropic client, tool-definition, tool-handler, and message-loop code that you likely already have.
Your native tool surface is the config. VerifiedX uses your existing tool names, descriptions, schemas, and native Claude Messages tool loop as the source of truth for what to preflight. If you want explicit
actions and memories dictionaries, use the raw runtime instead.Full example
Do not use raw
install_runtime(...) or bindHarness(...) for this path. Keep the native Anthropic Messages API surface and use the Anthropic direct adapter.Composed systems
If this Claude Messages loop is part of a larger multi-agent or agent+human workflow, pass upstream context into VerifiedX so the current run has better system and situational awareness before it takes a high-impact action. This is useful when a supervisor agent, parent workflow, or human reviewer already has context that the current run should use before taking action. VerifiedX does not require a fixed schema for this. Pass the upstream context you already have in any JSON-serializable shape.Upstream context is supporting workflow context from outside the current run. It is not proof that this run already executed any local action.
Async tool handlers
If your tool handlers are async, use the async dispatcher in Python:Streaming
The adapter works with the normal Anthropic streaming surfaces too:client.messages.create(...)client.messages.stream(...)client.messages.create(..., stream=True)in Pythonclient.messages.create({ ..., stream: true })in TypeScript
tool_use output while preserving the native stream shape.
What the adapter already captures
Once attached, VerifiedX already captures and protects the native Anthropic Messages surface, including:- Native
tool_usehistory - Native
server_tool_usehistory - Client-executed custom tools through the Anthropic tool dispatcher
- Built-in mutating memory, text-editor, and bash tool uses when present
- Prompt context from the Messages window across turns
- Normal continuation turns in direct tool loops
- Managed and raw streaming tool selections
What to expect at runtime
Protected boundaries can return:allowallow_with_warningreplan_requiredgoal_fail_terminal
tool_result blocks containing the blocked result shape, including ok: false, blocked: true, boundary_outcome, safe_next_steps, and decision_receipt, so Claude can keep moving toward the same goal safely.
Pricing note
One protected action check equals one real boundary preflight. Taint, event ingest, execution reports, and decision reads are all included at that price. The Free Sandbox includes every language, provider, framework, and adapter. VerifiedX does not replace your orchestrator or human workflow. It returns receipts your system can keep local, route downstream, or pass upstream.For the raw runtime reference, see the Python SDK and TypeScript SDK. For the Claude Agent SDK surface, see the Claude Agent SDK page.