VS Code extension: 'Unsupported content type: advisor_tool_result' in webview
Description
When the advisor() tool is called during a Claude Code session in VS Code, the result content block (type advisor_tool_result) is rendered in the webview as:
Unsupported content type: advisor_tool_result
The advisor tool works correctly — the model receives and uses the advisor's response — but the VS Code webview panel does not have a renderer for this content block type, so it falls through to the unknownContent catch-all div.
Steps to reproduce
- Open Claude Code in VS Code (extension v2.1.247)
- Start a session where the advisor tool is available and gets called
- Observe the webview panel after the advisor returns
Expected behavior
The advisor tool result should render its text content inline (similar to how tool_result blocks are rendered), or at minimum be hidden/collapsed gracefully rather than showing an "Unsupported content type" error.
Actual behavior
A visible div with "Unsupported content type: advisor_tool_result" appears in the conversation panel for every advisor call.
Environment
- Claude Code VS Code extension: 2.1.247 (latest available as of 2026-08-28)
- Claude Code CLI: 2.1.251 (handles
advisor_resultinner type correctly) - OS: Ubuntu Linux (Azure VM)
Analysis
The webview renderer in index.js handles these content types: document, fallback, image, redacted_thinking, server_tool_use, text, thinking, tool_result, tool_use. The advisor_tool_result type (and its inner advisor_result type) are not in this list.
The Anthropic Python SDK already defines BetaAdvisorToolResultBlock with type: Literal["advisor_tool_result"] in anthropic.types.beta, and the CLI binary (2.1.251) handles the inner advisor_result and advisor_tool_result_error types — so the API contract exists, the extension webview just hasn't been updated to match.
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
The webview renderer does not currently handle
server_tool_use, either. The current version 2.1.252 handlestext,image,document,tool_use,tool_result,fallbackandthinking.Still present in 2.1.275 (Linux native extension,
anthropic.claude-code-2.1.275-linux-x64), so this has now survived from 2.1.87 through 2.1.275. Both lines render on everyadvisor()call.Two details from the shipped bundle that narrow this past what's already in the thread — the two block types fail for different reasons:
server_tool_useis modeled but unrendered: 11 occurrences inwebview/index.js(27 across the extension), all in stream assembly (input_json_delta,content_block_stop), usage accounting (usage.server_tool_use), and the message fold/grouping logic — none in the content-block render chain.advisor_tool_resultis not modeled at all: 0 occurrences anywhere in the extension, as is its inneradvisor_resulttype.The render chain in question handles exactly 7 types —
text,image,document,tool_use,tool_result,fallback,thinking— then falls through to theunknownContentdiv. (redacted_thinkingappears 6× in the bundle but is likewise absent from that chain, so it presumably hits the same fallback.)Same bug as #73499 (10 👍, labeled
duplicate) and #73637 (labeledstale), plus the stale-closed #40816 and #60446. Worth consolidating into whichever thread you want to keep.v2.1.282 on Windows still exhibits this behaviour, both for
advisor_tool_resultandserver_tool_use.