The missing upload command for coding agents.
GitHub has no API for file uploads, so agents can't include screenshots in pull requests and issues. Uploads gives agents a way to host files and show their work. When the pull request opens, all screenshots appear in one tidy comment that updates automatically on each revision.
# capture as you work — no PR yet
$uploads put ./after.png
└─▶ your PR opens with screenshots already attached:


The bot adds new files automatically, and replaces outdated versions with the latest revision (with GitHub App installed).
“Which page was that?”
Attach a path (or anything else) with --meta, then uploads find brings it back.
# tag it on the way up (source URL, app, etc)
$uploads put ./settings.png --meta path=/account/settings
MARKDOWN: 
# find it again later ("Do we have any recent screenshots of settings?")
$uploads find path=/settings
gh/you/app/pull/123/settings.webp path=/account/settings
gh/you/app/pull/456/redesign.webp path=/settings
More than file-hosting
Capture and host
uploads screenshot <url> captures and hosts in one step, with both local and remote browser support.
Point at the change
Bake hand-drawn boxes, arrows, labels, and solid redactions into a capture with screenshot --annotate or uploads annotate — so reviewers see what changed without hunting.
Device frames
Wrap a raw screenshot in device chrome — phone, browser, or a specific iPhone — with --frame.
Group into a gallery
Group uploads into a gallery that can live across multiple PRs — one link for the whole set that shows linked issues and pull requests.
Get set up
▸ paste the prompt into your coding agent — or read the full guide.