diff --git a/src/agents/agent.py b/src/agents/agent.py index b64a6ea1d..7ca0c1eb9 100644 --- a/src/agents/agent.py +++ b/src/agents/agent.py @@ -411,16 +411,17 @@ def as_tool( ) async def run_agent(context: RunContextWrapper, input: str) -> str: from .run import Runner - - output = await Runner.run( - starting_agent=self, - input=input, - context=context.context, - ) - if custom_output_extractor: - return await custom_output_extractor(output) - - return ItemHelpers.text_message_outputs(output.new_items) + try: + output = await Runner.run( + starting_agent=self, + input=input, + context=context.context, + ) + if custom_output_extractor: + return await custom_output_extractor(output) + return ItemHelpers.text_message_outputs(output.new_items) + except Exception as e: + return f"Error: {str(e)}" return run_agent