[BUG] VS Code extension: image/file attachments silently dropped when using custom model backend (ANTHROPIC_BASE_URL)
Summary
When using Claude Code VS Code extension with a custom model backend (via ANTHROPIC_BASE_URL pointing to a third-party proxy such as z.ai / GLM 5.1), file and image attachments dragged into the chat are silently dropped — the model receives the image URLs as opaque metadata in tool result blocks, but cannot "see" or render them as actual image content.
Repro
- Configure
ANTHROPIC_BASE_URLto point to a third-party model proxy (e.g., z.ai for GLM 5.1) - Open Claude Code in VS Code extension
- Drag a file or image into the chat input
- Send a message asking about the attached file
Expected
The model should be able to see and process the attached image/file, same as when using the default Anthropic API backend.
Actual
The image URL appears in the conversation context as a raw URL (e.g., maas-log-prod.cn-wlcb.ufileos.com/...) appended to tool results, but:
- The model does not receive it as a renderable image content block
- The model is unaware the user sent anything and responds as if no attachment exists
- The user has to explicitly tell the model to look at the URL and use
analyze_imageto read it
Environment
- Platform: macOS (Darwin 25.4.0)
- Claude Code: VS Code extension
- Model backend: GLM 5.1 via z.ai proxy (
ANTHROPIC_BASE_URL) - Date: 2026-05-05
Notes
This appears to be a difference in how the VS Code extension handles image attachment rendering between the native Anthropic API and third-party proxy backends. With native Claude models, image attachments are presumably converted to proper image content blocks in the API request. With custom backends, they seem to be passed as raw URLs that the model cannot interpret.
Related: #55070 (similar silent attachment drop on Android), #52647 (image paste support request for VS Code)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗