-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Open
Labels
Description
Describe the bug
Reasoning model like gpt-5 or gpt-5-nano cannot use the handoff feature when the store
option set to False
.
At the handoff-ed agent I got the following error:
"Items are not persisted when
store
is set to false. Try again withstore
set to true, or remove this item from your input."
Agent definition:
triage_agent = Agent[RunContext](
name="triage_agent",
instructions=instructions,
model="gpt-5",
model_settings=ModelSettings(
tool_choice="auto",
parallel_tool_calls=False,
store=False,
),
handoffs=[
handoff(image_agent, input_filter=handoff_filters.remove_all_tools),
],
tools=[
WebSearchTool(**web_search_tool_kwargs),
],
)
image_agent = Agent[RunContext](
name="image_agent",
instructions=image_gen_instructions,
model=openai_model,
model_settings=ModelSettings(
tool_choice="auto",
parallel_tool_calls=False,
store=False,
),
handoff_description=image_agent_handoff_prompt,
tools=image_agent_tools,
)
Error log:
Traceback (most recent call last):
File "/xxx/src/common/openai/openai_stream_handler.py", line 105, in stream_events
async for event in self.result.stream_events():
File "/xxx/.venv/lib/python3.11/site-packages/agents/result.py", line 215, in stream_events
raise self._stored_exception
File "/xxx/.venv/lib/python3.11/site-packages/agents/run.py", line 840, in _start_streaming
turn_result = await cls._run_single_turn_streamed(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/xxx/.venv/lib/python3.11/site-packages/agents/run.py", line 1009, in _run_single_turn_streamed
async for event in model.stream_response(
File "/xxx/.venv/lib/python3.11/site-packages/agents/models/openai_responses.py", line 163, in stream_response
stream = await self._fetch_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/xxx/.venv/lib/python3.11/site-packages/agents/models/openai_responses.py", line 286, in _fetch_response
return await self._client.responses.create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/xxx/.venv/lib/python3.11/site-packages/openai/resources/responses/responses.py", line 2259, in create
return await self._post(
^^^^^^^^^^^^^^^^^
File "/xxx/.venv/lib/python3.11/site-packages/openai/_base_client.py", line 1794, in post
return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/xxx/.venv/lib/python3.11/site-packages/openai/_base_client.py", line 1594, in request
raise self._make_status_error_from_response(err.response) from None
ue, or remove this item from your input.", 'type': 'invalid_request_error', 'param': 'input', 'code': None}}b4ad090a7db0de815c6d' not found. Items are not persisted when `store` is set to false. Try again with `store` set to tr..
However, it works without the handoff
aa = Agent[RunContext](
name="aa",
instructions=aaa,
model=openai_model,
model_settings=ModelSettings(
tool_choice="auto",
parallel_tool_calls=False,
store=False,
),
# handoffs=[
# handoff(image_agent, input_filter=handoff_filters.remove_all_tools),
# ],
# tools=[
# WebSearchTool(**web_search_tool_kwargs)
# ],
tools=[image_generator, image_editor, WebSearchTool(**web_search_tool_kwargs)],
)
Debug information
- openai-agents==0.2.11
- openai==1.106.1
- python==3.11.10
Repro steps
- Set store=False for both triage_agent and second_agent
Expected behavior
No error at the second agent.