← All failure classessystem execution

Tool Schema

A tool/protocol call failed on its SCHEMA or FORMAT — wrong request shape, wrong network/scheme identifier, a protocol-level auth/handshake problem, or a malformed payment payload. Distinct from hallucinated_tool_args (invented values) — here the shape/protocol/config is wrong. Includes MCP protocol, x402 payload, and RPC method-not-found errors — see subclasses.

Subclasses

mcp_stdout_corruption

MCP stdio server broke its JSON-RPC stream by writing non-protocol output (a console.log) to stdout (-32700 parse error).

mcp_transport_mismatch

MCP client/server transport mismatch (stdio vs SSE vs Streamable HTTP) or an initialize handshake timeout.

mcp_auth_discovery

MCP 401 without the RFC 9728 WWW-Authenticate / resource_metadata pointer, or an audience (RFC 8707) mismatch — OAuth can't start.

mcp_session_id

MCP Streamable HTTP request missing the Mcp-Session-Id header ('no valid session').

x402_invalid_payload

x402 payment rejected as invalid_payload/invalid_network — malformed body, below-minimum amount, or wrong CAIP-2 network/scheme identifier.

rpc_method_not_found

RPC -32601/-32004 — the provider doesn't expose that method on this chain/plan.

wallet_unrecognized_chain

Wallet 4902 unrecognized chain (call wallet_addEthereumChain; pass a 0x-hex chainId).

solana_versioned_tx

Solana Address-Lookup-Table tx built as legacy instead of a versioned (v0) tx.

api_insufficient_scope

API 403/insufficient_scope — a valid token issued with scopes too narrow for this operation.

Research cross-reference

How this class maps to the two leading agent-failure taxonomies.

MAST

Task specification disobedience

TRAIL

Incorrect tool arguments, Tool/API errors

Catch this with Snapback

Send your agent's trace to the ingest endpoint. Snapback diagnoses it — including this class — and returns a structured verdict with the root cause and a concrete fix. Pre-flight screening is free; you only draw credit on a full diagnosis.

curl -X POST "https://ingest.snapback.sh/v1/traces" \
  -H "Authorization: Bearer vdk_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "trace_id": "run-42",
    "steps": [
      { "agent": "planner", "action": "...", "output": "..." },
      { "agent": "executor", "tool": "...", "error": "..." }
    ]
  }'

Get your ingest token when you create a source. Already emitting OpenTelemetry? Point your exporter at /v1/traces/otlp — no re-instrumentation. AI agents can call the same pipeline over MCP (diagnose_trace).

What comes back

Illustrative — your verdict is diagnosed from your actual trace.

{
  "failure_class": "tool_schema",
  "failed_at_step": 2,
  "failure_agent": "executor",
  "root_cause": "<the specific cause, inferred from your trace>",
  "fix_suggestion": "<a concrete, applicable fix>",
  "confidence": 0.9
}

Catch this failure automatically

Snapback watches your agents and diagnoses this class the moment it happens — with the specific trace, the likely cause, and the fix.

Start free