Spurious "incomplete_tool_call" internal error for an advisor server tool call that did complete

Status Open
Reported on v2.1.285
Maintainer reply None cached
Activity 1 comment · opened Oct 3, 2026

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 advisor server 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗