Lifecycle
RunHooks
              Bases: Generic[TContext]
A class that receives callbacks on various lifecycle events in an agent run. Subclass and override the methods you need.
            on_agent_start
  
      async
  
on_agent_start(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
) -> None
Called before the agent is invoked. Called each time the current agent changes.
            on_agent_end
  
      async
  
on_agent_end(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
    output: Any,
) -> None
Called when the agent produces a final output.
            on_handoff
  
      async
  
on_handoff(
    context: RunContextWrapper[TContext],
    from_agent: Agent[TContext],
    to_agent: Agent[TContext],
) -> None
Called when a handoff occurs.
            on_tool_start
  
      async
  
on_tool_start(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
    tool: Tool,
) -> None
Called before a tool is invoked.
            on_tool_end
  
      async
  
on_tool_end(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
    tool: Tool,
    result: str,
) -> None
Called after a tool is invoked.
AgentHooks
              Bases: Generic[TContext]
A class that receives callbacks on various lifecycle events for a specific agent. You can
set this on agent.hooks to receive events for that specific agent.
Subclass and override the methods you need.
            on_start
  
      async
  
on_start(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
) -> None
Called before the agent is invoked. Called each time the running agent is changed to this agent.
            on_end
  
      async
  
on_end(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
    output: Any,
) -> None
Called when the agent produces a final output.
            on_handoff
  
      async
  
on_handoff(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
    source: Agent[TContext],
) -> None
Called when the agent is being handed off to. The source is the agent that is handing
off to this agent.
            on_tool_start
  
      async
  
on_tool_start(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
    tool: Tool,
) -> None
Called before a tool is invoked.
            on_tool_end
  
      async
  
on_tool_end(
    context: RunContextWrapper[TContext],
    agent: Agent[TContext],
    tool: Tool,
    result: str,
) -> None
Called after a tool is invoked.