Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Fix gh repo delete --yes safety issue when no repository argument provided - #11536

#11536
Merged
BagToad merged 6 commits into
trunkcli/cli:trunkfrom
copilot/fix-11535cli/cli:copilot/fix-11535Copy head branch name to clipboard
Aug 20, 2025
Merged

Fix gh repo delete --yes safety issue when no repository argument provided#11536
BagToad merged 6 commits into
trunkcli/cli:trunkfrom
copilot/fix-11535cli/cli:copilot/fix-11535Copy head branch name to clipboard

Conversation

Copilot AI commented Aug 19, 2025

Copy link
Copy Markdown
Contributor

The gh repo delete --yes command was dangerous when used without specifying a repository argument, as it would attempt to delete the repository in the current working directory without prompting for confirmation.

This PR implements a safety check that ignores the --yes flag when no repository argument is provided:

  • Interactive mode: The --yes flag is ignored and the user is prompted for confirmation
  • Non-interactive mode: An error is returned with a helpful message

Examples

Before this change:

# Dangerous - would delete current repo without prompting
gh repo delete --yes

After this change:

# Interactive mode - ignores --yes and prompts for confirmation
gh repo delete --yes

# Non-interactive mode - shows error
gh repo delete --yes
# Error: cannot non-interactively delete current repository. Please specify a repository or run interactively

# Explicit repo argument still works as before
gh repo delete owner/repo --yes  # No change in behavior

The fix also applies to the deprecated --confirm flag for consistency. The command documentation has been updated to clearly explain this safety behavior. All existing functionality with explicit repository arguments remains unchanged.

Fixes #11535.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI commented Aug 19, 2025

Copy link
Copy Markdown
Contributor Author

@BagToad 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot AI and others added 2 commits August 19, 2025 20:39
…nt provided

Co-authored-by: BagToad <47394200+BagToad@users.noreply.github.com>
Co-authored-by: BagToad <47394200+BagToad@users.noreply.github.com>
Copilot AI changed the title [WIP] gh repo delete: ignore --yes when no argument provided Fix gh repo delete --yes safety issue when no repository argument provided Aug 19, 2025
Copilot AI requested a review from BagToad August 19, 2025 20:42
Comment thread pkg/cmd/repo/delete/delete.go Outdated
Comment thread pkg/cmd/repo/delete/delete.go Outdated
Co-authored-by: BagToad <47394200+BagToad@users.noreply.github.com>
Copilot AI requested a review from BagToad August 19, 2025 20:58
@BagToad
BagToad marked this pull request as ready for review August 19, 2025 21:13
Copilot AI review requested due to automatic review settings August 19, 2025 21:13
@BagToad
BagToad requested a review from a team as a code owner August 19, 2025 21:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a safety check for the gh repo delete --yes command to prevent accidental deletion of the current repository when no repository argument is provided.

  • Ignores the --yes flag when no repository argument is provided in interactive mode
  • Returns an error when used non-interactively without a repository argument
  • Applies the same logic to the deprecated --confirm flag for consistency

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
pkg/cmd/repo/delete/delete.go Adds safety check to ignore confirmation flags when no repository argument provided
pkg/cmd/repo/delete/delete_test.go Adds test cases covering the new safety behavior for both interactive and non-interactive modes

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

@BagToad
BagToad requested a review from babakks August 19, 2025 21:13

@babakks babakks left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot This is a good PR, but needs a few changes/addition.

Besides the comments, the command docs (populated in cmd.Long) should also be updated to reflect this change.

Comment thread pkg/cmd/repo/delete/delete_test.go Outdated
Comment thread pkg/cmd/repo/delete/delete_test.go
…pdate documentation

Co-authored-by: babakks <36728931+babakks@users.noreply.github.com>

Copilot AI commented Aug 20, 2025

Copy link
Copy Markdown
Contributor Author

@copilot This is a good PR, but needs a few changes/addition.

Besides the comments, the command docs (populated in cmd.Long) should also be updated to reflect this change.

Updated the command documentation in cmd.Long to reflect the new safety behavior. The help text now explains that --yes and --confirm flags are ignored when no repository argument is provided, and provides guidance for non-interactive usage. Commit: 9ff3fc2

Copilot AI requested a review from babakks August 20, 2025 15:44
Comment thread pkg/cmd/repo/delete/delete.go Outdated
Co-authored-by: babakks <36728931+babakks@users.noreply.github.com>
Copilot AI requested a review from babakks August 20, 2025 15:51

@BagToad BagToad left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@babakks babakks left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks. 🙏

@BagToad
BagToad merged commit 5eddf8d into trunk Aug 20, 2025
10 of 11 checks passed
@BagToad
BagToad deleted the copilot/fix-11535 branch August 20, 2025 17:03
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 22, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cli/cli](https://github.com/cli/cli) | minor | `v2.76.2` -> `v2.78.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>cli/cli (cli/cli)</summary>

### [`v2.78.0`](https://github.com/cli/cli/releases/tag/v2.78.0): GitHub CLI 2.78.0

[Compare Source](cli/cli@v2.77.0...v2.78.0)

#### ℹ️ Note

This release was cut primarily to resolve a Linux package distribution issue. We recommend reviewing [the v2.77.0 release notes](https://github.com/cli/cli/releases/tag/v2.77.0) for the complete set of latest features and fixes.

#### What's Changed

##### ✨ Features

- Add `--force` flag to `gh run cancel` by [@&#8203;ankddev](https://github.com/ankddev) in [#&#8203;11513](cli/cli#11513)

##### 🐛 Fixes

- Fix failing to release Linux packages (affected v2.77.0). See [v2.77.0](https://github.com/cli/cli/releases/tag/v2.77.0) for more information.

**Full Changelog**: <cli/cli@v2.77.0...v2.78.0>

### [`v2.77.0`](https://github.com/cli/cli/releases/tag/v2.77.0): GitHub CLI 2.77.0

[Compare Source](cli/cli@v2.76.2...v2.77.0)

#### ⚠️ Incomplete Release

The v2.77.0 release experienced a failure publishing to our official Linux repos. This is resolved in [v2.78.0](https://github.com/cli/cli/releases/tag/v2.78.0), so we recommend using that release instead.

#### What's Changed

##### ✨ Features

- Report that v1 classic projects are detected on GHES 3.16.x or older by [@&#8203;andyfeller](https://github.com/andyfeller) in [#&#8203;11491](cli/cli#11491)
- Display v2 projects in `gh issue view` by [@&#8203;andyfeller](https://github.com/andyfeller) in [#&#8203;11496](cli/cli#11496)
- View v2 projects in `gh pr view` output by [@&#8203;andyfeller](https://github.com/andyfeller) in [#&#8203;11497](cli/cli#11497)
- Ensure users can see v2 projects when viewing issues and MRs, avoid v1 projects on GHES 3.17 and newer by [@&#8203;andyfeller](https://github.com/andyfeller) in [#&#8203;11514](cli/cli#11514)

##### 🐛 Fixes

- fix error for ErrReleaseNotFound when fetching ref by [@&#8203;ejahnGithub](https://github.com/ejahnGithub) in [#&#8203;11451](cli/cli#11451)
- add test for FetchRefSHA by [@&#8203;ejahnGithub](https://github.com/ejahnGithub) in [#&#8203;11481](cli/cli#11481)
- Fix `gh repo delete --yes` safety issue when no repository argument provided by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;11536](cli/cli#11536)

##### 📚 Docs & Chores

- Improve spam detection evals by [@&#8203;babakks](https://github.com/babakks) in [#&#8203;11419](cli/cli#11419)
- Fix `help wanted` label regexp in CI automation by [@&#8203;babakks](https://github.com/babakks) in [#&#8203;11423](cli/cli#11423)
- Update spam detection to comment on and close issue by [@&#8203;andyfeller](https://github.com/andyfeller) in [#&#8203;11435](cli/cli#11435)
- Adding a note to `gh search` docs to explain the usage of `--` to exclude certain results by [@&#8203;Sukhpreet-s](https://github.com/Sukhpreet-s) in [#&#8203;11162](cli/cli#11162)
- Update issue triage guidelines and label usage by [@&#8203;BagToad](https://github.com/BagToad) in [#&#8203;11454](cli/cli#11454)
- Reorganize installation docs by [@&#8203;andyfeller](https://github.com/andyfeller) in [#&#8203;11473](cli/cli#11473)
- Update govulncheck workflow to scan source code by [@&#8203;BagToad](https://github.com/BagToad) in [#&#8203;11482](cli/cli#11482)
- Hidden trusted root flag for release verify by [@&#8203;ejahnGithub](https://github.com/ejahnGithub) in [#&#8203;11511](cli/cli#11511)

##### :dependabot: Dependencies

- Regenerate third-party licenses on trunk pushes by [@&#8203;andyfeller](https://github.com/andyfeller) in [#&#8203;11370](cli/cli#11370)
- Update third-party license versions by [@&#8203;BagToad](https://github.com/BagToad) in [#&#8203;11557](cli/cli#11557)
- Bump Go to 1.24.6 by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;11467](cli/cli#11467)
- chore(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11319](cli/cli#11319)
- chore(deps): bump actions/download-artifact from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11458](cli/cli#11458)
- chore(deps): bump actions/checkout from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11490](cli/cli#11490)
- chore(deps): bump github.com/yuin/goldmark from 1.7.12 to 1.7.13 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11368](cli/cli#11368)
- Bump google.golang.org/grpc & other required dependencies by [@&#8203;BagToad](https://github.com/BagToad) in [#&#8203;11510](cli/cli#11510)
- chore(deps): bump google.golang.org/grpc from 1.73.0 to 1.74.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11367](cli/cli#11367)
- chore(deps): bump github.com/cli/go-gh/v2 from 2.12.1 to 2.12.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11537](cli/cli#11537)
- chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11556](cli/cli#11556)

#### New Contributors

- [@&#8203;Sukhpreet-s](https://github.com/Sukhpreet-s) made their first contribution in [#&#8203;11162](cli/cli#11162)
- [@&#8203;Copilot](https://github.com/Copilot) made their first contribution in [#&#8203;11536](cli/cli#11536)

**Full Changelog**: <cli/cli@v2.76.2...v2.77.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi4xIiwidXBkYXRlZEluVmVyIjoiNDEuODIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gh repo delete: ignore --yes when no argument provided

4 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.