GH-RELEASE-VERIFY-ASSET(1)
β¨ GH-RELEASE-VERIFY-ASSET π
okay so bestie, this is a page from the GitHub CLI manual β gh-release-verify-asset(1), section 1 β and it's genuinely one of the cooler ones ngl. Let's get into it π«Ά
πΈ NAME πΈ
gh-release-verify-asset β the icon, the moment: verify that a given asset originated from a release. that's it, that's the whole thing β¨
π SYNOPSIS π
gh release verify-asset [<tag>] <file-path> [flags]
bestie look at that β optional tag, required file-path, plus flags if you're feeling fancy π
π¦ DESCRIPTION π¦
So here's the vibe: this command verifies that a given asset file originated from a specific GitHub Release, and it does it using cryptographically signed attestations. no cap. π₯
An attestation is a claim made by GitHub regarding a release and its assets. think of it as GitHub signing off on "yeah, this came from here" ποΈβ¨
This command checks that the asset you provide matches a valid attestation for the specified release (or the latest release, if no tag is given).
It ensures the asset's integrity by validating that the asset's digest matches the subject in the attestation, and that the attestation is actually associated with the release. so like, digest match = slay β , and the attestation is tied to the right release = also slay β . both checks, every time, periodt π
β¨ OPTIONS β¨
--format <string>β output format, and the only one on the list is{json}. that's the format menu, it has one item, and it ate π-q,--jq <expression>β filter the JSON output using ajqexpression. you've got JSON and you want specific JSON? this is the one, iykyk π-t,--template <string>β format the JSON output using a Go template; seegh help formattingfor the deets. peak customization energy π
π OPTIONS INHERITED FROM PARENT COMMANDS π
-R,--repo <[HOST/]OWNER/REPO>β select another repository using the[HOST/]OWNER/REPOformat. it comes from the parent command, but it's still family π«Ά
π₯ EXIT CODES π₯
Bestie, memorize these, they're important π
0: Successful execution β the good ending πΈ1: Error β the other ending π2: Command canceled4: Authentication required β go log in bestie π
NOTE: Specific commands may have additional exit codes. Refer to the command's help for more information.
π EXAMPLE π
Exhibit A through C, all verbatim, all iconic:
# Verify an asset from the latest release
$ gh release verify-asset ./dist/my-asset.zip
# Verify an asset from a specific release tag
$ gh release verify-asset v1.2.3 ./dist/my-asset.zip
# Verify an asset from a specific release tag and output the attestation in JSON format
$ gh release verify-asset v1.2.3 ./dist/my-asset.zip --format json
notice how the first one has no tag so it goes for the latest release, and the --format json one at the end is the full glam look β¨π§
π§ SEE ALSO π§
gh-release(1)β the parent, the main character π
okay that's the whole page, you ate that ππ quick cute sign-off: this is GitHub CLI v2.102.0, dated Oct 2026, and you can find it filed right back under GH-RELEASE-VERIFY-ASSET(1) whenever you need it. mwah ππ
π¦ where this page comes from
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms