Spurious "incomplete_tool_call" internal error for an advisor server tool call that did complete
What happened
During an interactive session, the UI showed:
Internal error: Claude ended the turn without returning results for tool calls: srvtoolu_01FQPgN8ifCLNvoeHXF7kx67: {
"errorKind": "incomplete_tool_call"
}
The session transcript (~/.claude/projects/<project>/<session>.jsonl), however, shows the call completed normally:
| Line | Timestamp (UTC) | Message id | Content block |
| --- | --- | --- | --- |
| 172 | 2026-10-03T07:33:03.855Z | msg_011Cfev3fYEZCH51XMC7eSRM | server_tool_use (advisor, id srvtoolu_01FQPgN8ifCLNvoeHXF7kx67) |
| 173 | 2026-10-03T07:34:57.523Z | same | advisor_tool_result for that id |
| 174–176 | 07:34:57–07:35:00 | same | thinking, then two tool_use (Bash) |
| 177–178 | 07:35:01 | — | the two tool_result |
The turn continued and ended normally. The error itself is not recorded anywhere in the transcript, so it seems to come from the client's display/validation layer, not from the API.
Notable: the advisor result took ~1 min 54 s to arrive. My guess is that the client flags the pending server_tool_use as incomplete while waiting, even though the result arrives later in the same message.
This error recurs across sessions. So far it has been cosmetic: nothing was lost and the session kept working.
Expected
No error while a server tool call (advisor) is still pending and is then answered in the same message.
Environment
- Claude Code 2.1.285 (CLI, terminal)
- macOS 15.8.1 (24H32), x86_64
- Model: claude-opus-5-5 with the
advisorserver tool
Possibly related
#89295 and #73638 also involve in-flight server tool calls, but there the transcript gets corrupted. Here the transcript is intact and only a spurious error is displayed.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗