Empty tool_calls array causes HTTP 400 errors
Cluster 74101 · agent. Data as of
Nothing open on GitHub. Fix merged in #86654 on 15 Aug 2026. Check it covers your case.
The short answer
- Known?
- Yes. 3 related items grouped here, 1 issue already closed.
- Fix event
- A fix was merged to main in PR #86654. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
unresolved. That is separate from the fix event. - Still open
- Nothing open on GitHub.
These items address a bug where sanitization or deduplication logic leaves behind an empty tool_calls array, triggering HTTP 400 errors from the API. Fixes target multiple points in the message sanitization pipeline where the empty key can be reintroduced.
Open issues0
Open PRs0
Fixes on record
-
#86654 fix(agent): close the empty tool_calls 400 class at all three chokepoints (#83312, #77921)
files:
agent/agent_runtime_helpers.py,agent/transports/chat_completions.py,tests/agent/transports/test_chat_completions_empty_tool_calls.py,tests/run_agent/test_message_sequence_repair.py
1 PR closed without merging
From the close comments: done elsewhere 1
-
#77377 fix(sanitize): drop tool_calls key when dedup removes all calls (fixes empty-array 400 class) · done elsewhere →
#86654
Closed issues · 1
- Closed#74101sanitize_api_messages dedup re-introduces tool_calls: [] after empty-array sanitizer (DeepSeek HTTP 400)
How this cluster was grouped
-
Link evidence (
structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference. -
Pairwise link density
0.67: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the LabAt a glance
- Subsystem
- agent
- Merged PRs
- #86654
- Closed issues
- 1
- Attempts
- 1 PR closed without merging
- Fix link checked
- 15 Aug 2026