Fix: Handle malformed tool calls from OpenAI using sanitizer #6844
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.
Problem
Previously, when OpenAI returned a malformed tool_calls response — such as when function.arguments was None, an invalid type, or not a JSON string — it would cause the Autogen agent to crash.
This commonly occurred during tool call processing, especially when relying on external model behavior that couldn’t be guaranteed to be clean or well-formed.
Solution
This PR introduces a new sanitizer in autogen_core/utils/sanitizer.py that:
This enhances Autogen's fault-tolerance, especially during external API usage and multi-agent orchestration where malformed tool responses can silently derail entire chains.
Testing
A dedicated test (
test_sanitizer.py
) was added to:Notes
Checks