Feature Request: Support drag-and-drop for binary documents (.wps, .doc, .docx, .xlsx, .pdf) in VS Code extension

Resolved 💬 1 comment Opened May 28, 2026 by wulukiola-oss Closed Jun 29, 2026

Problem

When users drag-and-drop or attach binary document files in the VS Code extension, the file content is not transmitted to Claude Code. The message appears as [Unsupported Document] and Claude cannot see the file content.

Currently, only plain text files (.txt, .md, code files) work with drag-and-drop.

Affected formats

  • .wps (WPS Office)
  • .doc / .docx (Microsoft Word)
  • .xlsx / .xls (Microsoft Excel)
  • .pdf (Portable Document Format)

Current workaround

Users must manually convert files to .txt or copy-paste the file path for Claude to read via shell tools — a poor UX for non-technical users.

Proposed solution

When a binary document file is attached/dropped, the VS Code extension could:

  1. Option A (lightweight): Detect the file type and automatically invoke a local conversion tool to extract text before sending to Claude:
  • For .docx: use the mammoth npm library
  • For .xlsx: use the xlsx (SheetJS) npm library
  • For .pdf: use the pdf-parse npm library
  • For .wps / .doc: use LibreOffice headless (soffice --headless --convert-to txt)
  1. Option B (fallback): If no conversion tool is available, at least pass the file path to Claude so it can attempt to read the file, rather than silently dropping it as [Unsupported Document].
  1. Option C (integration): Allow users to configure external converters in settings.json, e.g.:

``json
{
"claude.fileConverters": {
".wps": "soffice --headless --convert-to txt {input} --outdir {outputDir}"
}
}
``

Use case

Common in enterprise/engineering environments where users frequently share WPS, Word, Excel and PDF documents for review, proofreading, and analysis via Claude Code.

Environment

  • OS: Windows 11 Pro for Workstations
  • VS Code extension version: current
  • Claude Code version: current

View original on GitHub ↗

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