Our agents attach screenshots to every PR they open. Before and after shots, a screen recording, sometimes 6 files in one PR.

So I wondered if we were quietly filling up the repo.

We aren’t.

Attachments live outside the repo

In where to store large files for GitHub repos, I covered what actually counts: the .git folder, which GitHub caps at 10 GB, and Git LFS.

PR and issue attachments are neither. Drag a file in and GitHub uploads it to a github.com/user-attachments/assets/... URL. Nothing gets committed, nothing gets billed, and attachments on a private repo stay private.

The only limits are per file: 10 MB for images, 10 MB for videos (100 MB if the repo owner pays), 25 MB for anything else.

gh uploads them now

Uploading used to need a browser. For at least half a year, we had a Chrome-driven computer-use skill whose only job was dragging screenshots into PR descriptions.

gh only caught up recently. gh 2.99.0, released on 1 September 2026, added --attach to gh pr and gh issue:

gh pr create --body-file body.md --attach before.png --attach after.png

If body.md already has ![Before](before.png), gh swaps in the uploaded URL. Anything not referenced gets appended at the end.

Time to update gh and retire the robot.