Current collected state Current
Observed since 20 Oct, 21:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Chaos testing for agentic AI — fault injection hooks for openai-agents-python
Chaos testing for agentic AI — fault injection hooks for openai-agents-python.
Simulate tool failures, latency, and corrupted outputs to verify your agent handles real-world conditions gracefully.
pip install agentchaos-tools
from agents import Agent, Runner, function_tool
from agentchaos import FaultInjectionHooks, ToolFault, FaultType
@function_tool
def web_search(query: str) -> str:
return f"Results for {query}"
agent = Agent(name="assistant", tools=[web_search])
hooks = FaultInjectionHooks(
faults=[
ToolFault(tool_name="web_search", fault_type=FaultType.EXCEPTION, rate=0.5),
ToolFault(tool_name="calculator", fault_type=FaultType.LATENCY, latency_seconds=2.0),
],
seed=42, # optional: reproducible fault patterns
)
result = await Runner.run(agent, "Search for something", hooks=hooks)
hooks.report()
# agentchaos-tools report — 1 fault(s) triggered:
# 1. [EXCEPTION] tool='web_search'
| Type | What it does |
|---|---|
EXCEPTION | Raises RuntimeError before the tool runs |
LATENCY | Injects asyncio.sleep delay before the tool runs |
CORRUPTION | Records that output was corrupted (visible in report) |
| Parameter | Type | Default | Description |
|---|---|---|---|
tool_name | str | required | Name of the tool to target |
fault_type | FaultType | required | Type of fault to inject |
rate | float | 1.0 | Probability (0.0–1.0) that the fault fires |
latency_seconds | float | 1.0 | Delay in seconds (LATENCY only) |
seed | int | None | Random seed for reproducible tests |
MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.1 | 21 Mar 2026 | 1 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:0203650dcf01610b132303274c696c3a7d2091f05d3af477b5049c8a47e0fef0