# GitHub CLI changelog > GitHub command-line tool - Vendor: GitHub - Category: Developer Tools - Official site: https://cli.github.com/ - Tracked by: What's New (https://whatsnew.fyi/product/github-cli) - Harvested from: GitHub (cli/cli) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v2.97.0 — GitHub CLI 2.97.0 - Date: 2026-07-31 - Version: v2.97.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.97.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.97.0 ##### Security Four security vulnerabilities have been identified, and fixed, in this release. Users are advised to update gh to version `v2.97.0` as soon as possible. Several commands (including `gh gist view`, `gh api`, `gh pr diff`, `gh release download --output -`, `gh codespace logs`, `gh skills preview`, and `gh agent-task view`/`create`) printed externally controlled content without neutralizing terminal escape sequences, allowing escape sequence injection into a user's terminal. See https://github.com/cli/cli/security/advisories/GHSA-3m3g-3wcr-px46 for more information. Some request URLs were built without escaping their variable path components, so a value containing URL path metacharacters could alter the request path and cause `gh` to address a different resource than intended. See https://github.com/cli/cli/security/advisories/GHSA-4fjg-2h4q-fwg3 for more information. `gh auth status` (without `--show-token`) could print a portion of the authentication token in plaintext for token types whose format contains an underscore after the prefix, such as `github_pat_*`, `ghs_*`, and `ghu_*`. See https://github.com/cli/cli/security/advisories/GHSA-cg6r-mpgc-h9mm for more information. `gh attestation verify` built the certificate matcher from `--signer-repo` and `--signer-workflow` without escaping regex metacharacters, so a lookalike repository or workflow name could satisfy a matcher intended for a trusted signer and bypass attestation verification. See https://github.com/cli/cli/security/advisories/GHSA-mm27-mwq9-fr5g for more information. ##### Address project fields and items by name in `gh project` `gh project item-edit` and `gh project item-list` can now reference project fields and single-select options by name: ```shell #### Set an item's field by name gh project item-edit 1 --owner monalisa --url --field "Status" --value "In Progress" #### Show named fields as extra columns gh project item-list 1 --owner "@me" --field "Status" --field "Priority" ``` ##### What's Changed ###### ✨ Features * Add name-based resolution to `gh project item-edit` by @zwick in [#13807](https://github.com/cli/cli/pull/13807) * Add named field columns to `gh project item-list` by @zwick in [#13823](https://github.com/cli/cli/pull/13823) * Add Grok skill host support by @tommaso-moro in [#13864](https://github.com/cli/cli/pull/13864) * Replace Windsurf with Devin in `gh skill` agents by @tommaso-moro in [#13987](https://github.com/cli/cli/pull/13987) ###### 🐛 Fixes * Gracefully handle failed GitHub verifier initialization caused by a missing trusted root by @malancas in [#13624](https://github.com/cli/cli/pull/13624) * Bump keyring operation timeout from 3s to 60s so interactive unlock prompts have time to complete by @kofuk in [#13787](https://github.com/cli/cli/pull/13787) * Fix skill picker label wrapping by @tommaso-moro in [#13967](https://github.com/cli/cli/pull/13967) ###### 📚 Docs & Chores * Bump Go to 1.26.5 by @github-actions[bot] in [#13817](https://github.com/cli/cli/pull/13817) * Add `OWNER/REPO` format hint to the `gh search --repo` flag by @BagToad in [#13922](https://github.com/cli/cli/pull/13922) * Present by-name `item-edit` as the first-class project flow in docs by @Solaris-star in [#13927](https://github.com/cli/cli/pull/13927) * Add a macOS keyring security doc by @williammartin in [#13960](https://github.com/cli/cli/pull/13960) * Add a code review agent skill by @BagToad in [#14003](https://github.com/cli/cli/pull/14003) * Establish a pull request template for scale by @BagToad in [#14004](https://github.com/cli/cli/pull/14004) * Add an agentic issue-triage workflow by @lukewar in [#13777](https://github.com/cli/cli/pull/13777) * Use the Actions token for Copilot inference in the issue-triage workflow by @tidy-dev in [#13830](https://github.com/cli/cli/pull/13830) * Refresh the issue-triage agentic workflow to gh-aw v0.83.1 by @alo _[Truncated at 4000 characters — full notes: https://github.com/cli/cli/releases/tag/v2.97.0]_ ### v2.96.0 — GitHub CLI 2.96.0 - Date: 2026-07-02 - Version: v2.96.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.96.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.96.0 ##### Security A security vulnerability has been identified, and fixed, that could allow command execution on a user's computer when connecting to a malicious Codespace via `gh codespace jupyter`. Users of `gh codespace jupyter` are advised to update gh to version v2.96.0 as soon as possible. For more information see: https://github.com/cli/cli/security/advisories/GHSA-8cg3-r6g9-fpg2 ##### Download release assets without authentication `gh release download` now works against public repositories without authentication, matching `gh extension install`. A token is still used when one is present: ```shell #### Download assets from a public repository, no login required gh release download v2.96.0 --repo cli/cli ``` ##### What's Changed ###### ✨ Features * Allow `gh release download` without authentication on public repositories by @BagToad in [#13723](https://github.com/cli/cli/pull/13723) * Detect additional third-party coding agents by @BagToad in [#13722](https://github.com/cli/cli/pull/13722) * Support `antigravity-cli` and `antigravity2.0` in `gh skill` by @BagToad in [#13784](https://github.com/cli/cli/pull/13784) ###### 🐛 Fixes * fix: show checks summary when all checks were cancelled by @s3onghyun in [#13679](https://github.com/cli/cli/pull/13679) * fix(skills): install universal agent to `~/.agents/skills` by @toller892 in [#13681](https://github.com/cli/cli/pull/13681) * fix(skills): honor `--dir` without agent prompt by @happysnaker in [#13766](https://github.com/cli/cli/pull/13766) * Fix concurrent map writes in codespace port forwarding by @williammartin in [#13313](https://github.com/cli/cli/pull/13313) * Use `int64` for GitHub database IDs by @williammartin in [#13403](https://github.com/cli/cli/pull/13403) ###### 📚 Docs & Chores * Pin reusable triage workflows to a commit SHA by @BagToad in [#13705](https://github.com/cli/cli/pull/13705) * Add security disclosure guidance to `AGENTS.md` by @BagToad in [#13720](https://github.com/cli/cli/pull/13720) * Clarify `--clone` boolean flag behaviour in `gh repo fork` help by @BagToad in [#13786](https://github.com/cli/cli/pull/13786) * Fix flaky `TestHuhPrompterMultiSelectWithSearchPersistence` on slow architectures by @pdostal in [#13675](https://github.com/cli/cli/pull/13675) * docs(search): add examples for multiple qualifiers by @happysnaker in [#13756](https://github.com/cli/cli/pull/13756) * docs: fix broken anchor link in release-process-deep-dive by @patrickwehbe in [#13688](https://github.com/cli/cli/pull/13688) * docs: fix broken install command and link/grammar errors by @patrickwehbe in [#13690](https://github.com/cli/cli/pull/13690) * docs: fix duplicated word in primer README by @s3onghyun in [#13677](https://github.com/cli/cli/pull/13677) ###### :dependabot: Dependencies * chore(deps): bump github.com/microsoft/dev-tunnels from 0.1.19 to 0.1.27 by @dependabot in [#13708](https://github.com/cli/cli/pull/13708) * chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot in [#13703](https://github.com/cli/cli/pull/13703) * chore(deps): bump github.com/google/go-containerregistry from 0.21.6 to 0.21.7 by @dependabot in [#13702](https://github.com/cli/cli/pull/13702) * chore(deps): bump actions/setup-go from 6.4.0 to 6.5.0 by @dependabot in [#13740](https://github.com/cli/cli/pull/13740) * chore(deps): bump actions/attest from 4.1.0 to 4.1.1 by @dependabot in [#13754](https://github.com/cli/cli/pull/13754) * chore(deps): bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3 by @dependabot in [#13759](https://github.com/cli/cli/pull/13759) * chore(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by @dependabot in [#13779](https://github.com/cli/cli/pull/13779) ##### New Contributors * @patrickwehbe made their first contribution in https://github.com/cli/cli/pull/13688 * @s3onghyun made their first contribution in https://github.com/cli/cli/pull/13679 * @toller892 mad _[Truncated at 4000 characters — full notes: https://github.com/cli/cli/releases/tag/v2.96.0]_ ### v2.95.0 — GitHub CLI 2.95.0 - Date: 2026-06-17 - Version: v2.95.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.95.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.95.0 ##### Read repository files and directories with `gh repo read-file` and `gh repo read-dir` Two new preview commands read repository contents without cloning: ```shell #### Read a single file to stdout gh repo read-file README.md --repo cli/cli #### Read from a specific branch, tag, or commit gh repo read-file go.mod --ref v2.94.0 --repo cli/cli #### Write a file to disk (use --clobber to overwrite) gh repo read-file README.md --output ./README.md --repo cli/cli #### List the entries in a directory gh repo read-dir script --repo cli/cli ``` Both commands default to the repository's default branch, accept `--ref` to target any branch, tag, or commit, and support `--json`, `--jq`, and `--template` for scripting. This makes it easy for agents and automation to inspect a repo without a full checkout. > [!NOTE] > `gh repo read-file` and `gh repo read-dir` are in preview and subject to change without notice. ##### What's Changed ###### ✨ Features * feat: add `repo read-file` and `repo read-dir` by @babakks in https://github.com/cli/cli/pull/13580 * feat(skills): list available skills when install runs non-interactively by @SamMorrowDrums in https://github.com/cli/cli/pull/13548 * Support custom CLAUDE_CONFIG_DIR in install by @tommaso-moro in https://github.com/cli/cli/pull/13523 ###### 🐛 Fixes * fix(skills): stage updates in a temp dir and swap in-place by @SamMorrowDrums in https://github.com/cli/cli/pull/13449 ###### 📚 Docs & Chores * Make filtering by bot authors more discoverable by @BagToad in https://github.com/cli/cli/pull/13642 * docs(discussion): polish help docs by @babakks in https://github.com/cli/cli/pull/13632 * Bump Go in devcontainer by @spenserblack in https://github.com/cli/cli/pull/13674 ###### :dependabot: Dependencies * chore(deps): bump golang.org/x/text from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/cli/cli/pull/13640 * chore(deps): bump charm.land/lipgloss/v2 from 2.0.3 to 2.0.4 by @dependabot[bot] in https://github.com/cli/cli/pull/13663 * chore(deps): bump golang.org/x/term from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/cli/cli/pull/13661 * chore(deps): bump github/codeql-action from 4.36.1 to 4.36.2 by @dependabot[bot] in https://github.com/cli/cli/pull/13619 * chore(deps): bump github.com/sigstore/sigstore-go from 1.1.4 to 1.2.1 by @dependabot[bot] in https://github.com/cli/cli/pull/13662 * chore(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0 by @dependabot[bot] in https://github.com/cli/cli/pull/13641 **Full Changelog**: https://github.com/cli/cli/compare/v2.94.0...v2.95.0 ### v2.94.0 — GitHub CLI 2.94.0 - Date: 2026-06-10 - Version: v2.94.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.94.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.94.0 ##### Issue types, sub-issues, and relationships in `gh issue` issue-view-monas-cafe-with-frame This release brings GitHub's advanced issue features to `gh issue create`, `edit`, `view`, and `list`. You can set and view an issue's type, organize work with sub-issues, and track blocked-by and blocking relationships without leaving the command line: ```shell #### Set an issue's type gh issue create --type Bug gh issue edit 123 --type Bug #### Organize work with sub-issues gh issue create --parent 100 gh issue edit 100 --add-sub-issue 123 #### Track blocked-by and blocking relationships gh issue create --blocked-by 200 gh issue edit 123 --add-blocking 300 ``` Issue types and sub-issues are available on GitHub.com and GHES 3.17+; relationships require GHES 3.19+. ##### Manage discussions with `gh discussion` discussion-view-monas-cafe-with-frame This release introduces the `discussion` command set for working with GitHub Discussions in `gh`: ```shell #### List discussions gh discussion list #### View a discussion, its comments, or replies to a comment gh discussion view 123 --comments #### Create a discussion gh discussion create #### Edit a discussion gh discussion edit 123 #### Comment on a discussion gh discussion comment 123 #### Reply to a comment using its URL gh discussion comment ``` Run `gh discussion --help` for more information. > [!NOTE] > The `discussion` command set is in preview and is subject to change without notice. ##### Equip your agents with new `gh` features Teach your agents how to leverage new GitHub CLI features on release day by installing the `gh` skill: ```shell #### Install gh skill install cli/cli gh --scope user #### Or update gh skill update gh ``` ##### What's Changed ###### ✨ Features * Add `gh discussion` command set (`list`, `view`, `create`, `edit`) as a preview by @babakks and @maxbeizer in [#13541](https://github.com/cli/cli/pull/13541) * Add `gh discussion comment` to comment on and reply to discussions by @babakks in [#13620](https://github.com/cli/cli/pull/13620) * Add Issues 2.0 support: issue types, sub-issues, and relationships by @BagToad in [#13057](https://github.com/cli/cli/pull/13057) * Add `gh skill list` to inventory installed agent skills by @tommaso-moro in [#13418](https://github.com/cli/cli/pull/13418) * Add `--all` flag to `gh skill install` to install every skill in a repository by @tommaso-moro in [#13471](https://github.com/cli/cli/pull/13471) * Skip skills without metadata when running `gh skill update --all` by @tommaso-moro in [#13469](https://github.com/cli/cli/pull/13469) * Alias `gh extension uninstall` to `gh extension remove` by @BagToad in [#13599](https://github.com/cli/cli/pull/13599) * Auto-install official extensions in CI by @BagToad in [#13581](https://github.com/cli/cli/pull/13581) ###### 🐛 Fixes * fix(skill): support skill discovery in nested directories by @tommaso-moro in [#13459](https://github.com/cli/cli/pull/13459) ###### 📚 Docs & Chores * Bump Go to 1.26.4 by @github-actions[bot] in [#13578](https://github.com/cli/cli/pull/13578) * Clean up deferred issue update helper by @BagToad in [#13584](https://github.com/cli/cli/pull/13584) * Add terminal-mockup canvas extension for marketing screenshots by @BagToad in [#13612](https://github.com/cli/cli/pull/13612) * Add `gh discussion` and Issues 2.0 reference to the `gh` skill, plus a README note by @BagToad in [#13631](https://github.com/cli/cli/pull/13631) ###### :dependabot: Dependencies * chore(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by @dependabot in [#13521](https://github.com/cli/cli/pull/13521) _[Truncated at 4000 characters — full notes: https://github.com/cli/cli/releases/tag/v2.94.0]_ ### v2.93.0 — GitHub CLI 2.93.0 - Date: 2026-05-27 - Version: v2.93.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.93.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.93.0 ##### Security A security vulnerability has been identified, and fixed, that would incorrectly include authorization header in API requests to TUF repository mirrors via `gh attestation`, `gh release verify`, and `gh release verify-asset` commands. Users are advised to update `gh` to version `v2.93.0` as soon as possible. For more information see: https://github.com/cli/cli/security/advisories/GHSA-8xvp-7hj6-mcj9 ##### Support agents in `gh secret` command set The `gh secret` command set can now set agent secrets. For more information, see ["Configuring secrets and variables for Copilot cloud agent"](https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/configure-secrets-and-variables). ##### What's Changed ###### ✨ Features * Allow agents as application for secrets by @tenjaa in https://github.com/cli/cli/pull/13421 ###### 🐛 Fixes * fix(pr): remove numberFieldOnly optimization that skips API validation by @williammartin in https://github.com/cli/cli/pull/13327 * Print `gh auth refresh` for 401 returns by @333fred in https://github.com/cli/cli/pull/13068 * Derive digest algorithm from ref length in release verify commands by @bdehamer in https://github.com/cli/cli/pull/13430 ###### 📚 Docs & Chores * Add missing //go:build integration tag to verify_integration_test.go by @pdostal in https://github.com/cli/cli/pull/13303 * Fix flaky accessible prompter Password test timeout by @pdostal in https://github.com/cli/cli/pull/13304 * Enable extended PR screening for external PRs by @tidy-dev in https://github.com/cli/cli/pull/13312 * Grammar fixes by @scop in https://github.com/cli/cli/pull/13326 * Bump `gh copilot` telemetry sampling to 100% by @williammartin in https://github.com/cli/cli/pull/13362 * Record accessibility feature state in telemetry by @williammartin in https://github.com/cli/cli/pull/13363 * Poll TTY echo mode instead of sleeping in password tests by @pdostal in https://github.com/cli/cli/pull/13305 * Switch from actions/attest-build-provenance to actions/attest by @scop in https://github.com/cli/cli/pull/13325 * Fix skills acceptance tests by @williammartin in https://github.com/cli/cli/pull/13365 * Bump Go toolchain to 1.26.3 by @Copilot in https://github.com/cli/cli/pull/13367 * Trigger triage check-requirements on ready_for_review by @BagToad in https://github.com/cli/cli/pull/13383 * fix(copilot): hint to run copilot directly when exec fails by @babakks in https://github.com/cli/cli/pull/13393 * Update installation commands for GitHub CLI by @sassdawe in https://github.com/cli/cli/pull/13126 * Update CODEOWNERS for skills directory ownership by @williammartin in https://github.com/cli/cli/pull/13416 * fix(telemetry): prevent tzutil console flash on Windows by @adehad in https://github.com/cli/cli/pull/13353 * Fix bump-go.sh to tolerate missing toolchain directive by @Copilot in https://github.com/cli/cli/pull/12581 * docs: drop --repo gh-cli from dnf install lines by @c-tonneslan in https://github.com/cli/cli/pull/13444 * Remove third-party license debris by @williammartin in https://github.com/cli/cli/pull/13470 * Remove dependency on persistent token by @williammartin in https://github.com/cli/cli/pull/13474 * Remove discussion workflow by @williammartin in https://github.com/cli/cli/pull/13476 * Stop bumping homebrew on release by @williammartin in https://github.com/cli/cli/pull/13479 * build: update golang.org/x/crypto by @tommaso-moro in https://github.com/cli/cli/pull/13486 * Add 3 day dependabot cooldown period by @williammartin in https://github.com/cli/cli/pull/13488 * Run govulncheck daily instead of weekly by @williammartin in https://github.com/cli/cli/pull/13487 * SHA pin first-party GitHub Actions by @williammartin in https://github.com/cli/cli/pull/13491 * Link to Accessibility category for community discussions instead of ACR by @mxie in https://github.com/cli/cli/pull/13481 * docs: _[Truncated at 4000 characters — full notes: https://github.com/cli/cli/releases/tag/v2.93.0]_ ### v2.92.0 — GitHub CLI 2.92.0 - Date: 2026-04-28 - Version: v2.92.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.92.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.92.0 ##### Security A security vulnerability has been identified, and fixed, that could allow terminal escape sequence injection when users view GitHub Actions workflow logs using `gh run view --log` or `gh run view --log-failed`. Users are advised to update gh to version v2.92.0 as soon as possible. For more information see: https://github.com/cli/cli/security/advisories/GHSA-crc3-h8v6-qh57 ##### Support GitHub Enterprise Cloud (GHEC) in `skill` commandset Now `gh skill` subcommands (`install`, `preview`, `publish`, `search`, `update`) are able to work with [GHEC](https://docs.github.com/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud) hosts with data residency. ##### Add `--allow-hidden-dirs` flag to `skill preview` Following the addition of `--allow-hidden-dirs` to `skill install` in the previous release, now the flag is also supported in `skill preview`, allowing users to preview skills located in hidden (dot-prefixed) directories such as `.claude/skills/`, `.agents/skills/`, and `.github/skills/`. ##### What's Changed ###### ✨ Features * feat(skills): add --allow-hidden-dirs flag to preview command by @SamMorrowDrums in https://github.com/cli/cli/pull/13265 * feat(skills): support GHEC with data residency hosts by @SamMorrowDrums in https://github.com/cli/cli/pull/13264 ###### 🐛 Fixes * Fix SetSampleRate not updating sample_rate dimension by @williammartin in https://github.com/cli/cli/pull/13259 * Fix log terminal injection by @williammartin in https://github.com/cli/cli/pull/13272 * Add "Resource not accessible" to ProjectsV2IgnorableError by @maxbeizer in https://github.com/cli/cli/pull/13281 ###### 📚 Docs & Chores * fix: using variable interpolation `${{ in deployment.yml... by @orbisai0security in https://github.com/cli/cli/pull/13258 * docs: correct typo in Linux Homebrew copy by @cassidyjames in https://github.com/cli/cli/pull/13273 * Install skills flat by Name, not namespaced InstallName by @SamMorrowDrums in https://github.com/cli/cli/pull/13266 * chore: fix zsh completion on debian by @babakks in https://github.com/cli/cli/pull/13274 * Add trust disclaimer to extension help text by @travellertales in https://github.com/cli/cli/pull/13296 * Bump Go to 1.26.2 by @github-actions[bot] in https://github.com/cli/cli/pull/13301 ###### :dependabot: Dependencies * chore(deps): bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 by @dependabot[bot] in https://github.com/cli/cli/pull/13161 * chore(deps): bump github.com/google/go-containerregistry from 0.21.4 to 0.21.5 by @dependabot[bot] in https://github.com/cli/cli/pull/13162 * chore(deps): bump charm.land/lipgloss/v2 from 2.0.2 to 2.0.3 by @dependabot[bot] in https://github.com/cli/cli/pull/13163 * chore(deps): bump charm.land/bubbletea/v2 from 2.0.2 to 2.0.6 by @dependabot[bot] in https://github.com/cli/cli/pull/13206 * chore(deps): bump github.com/gdamore/tcell/v2 from 2.13.8 to 2.13.9 by @dependabot[bot] in https://github.com/cli/cli/pull/13241 * chore(deps): bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 by @dependabot[bot] in https://github.com/cli/cli/pull/13298 ##### New Contributors * @orbisai0security made their first contribution in https://github.com/cli/cli/pull/13258 * @cassidyjames made their first contribution in https://github.com/cli/cli/pull/13273 * @travellertales made their first contribution in https://github.com/cli/cli/pull/13296 **Full Changelog**: https://github.com/cli/cli/compare/v2.91.0...v2.92.0 ### v2.91.0 — GitHub CLI 2.91.0 - Date: 2026-04-22 - Version: v2.91.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.91.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.91.0 ##### GitHub CLI now collects pseudonymous telemetry To better understand how features are used in practice, especially as agentic adoption grows, GitHub CLI now sends pseudonymous telemetry. See [Telemetry](https://cli.github.com/telemetry) for more details on what's collected, why, and how to opt out. ##### Support more agents in `gh skill` Thanks to community feedback, `gh` now supports a large number of agent hosts. Run `gh skill install --help` for the list of available agents. ##### Improve skill discovery `gh skill install` now adds the `--allow-hidden-dirs` flag to support discovering skills in hidden (dot-prefixed) directories such as `.claude/skills/`, `.agents/skills/`, and `.github/skills/`. ##### Detect skills re-published from other sources GitHub CLI now detects if the skill to be installed is re-published from an upstream source and offers the option to install it from there. The `--upstream` flag is also added for non-interactive use cases. ##### What's Changed ###### :sparkles: Features * Add support for installation in multiple agent hosts in `gh skills install` by @tommaso-moro in https://github.com/cli/cli/pull/13209 * Add --allow-hidden-dirs flag to gh skill install by @SamMorrowDrums in https://github.com/cli/cli/pull/13213 * Make skill discovery less strict: support nested `skills/` directories by @SamMorrowDrums in https://github.com/cli/cli/pull/13235 * feat(skills): detect re-published skills and offer upstream install by @SamMorrowDrums in https://github.com/cli/cli/pull/13236 ###### :bug: Fixes * Fix `skills publish --fix` to not publish by @SamMorrowDrums in https://github.com/cli/cli/pull/13237 * fix(skills): match skills by install name in preview command by @SamMorrowDrums in https://github.com/cli/cli/pull/13249 ###### :books: Docs & Chores * Remove misleading text by @tommaso-moro in https://github.com/cli/cli/pull/13203 * Add sampled command telemetry by @williammartin in https://github.com/cli/cli/pull/13191 * Do not send telemetry for aliases by @williammartin in https://github.com/cli/cli/pull/13192 * Add skills specific telemetry by @williammartin in https://github.com/cli/cli/pull/13204 * Record CI context in telemetry by @williammartin in https://github.com/cli/cli/pull/13210 * Record official extension telemetry by @williammartin in https://github.com/cli/cli/pull/13205 * Add telemetry command by @williammartin in https://github.com/cli/cli/pull/13253 * Log when there is no telemetry by @williammartin in https://github.com/cli/cli/pull/13255 * docs(skills): add gh and gh-skill agent skills by @BagToad in https://github.com/cli/cli/pull/13244 * Enable telemetry without env var by @williammartin in https://github.com/cli/cli/pull/13254 **Full Changelog**: https://github.com/cli/cli/compare/v2.90.0...v2.91.0 ### v2.90.0 — GitHub CLI 2.90.0 - Date: 2026-04-16 - Version: v2.90.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.90.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.90.0 ##### Manage agent skills with `gh skill` (Public Preview) [Agent skills](https://agentskills.io) are portable sets of instructions, scripts, and resources that teach AI coding agents how to perform specific tasks. The new `gh skill` command makes it easy to discover, install, manage, and publish agent skills from GitHub repositories - right from the CLI. ``` #### Discover skills gh skill search copilot #### Preview a skill without installing gh skill preview github/awesome-copilot documentation-writer #### Install a skill gh skill install github/awesome-copilot documentation-writer #### Pin to a specific version gh skill install github/awesome-copilot documentation-writer --pin v1.2.0 #### Check installed skills for updates gh skill update --all #### Validate and publish your own skills gh skill publish --dry-run ``` Skills are automatically installed to the correct directory for your agent host. `gh skill` supports GitHub Copilot, Claude Code, Cursor, Codex, Gemini CLI, and Antigravity. Target a specific agent and scope with `--agent` and `--scope` flags. `gh skill publish` validates skills against the [Agent Skills specification](https://agentskills.io/specification) and checks remote settings like tag protection and immutable releases to improve supply chain security. Read the full announcement on the [GitHub Blog](https://github.blog/changelog/2026-04-16-manage-agent-skills-with-github-cli/). `gh skill` is launching in public preview and is subject to change without notice. ##### Official extension suggestions When you run a command that matches a known official extension that isn't installed (e.g. `gh stack`), the CLI now offers to install it instead of showing a generic "unknown command" error. This feature is available for [github/gh-aw](https://github.com/github/gh-aw) and [github/gh-stack](https://github.com/github/gh-stack). When possible, you'll be prompted to install immediately. When prompting isn't possible, the CLI prints the `gh extension install` command to run. ##### `gh extension install` no longer requires authentication `gh extension install` previously required a valid auth token even though it only needs to download a public release asset. The auth check has been removed, so you can install extensions without being logged in. ##### What's Changed ###### ✨ Features * Add `gh skill` command group: install, preview, search, update, publish by @SamMorrowDrums and @tommaso-moro in https://github.com/cli/cli/pull/13165 * Suggest and install official extensions for unknown commands by @BagToad in https://github.com/cli/cli/pull/13175 * `gh skill publish`: auto-push unpushed commits before publish by @SamMorrowDrums in https://github.com/cli/cli/pull/13171 * Disable auth check for `gh extension install` by @BagToad in https://github.com/cli/cli/pull/13176 ###### 🐛 Fixes * Fix infinite loop in `gh release list --limit 0` by @Bahtya in https://github.com/cli/cli/pull/13097 * Ensure `api` and `auth` commands record agentic invocations by @williammartin in https://github.com/cli/cli/pull/13046 * Disable auth check for local-only skill flags by @SamMorrowDrums in https://github.com/cli/cli/pull/13173 * URL-encode parentPath in skills discovery API call by @SamMorrowDrums in https://github.com/cli/cli/pull/13172 * Fix: use target directory remotes in skills publish by @SamMorrowDrums in https://github.com/cli/cli/pull/13169 * Fix: preserve namespace in skills search deduplication by @SamMorrowDrums in https://github.com/cli/cli/pull/13170 ###### 📚 Docs & Chores * docs: include PGP key fingerprints by @babakks in https://github.com/cli/cli/pull/13112 * docs: add sha/md5 checksums of keyring files by @babakks in https://github.com/cli/cli/pull/13150 * docs: fix SHA512 checksum for GPG key by @timsu92 in https://github.com/cli/cli/pull/13157 * docs(skill): polish skill commandset docs by @babakks in https://github.com/cli/cli/pu _[Truncated at 4000 characters — full notes: https://github.com/cli/cli/releases/tag/v2.90.0]_ ### v2.89.0 — GitHub CLI 2.89.0 - Date: 2026-03-26 - Version: v2.89.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.89.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.89.0 ##### :copilot: `gh agent-task` now works on ghe.com tenancies `gh agent-task` commands previously failed with `401 Unauthorized` for users on ghe.com tenancy hosts because the Copilot API URL was hardcoded. The URL is now resolved dynamically per host, so `gh agent-task` works correctly regardless of your GitHub hosting environment. ##### Experimental new prompter A new TUI-based prompter powered by [charmbracelet/huh](https://github.com/charmbracelet/huh) is available behind the `GH_EXPERIMENTAL_PROMPTER` environment variable. This is an early preview — try it out and share feedback! ``` export GH_EXPERIMENTAL_PROMPTER=1 ``` ##### `gh issue create` and `gh issue transfer` no longer require extra token scopes `gh issue create` and `gh issue transfer` previously fetched repository fields they didn't need, which could require additional token scopes. These commands now fetch only the minimal fields necessary for issue operations. ##### What's Changed ###### ✨ Features * `gh pr create`, `gh issue create`, `gh issue edit`: search-based assignee selection and login-based mutation on github.com by [@BagToad](https://github.com/BagToad) in [#13009](https://github.com/cli/cli/pull/13009) * Add experimental huh-only prompter gated by `GH_EXPERIMENTAL_PROMPTER` by [@BagToad](https://github.com/BagToad) in [#12859](https://github.com/cli/cli/pull/12859) ###### 🐛 Fixes * fix(agent-task): resolve Copilot API URL dynamically for ghe.com tenancies by [@BagToad](https://github.com/BagToad) in [#12956](https://github.com/cli/cli/pull/12956) * fix(issue): avoid fetching unnecessary fields in `issue create` and `issue transfer` by [@babakks](https://github.com/babakks) in [#12884](https://github.com/cli/cli/pull/12884) * fix: resolve data race in codespaces port forwarder by [@Lslightly](https://github.com/Lslightly) in [#13033](https://github.com/cli/cli/pull/13033) ###### 📚 Docs & Chores * Record agentic invocations in User-Agent header by [@williammartin](https://github.com/williammartin) in [#13023](https://github.com/cli/cli/pull/13023) * docs: clarify that `gh pr edit --add-reviewer` can re-request reviews by [@joshjohanning](https://github.com/joshjohanning) in [#13021](https://github.com/cli/cli/pull/13021) * Add AGENTS.md by [@williammartin](https://github.com/williammartin) in [#13024](https://github.com/cli/cli/pull/13024) * Fix typo: remove extra space in README.md link by [@realMelTuc](https://github.com/realMelTuc) in [#12725](https://github.com/cli/cli/pull/12725) * Align triage.md with current triage process by [@tidy-dev](https://github.com/tidy-dev) in [#13030](https://github.com/cli/cli/pull/13030) * Remove auto-labels from issue templates by [@tidy-dev](https://github.com/tidy-dev) in [#12972](https://github.com/cli/cli/pull/12972) * Consolidate actor-mode signals into `ApiActorsSupported` by [@BagToad](https://github.com/BagToad) in [#13025](https://github.com/cli/cli/pull/13025) * Fix acceptance test failures: git identity, headRepository JSON, obsolete traversal test by [@BagToad](https://github.com/BagToad) in [#13037](https://github.com/cli/cli/pull/13037) ###### :dependabot: Dependencies * chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 by [@dependabot](https://github.com/dependabot)[bot] in [#12963](https://github.com/cli/cli/pull/12963) * chore(deps): bump github.com/google/go-containerregistry from 0.20.7 to 0.21.3 by [@dependabot](https://github.com/dependabot)[bot] in [#12962](https://github.com/cli/cli/pull/12962) * chore(deps): bump github.com/zalando/go-keyring from 0.2.6 to 0.2.8 by [@dependabot](https://github.com/dependabot)[bot] in [#13031](https://github.com/cli/cli/pull/13031) * chore(deps): bump microsoft/setup-msbuild from 2.0.0 to 3.0.0 by [@dependabot](https://github.com/dependabot)[bot] in [#13005](https://github.com/cli/cli/pull/13005) * chore(deps): bump mislav/bump-homebrew-formula-action from 3.6 to 4.1 by [@dependabot] _[Truncated at 4000 characters — full notes: https://github.com/cli/cli/releases/tag/v2.89.0]_ ### v2.88.1 — GitHub CLI 2.88.1 - Date: 2026-03-12 - Version: v2.88.1 - Original notes: https://github.com/cli/cli/releases/tag/v2.88.1 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.88.1 ##### Fix `pr` commands failing with `read:project` scope error v2.88.0 introduced a regression where `pr` commands would fail with the error: ``` error: your authentication token is missing required scopes [read:project] To request it, run: gh auth refresh -s read:project ``` Previously, missing read:project scope was gracefully handled, and project data was silently skipped. A change inadvertently broke the error matching that enabled this graceful degradation. v2.88.1 reverts these changes so that `pr` commands work correctly without requiring the `read:project` scope. ##### What's Changed * Migrate Windows code signing from client secret to OIDC by @BagToad in https://github.com/cli/cli/pull/12911 * Revert "refactor: deduplicate scope error handling between api/client.go and project queries" by @williammartin in https://github.com/cli/cli/pull/12914 * Revert "fix: clarify scope error while creating issues for projects" by @williammartin in https://github.com/cli/cli/pull/12915 **Full Changelog**: https://github.com/cli/cli/compare/v2.88.0...v2.88.1