VSCode extension webview: 'Unsupported content type: server_tool_use / advisor_tool_result' when advisor tool is invoked

Resolved 💬 1 comment Opened May 19, 2026 by jdfls Closed Jun 18, 2026

Summary

When the model invokes the advisor tool inside the VSCode extension, the webview renders two literal error strings instead of the tool call/result:

Unsupported content type: server_tool_use
Unsupported content type: advisor_tool_result

The advisor call itself succeeds — the model receives and acts on the response. Only the UI rendering is broken.

Environment

  • Claude Code CLI: 2.1.138
  • VSCode extension: anthropic.claude-code 2.1.143 (win32-x64)
  • OS: Windows 10 Pro 19045
  • VSCode: standard build (not Insiders)

Reproduction

  1. In any project, ask Claude to call the advisor tool (e.g. "call advisor()").
  2. Watch the conversation panel as the response streams.

Expected: the advisor invocation and its response render the same way other tool calls do (collapsible block, formatted result).

Actual: two plain-text "Unsupported content type" lines appear where the invocation and result should be.

Root cause

In webview/index.js the content-block switch handles text, image, document, tool_use, tool_result, and thinking, then falls through to:

return F4.default.createElement(
  "div",
  { className: UF.unknownContent },
  "Unsupported content type: ",
  F4.default.createElement("code", null, $.content.type)
)

The advisor tool emits server-side blocks (server_tool_use and advisor_tool_result, analogous to web_search_tool_use / web_search_tool_result) which are not in the switch, so they hit the fallback.

Suggested fix

Add cases for server_tool_use and advisor_tool_result (and likely the other server-side tool families) to the renderer — at minimum returning null or a quiet "Advisor consulted" pill so users don't see raw error strings.

Workaround

None in the UI — the errors are cosmetic and can be ignored; the advisor response still influences the model.

View original on GitHub ↗

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