Fix: Exclude unset fields in OpenAIConversationsSession.get_items() #1883
+2
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes a bug in
OpenAIConversationsSession.get_items()
where GPT-5 reasoning items contained astatus=None
field, causing the Responses API to reject the request.Problem
When using GPT-5, the first turn works normally, but on the second turn, reasoning items include
status=None
. When this field is passed back to the Responses API, the request fails with the following error:This occurs because
get_items()
usedmodel_dump()
without excluding fields that were never explicitly set (such as default None values).Solution
Changed:
to:
This update:
Aligns with the existing pattern used in
ModelResponse.to_input_items()
(seeitems.py:235
https://github.com/openai/openai-agents-python/blob/main/src/agents/items.py#L235)Related Issue
Fixes #1882