VS Code extension: 'Unsupported content type: advisor_tool_result' in webview

Status Open
Reported on v2.1.247
Maintainer reply None cached
Activity 5 comments · opened Aug 28, 2026

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

  1. Open Claude Code in VS Code (extension v2.1.247)
  2. Start a session where the advisor tool is available and gets called
  3. 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_result inner 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.

View original on GitHub ↗

3 Comments

rustyx · 1 month ago

The webview renderer does not currently handle server_tool_use, either. The current version 2.1.252 handles text, image, document, tool_use, tool_result, fallback and thinking.

mhmdaskari · 27 days ago

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 every advisor() 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_use is modeled but unrendered: 11 occurrences in webview/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_result is not modeled at all: 0 occurrences anywhere in the extension, as is its inner advisor_result type.

The render chain in question handles exactly 7 types — text, image, document, tool_use, tool_result, fallback, thinking — then falls through to the unknownContent div. (redacted_thinking appears 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 (labeled stale), plus the stale-closed #40816 and #60446. Worth consolidating into whichever thread you want to keep.

Quitch · 19 days ago

v2.1.282 on Windows still exhibits this behaviour, both for advisor_tool_result and server_tool_use.

Showing cached comments. Read the full discussion on GitHub ↗