{"version":"2.1.292","anchor":"pdf-attachments-still-downloading-are-handled","canonical_anchor":"pdf-attachments-still-downloading-are-handled","heading":"PDFs still downloading or arriving are now handled when read","tier":"notice","area":"Attachments","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/pdf-attachments-still-downloading-are-handled","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### PDFs still downloading or arriving are now handled when read\n\nPDFs whose files are still downloading are now waited for and reported to the model, and PDF reads use an already-open file handle\n\n**What**\n\nA PDF can still be downloading or arriving when Claude tries to read it. That happens, for example, when it came with a message whose files were not finished, or when it was attached with an @-mention while it was still being written. Claude Code now handles this case:\n\n- New text tells the model that the PDF came with a user message whose files were still being downloaded when the turn began. The `Read` tool waits up to ten minutes for the download.\n\n- An @-mentioned PDF that is still arriving returns a `pdf_reference` marked `stillArriving: true`, and `tengu_pdf_reference_attachment` is emitted for it.\n\n- PDF page extraction and reads now take an already-open file handle (`held`\/`handle`) instead of reopening the file by its path.\n\n- Oversized @-mentions call an `onTooLarge` callback.\n\n- Whole-PDF rendering is still controlled by the `tengu_deep_starlight` gate, with a fallback of true. Nothing has been read about that gate under this release.\n\nThe stock `Read` tool description captured under this release is unchanged.\n\n**Why**\n\nThe model is less likely to conclude that a PDF is missing when it is only late. Reading through a file handle that is already open means the file being read is the one that was opened, not a different file swapped in at the same path after the check.\n\n- Area: Attachments\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}