Read tool: PDFs cost way more tokens than they need to because of the image rendering

Status Open
Maintainer reply None cached
Activity 2 comments · opened Jul 23, 2026

### Preflight Checklist

  • [x] I searched existing feature requests and this hasn't been requested (found one related but stale/auto-closed - see below)
  • [x] This is a single feature request

Problem Statement

When Claude Code's Read tool opens a PDF, it always sends both the extracted text AND a rendered image of every page, no matter what you're actually asking for. Per Anthropic's own docs (https://platform.claude.com/docs/en/build-with-claude/pdf-support):

The system converts each page of the document into an image. The text from each page is extracted and provided alongside each page's image.

And on cost:

Text token costs: Each page typically uses 1,500-3,000 tokens per page... Image token costs: Because each page is converted into an image, the same image-based cost calculations are applied.

So you pay for text tokens and image tokens on every page, even when there's nothing visual worth looking at. I compared a PDF against the same content as markdown and the PDF version came out around 50-60% more tokens for identical content - which tracks, since both halves get sent together every time.

Most of my PDF reads are just "give me the text" - specs, contracts, exported docs. The image half only earns its cost when there's an actual chart, diagram, or table I need Claude to look at visually.

Proposed Solution

Let Read default to text-only extraction for PDFs, and only pull in the full image+text version when it's actually needed - either:

  • automatically, based on whether the page looks text-dense with nothing worth rendering, or
  • as an explicit mode Claude picks when calling Read, e.g. mode: text vs mode: visual

Alternative Solutions

Right now the only workaround is converting the PDF to markdown/text myself before handing it to Claude, which defeats the point of Read supporting PDFs natively.

Priority

Medium - Would be very helpful

Feature Category

Performance and speed

Use Case Example

I ask Claude to read a 10-page PDF spec to answer a question about one section. Today that costs 1,500-3,000 text tokens/page plus a full image per page, for a request where I never needed the visual rendering at all. With text-only extraction as the default, the same read would cost a fraction of that, and Claude could still escalate to the visual version if my question turned out to be about a table or diagram.

Additional Context

Found a related request - #30546 - that proposed a similar "text-first mode" among other multimodal fixes. It got auto-closed by the stale-issue bot after being flagged as a possible duplicate, not because anyone weighed in against the idea - so raising it again here, scoped just to this one piece.

Also loosely related: #23704, about the poppler-utils dependency for PDF rendering - same code path, different problem.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗