diff --git a/src/agents/realtime/session.py b/src/agents/realtime/session.py index 66dc72be5b..def69cee86 100644 --- a/src/agents/realtime/session.py +++ b/src/agents/realtime/session.py @@ -299,7 +299,8 @@ async def close(self) -> None: if cleanup_task is not None and ( current_task in self._guardrail_tasks or current_task in self._tool_call_tasks ): - # Cleanup is already waiting for this tracked task, so waiting here would form a cycle. + self._closing = True + self._closed = True raise asyncio.CancelledError if cleanup_task is None: