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 , gh swaps in the uploaded URL. Anything not referenced gets appended at the end.
Time to update gh and retire the robot.