GH-RELEASE-DOWNLOAD(1)

πŸ’– gh-release-download(1) πŸ’–

okay bestie, welcome to the GitHub CLI manual page for gh-release-download β€” yes, that's the manual name, and yes, it's a whole vibe. sit down, grab a strawberry drink πŸ“, and let's get into it.


✨ NAME ✨

gh-release-download β€” download release assets, literally what it says on the tin πŸŽ€


🌸 SYNOPSIS 🌸

gh release download [<tag>] [flags]

that's it. that's the whole thing. tag is optional, flags are your besties. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

Download assets from a GitHub release. iconic behaviour, no cap.

here's the tea though: if you don't pass an explicit tag name argument, the assets get downloaded from the latest release in the project. and in that case β€” heads up, this is the important part β€” --pattern or --archive is required. like, genuinely required. the command is not gonna just guess what you want, she's not a mind reader. πŸ™ˆ


πŸ’œ OPTIONS πŸ’œ

  • --allow-escape-sequences β€” lets terminal escape sequences actually get printed when you're writing an asset to standard output. lowkey niche, but ok queen.
  • -A, --archive <format> β€” grab the source code archive in whatever format you pick (zip or tar.gz). those are your two choices, don't try anything else.
  • --clobber β€” overwrite existing files of the same name. ruthless. love that for you. πŸ”₯
  • -D, --dir <directory> (default ".") β€” the directory to download files into. defaults to ., i.e. right where you're standing. cozy.
  • -O, --output <file> β€” the file to write a single asset to. use "-" to write to standard output. one asset, one file β€” don't be weird about it.
  • -p, --pattern <stringArray> β€” download only assets that match a glob pattern. you can stack these baddies up, she's a stringArray. ✨
  • --skip-existing β€” skip downloading when files of the same name exist. the peaceful alternative to --clobber. choose your fighter.

🌈 OPTIONS INHERITED FROM PARENT COMMANDS 🌈

  • -R, --repo <[HOST/]OWNER/REPO> β€” select another repository using the [HOST/]OWNER/REPO format. it's giving main character energy from the parent command, but she's here too. πŸ‘‘

⭐ EXIT CODES ⭐

  • 0 β€” Successful execution πŸŽ‰
  • 1 β€” Error 😭
  • 2 β€” Command canceled πŸ’€
  • 4 β€” Authentication required πŸ”
NOTE: Specific commands may have additional exit codes. Refer to the command's help for more information. β€” yes, fr fr, go check the command's help if you're nosy.

🧚 EXAMPLE 🧚

# Download all assets from a specific release
$ gh release download v1.2.3

# Download only Debian packages for the latest release
$ gh release download --pattern '*.deb'

# Specify multiple file patterns
$ gh release download -p '*.deb' -p '*.rpm'

# Download the archive of the source code for a release
$ gh release download v1.2.3 --archive=zip

look at her go. ate and left no crumbs. πŸ’…βœ¨


🫢 SEE ALSO 🫢

gh-release(1) β€” go read the parent, she misses you.


and that's the page, bestie. this icon was brought to you by GitHub CLI v2.102.0, dated Oct 2026 β€” she's fresh, she's gorgeous, she's downloaded. bye bestie, mwah πŸ˜˜πŸ’–

πŸ“¦ where this page comes from