PDF reading fails with 'tool_use ids without tool_result blocks' error

Resolved 💬 3 comments Opened Nov 8, 2025 by sarantium Closed Jan 12, 2026

Description

When attempting to read PDF files using the Read tool, Claude Code throws a 400 API error indicating that tool_use blocks don't have corresponding tool_result blocks.

Error Message

[Request interrupted by user]  ⎿ API Error: 400 
    {"type":"error","error":{"type":"invalid_request_error","message":"messages.22: `tool_use` 
    ids were found without `tool_result` blocks immediately after: 
    toolu_0144KdNnpxZmpoi2EoMEkA8P, toolu_01EoryrU9cqi2GAVukDReH7P, 
    toolu_01UGKbD6sS1Dh6dj4n1JSddD. Each `tool_use` block must have a corresponding `tool_result`
     block in the next message."},"request_id":"req_011CUudmb6fShYWh6vT5q25m"}

Files that triggered the error

  1. C:\Users\ashvin.parameswaran\Projects\eccentric-subroutine\notes\ReadyAgent_One_Page_v10.pdf
  2. C:\Users\ashvin.parameswaran\Projects\eccentric-subroutine\notes\2025-10-28-The Age of De-Skilling - The Atlantic.pdf

Expected behavior

PDF content should be read and returned successfully, as described in the Read tool documentation.

Actual behavior

Tool calls are made but results are not properly returned to the conversation flow, breaking the message chain.

Workaround

Using /convert-to-markdown command first, then reading the resulting markdown file works correctly.

Environment

  • Platform: win32
  • OS: MSYS_NT-10.0-26100

View original on GitHub ↗

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