# GitHub CLI v2.99.0 — GitHub CLI 2.99.0 - Product: GitHub CLI (https://whatsnew.fyi/product/github-cli) - Vendor: GitHub - Date: 2026-09-01 - Version: v2.99.0 - Original notes: https://github.com/cli/cli/releases/tag/v2.99.0 - Permalink: https://whatsnew.fyi/product/github-cli/releases/v2.99.0 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. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add repeatable `--attach` flag to upload local images and videos to issue, pull request, and comment bodies - **added** — Add worktree checkout support to `gh issue develop` with `--checkout` and `--worktree` flags - **added** — Use text-only spinner output when `gh` is invoked by a coding agent - **added** — Honor `PI_CODING_AGENT_DIR` for Pi user skills - **fixed** — Explain when the target branch is checked out in another worktree in `gh repo sync` - **fixed** — Safely handle `--delete-branch` with linked worktrees in `gh pr merge` - **fixed** — End the declined-install warning with a newline in copilot - **fixed** — Clarify retry windows and attachment path resolution - **fixed** — Reject non-empty worktree targets before creating a branch in `gh issue develop` - **fixed** — Prevent linked-worktree corruption in `gh repo sync` - **fixed** — Reject `--comments` with `--json` in `gh view` - **fixed** — Limit attachment batches to 50 files - **fixed** — Install Codex user skills to `~/.agents/skills` ##### Attach images and videos to issues and pull requests The repeatable `--attach` flag uploads local images and videos and adds them to issue, pull request, or comment bodies. If a body already references the local path, `gh` replaces it with the uploaded URL; otherwise it appends the attachment: ```shell #### Attach files when creating or editing an issue gh issue create --attach './repro.png#The error state' gh issue edit 123 --attach ./walkthrough.mp4 #### Attach files when creating or editing a pull request gh pr create --attach ./before.png gh pr edit 456 --attach ./after.png #### Attach files to comments gh issue comment 123 --attach ./repro.png gh pr comment 456 --attach ./result.mp4 ``` Repeat the flag to attach multiple files in a single invocation. Attachments are available on GitHub.com and GitHub Enterprise Cloud. For more information see https://gh.io/gh-attach and https://github.blog/changelog/2026-09-01-github-cli-media-in-issues-pull-requests-and-comments/ ##### Worktree support extended to `gh issue develop` `gh issue develop` can now create a linked branch and check it out in a new Git worktree, leaving your current working copy unchanged: ```shell #### Create a linked branch for an issue and check it out in a worktree gh issue develop 123 --checkout --worktree /path/to/wt-feature ``` ##### What's Changed ###### ✨ Features * Add token and repository metadata required for attachment uploads by @BagToad in [#14177](https://github.com/cli/cli/pull/14177) * Add validation for attachable image and video files by @BagToad in [#14178](https://github.com/cli/cli/pull/14178) * Rewrite local Markdown references to uploaded attachment URLs by @BagToad in [#14179](https://github.com/cli/cli/pull/14179) * Add attachment uploads to GitHub by @BagToad in [#14180](https://github.com/cli/cli/pull/14180) * Add repeatable `--attach` flag parsing and upload orchestration by @BagToad in [#14181](https://github.com/cli/cli/pull/14181) * Add `--attach` to `gh pr comment` and `gh issue comment` by @BagToad in [#14182](https://github.com/cli/cli/pull/14182) * Add `--attach` to `gh pr create` and `gh pr edit` by @BagToad in [#14183](https://github.com/cli/cli/pull/14183) * Add `--attach` to `gh issue create` and `gh issue edit` by @BagToad in [#14184](https://github.com/cli/cli/pull/14184) * Add worktree checkout to `gh issue develop` by @sergiou87 in [#14136](https://github.com/cli/cli/pull/14136) * Use text-only spinner output when `gh` is invoked by a coding agent by @niik in [#14191](https://github.com/cli/cli/pull/14191) * Honor `PI_CODING_AGENT_DIR` for Pi user skills by @tommaso-moro in [#14260](https://github.com/cli/cli/pull/14260) ###### 🐛 Fixes * fix(repo sync): explain when the target branch is checked out in another worktree by @williammartin in [#14076](https://github.com/cli/cli/pull/14076) * fix(pr merge): safely handle `--delete-branch` with linked worktrees by @tidy-dev in [#14007](https://github.com/cli/cli/pull/14007) * fix(copilot): end the declined-install warning with a newline by @BagToad in [#14222](https://github.com/cli/cli/pull/14222) * fix(attach): clarify retry windows and attachment path resolution by @BagToad in [#14262](https://github.com/cli/cli/pull/14262) * fix(issue develop): reject non-empty worktree targets before creating a branch by @tidy-dev in [#14244](https://github.com/cli/cli/pull/14244) * fix(repo sync): prevent linked-worktree corruption by @sergiou87 in [#14060](https://github.com/cli/cli/pull/14060) * fix(view): reject `--comments` with `--json` by @BagToad in [#14215](https://github.com/cli/cli/pull/14215) * fix(attach): limit batches to 50 files by @BagToad in [#14289](https://github.com/cli/cli/pull/14289) * fix(skills): install Codex user skills to `~/.agents/skills` by @scarletkc in [#14154](https://github.com/cli/cli/pull/14154) ###### 📚 Docs & Chores * Address review feedback across the `--attach` _[Truncated at 4000 characters — full notes: https://github.com/cli/cli/releases/tag/v2.99.0]_