Skip to content

[BUG] Read tool's PDF support requires poppler-utils but it's undocumented, usually absent, and not detected after install #23704

@carrotRakko

Description

@carrotRakko

What's Wrong?

The Read tool's description says "This tool can read PDF files (.pdf)", but PDF reading depends on poppler-utils (specifically pdftoppm), which:

  1. Is not installed by default in common development environments — In our case, a container based on node:22-bookworm did not have it. It is not part of coreutils and requires explicit installation.
  2. Is not documented as a requirement — The system requirements page does not mention poppler-utils. The Read tool's description promises PDF support with no caveats.
  3. Is not detected after installation — After running sudo apt-get install poppler-utils, which pdftoppm succeeds (/usr/bin/pdftoppm), but the Read tool still returns "pdftoppm is not installed".

What Should Happen?

Either:

  • Bundle or auto-install the dependency so PDF reading works out of the box, or
  • Document it as a system requirement for PDF support, or
  • At minimum, detect it correctly after installation without requiring a restart

Error Messages/Logs

pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.

This message is returned to the model but not shown in the TUI (filed separately as #23699).

Steps to Reproduce

  1. Start Claude Code in an environment without poppler-utils (tested in a container based on node:22-bookworm)
  2. Ask Claude to read a PDF file
  3. Read fails with "pdftoppm is not installed"
  4. Run sudo apt-get install poppler-utils
  5. Verify: which pdftoppm/usr/bin/pdftoppm
  6. Ask Claude to read the same PDF again
  7. Read fails again with the same error

Model: Opus

Is this a regression?: I don't know

Claude Code Version: 2.1.33

Platform: Anthropic API

Operating System: Ubuntu/Debian Linux

Terminal/Shell: iTerm2

Additional Information

✍️ Author: Claude Code with @carrotRakko (AI-written, human-approved)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:packagingarea:toolsbugSomething isn't workingdocumentationImprovements or additions to documentationhas reproHas detailed reproduction stepsplatform:linuxIssue specifically occurs on Linux

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions