Tool calls emitted as text instead of executing
NousResearch/hermes-agent · cluster 741 · agent
Data as of
3 open items. Fix merged in #115798. Check it covers your case.
The short answer
- Known?
- Yes. 27 related items grouped here, 10 issues already closed.
- Fix event
- A fix was merged to main in PR #115798. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
partially resolved, deciding PR #115798. That is separate from the fix event. - Still open
- 2 issues and 1 PR.
Next step: read #115798, then check whether your report is one of the 2 still open.
Read #115798Pick up a Lab taskMultiple models (DeepSeek, MiniMax, Qwen, Anthropic, Hermes) emit tool calls as raw text or XML rather than structured function calls, causing them to leak into output or be dropped. Issues and fixes address parsing, fallback extraction, and stripping of these malformed tool call representations across gateways and the agent loop.
Open issues2
Open PRs1
- PR#98764fix(bedrock): stop deepseek.v3.2 leaking tool-call scaffolding into the text channel
Fixes on record
-
#115798 fix(codex): leaked shell-JSON tool call continues the turn instead of ending it as a final answer (#56920, salvage #56958)
files:
agent/codex_responses_adapter.py,tests/agent/test_codex_responses_adapter.py
13 PRs closed without merging
From the close comments: duplicate 2 · superseded by another PR 2 · closed without comment 1 · done elsewhere 1 · merged via another change 1 · other 6
- #742 fix: recover tool calls output as text by Hermes models · closed without comment
-
#13431 fix: recover inline Hermes tool calls · superseded by another PR →
#12112 -
#13446 fix: Feishu gateway tool calls not executing with DashScope/Qwen (#13031) · done elsewhere →
7569007,#13031 -
#14601 fix: Step 3.5 Flash tool call fallback parser + orphan </think> strip… · other →
#741 -
#15473 fix: parse DeepSeek-V4 DSML tool calls from response content (#15453) · other →
#7628,#7588
Show 8 more
-
#47473 fix(anthropic): salvage text-embedded tool calls not promoted to tool_use · other →
#47472 -
#47518 fix(anthropic): salvage text invoke tool calls · duplicate →
#47473,#47472 -
#47853 fix(anthropic): salvage tool calls from text blocks when tool_use blocks missing · duplicate →
#47473,#47472,#47518 -
#52322 fix(anthropic): salvage text-embedded antml tool calls not promoted to tool_use · other →
#47472 -
#56958 [codex] Treat leaked Codex shell JSON as incomplete · merged via another change →
cdac150,#115798,#56920,#56958 -
#59309 fix(agent): recover leaked clarify JSON envelopes · other →
36ac69e,#59291,#19253 -
#59601 fix(agent): strip hallucinated tool-call JSON from assistant content before delivery (#59291) · superseded by another PR →
#59309,#59291 -
#59669 fix(gateway): strip tool-call-shaped JSON envelope from Telegram output (#59291) · other →
02fa999,#59291,#59309,#59669
Closed issues · 10
- Closed#741[Bug]: Model outputs tool calls as text instead of using native function calling
- Closed#8965Tool calls rendered as raw XML instead of being executed (Ollama cloud models via proxy)
- Closed#13031[Bug] Feishu gateway: model outputs tool calls as plain text, never executes -- CLI works fine
- Closed#15453[Bug]: Tool calls not parsed correctly with DeepSeek-V4
- Closed#27834[Bug]: MiniMax/DeepSeek V4 XML tool calls are rendered as text instead of executed in Web UI/gateway
- Closed#29115Feature: Content-bound tool call extraction layer (fallback for models emitting tool calls as text/XML)
- Closed#35935MiniMax provider: tool calls output as plain text instead of executing
- Closed#47472[bug] anthropic_messages: tool calls emitted as text (not promoted to tool_use) are dropped, agent loop halts without executing the tool
- Closed#56920[Bug]: Codex OAuth can print shell JSON instead of executing tool calls
- Closed#59291Tool-call-shaped JSON envelope leaks into Telegram output when a local model emits it as assistant text
How this cluster was grouped
-
Link evidence (
partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text. - Members outside that structural core may belong to a different underlying problem.
-
Pairwise link density
0.07: 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
- #115798
- Closed issues
- 10
- Attempts
- 13 PRs closed without merging
- Fix link checked
- 19 Sep 2026