MCP tool-result images not rendered in VS Code extension chat transcript
Summary
When an MCP tool returns an image in its tool_result (e.g. a Base64-encoded screenshot), the image appears to be visible to the model (it can describe/reason about the image content), but is not rendered anywhere in the chat transcript of the Claude Code VS Code extension. The user sees no image at all for that tool call.
Steps to reproduce
- In the Claude Code VS Code extension, connect an MCP server that returns an image content block in a tool result (e.g. a screenshot tool).
- Call that tool from within a session.
- Observe the tool result in the chat transcript.
Expected
Some visual indication or rendering of the returned image in the transcript, similar to how diffs/file previews are shown for file edits.
Actual
No image is shown in the transcript. The model can see and describe the image (it's clearly present in its context), but the user-facing UI shows only the tool's non-image output. The user has to ask "I don't see anything" before this becomes apparent.
Workaround found
Building a small self-contained HTML page with the image embedded as a data:image/png;base64,... URI and rendering it via the Artifacts feature does show the image to the user. This suggests the transcript UI itself doesn't render inline image content blocks from tool results, while Artifacts (an explicit, separate rendering path) do.
Context
- Terminal-based Claude Code CLI usage wasn't compared directly, only the VS Code native extension.
- Official docs (IDE integrations, MCP) don't mention how/whether image content blocks in tool results are displayed in the extension's chat transcript.
Would appreciate clarification on whether this is expected behavior or a gap, and if there's a supported way to have tool-result images render directly in the transcript instead of requiring the Artifacts workaround.