Do OpenAI Agents SDK guardrails run on every agent after a handoff?
No. An input guardrail only runs on the agent that starts the run, and an output guardrail only runs on the agent that produces the final answer, so any agent picked up in the middle of a handoff chain runs with no agent-level guardrail of its own.
The SDK’s own docs call this out and point to tool guardrails as the fix when a workflow includes handoffs: a check before or after a specific function-tool call, attached to the tool rather than to whichever agent happens to be holding the conversation when it’s called. A tool guardrail fires no matter which agent in the chain invokes it, where an agent-level input or output guardrail only ever sees the two ends of the handoff. A Claude Agent SDK hook can attach to the same point in a tool call regardless of which part of the agent triggers it, the same design choice solving the same gap in a different SDK.
sources
- OpenAI Agents SDK docs: Guardrails fetched
- OpenAI Agents SDK docs: Handoffs fetched