# v0.40.3

`read` now hands images and PDFs to the model.

## Images and PDFs are read as attachments again

When you `read` an image (PNG, JPEG, GIF, WebP), AFT now passes it to the model as a real visual attachment instead of a "binary file" placeholder — so a vision-capable model actually sees the picture. Images are decoded and downsized (longest side capped at 1024px) so they stay light in context. On OpenCode, `read` also hands PDFs to the model as attachments.

Non-vision models are handled gracefully: the image is omitted with a short note rather than breaking the read. Text files, directories, and non-media binaries behave exactly as before.

This restores behavior the host's built-in `read` provides; AFT's `read` had been returning a placeholder instead.

No action needed.
