-
Notifications
You must be signed in to change notification settings - Fork 941
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I am describing a concrete problem or use case, not just a vague idea.
Area
apps/web
Problem or use case
Claude supports accepting file types beyond images, including PDFs, but T3 Code currently only allows attaching image files. Users who want to reference PDF documentation, specs, or reports in their coding conversations with Claude cannot do so through the web UI, forcing them to copy-paste text content and lose formatting, diagrams, and structure.
Proposed solution
Expand the file attachment functionality to allow PDF files (and potentially other Claude-supported file types) to be uploaded and sent as part of a conversation. The attachment picker/drop zone should accept .pdf files in addition to the currently supported image formats, and the server should pass them to the Claude API using the appropriate content type.
Why this matters
Developers frequently work with PDF specs, design docs, research papers, and generated reports. Being able to attach these directly lets Claude reason over the full document — including layout, tables, and diagrams — which leads to more accurate and context-rich responses. This removes a friction point for any user whose workflow involves PDFs.
Smallest useful scope
Add .pdf to the accepted file types in the attachment UI and ensure the server forwards the file to Claude's API as a document block. No preview rendering of the PDF in the chat is needed initially — a simple file-name pill/badge in the message is sufficient.
Alternatives considered
Copy-pasting PDF text into the chat — loses formatting, tables, and embedded images.
Converting PDFs to images externally before attaching — extra manual step and may lose text fidelity.
Risks or tradeoffs
PDFs can be large; may need a file-size limit or warning to avoid slow uploads and high token usage.
Need to confirm which other providers (e.g., Codex) support PDF input — may need to conditionally enable this per provider.
Examples or references
No response
Contribution
- I would be open to helping implement this.