---
name: "gh-repo-edit"
section: "1"
platform: "linux"
package: "github-cli"
version: "2.102.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gh-repo-edit"
---

# gh-repo-edit(1)

Edit repository settings

## NAME

gh-repo-edit - Edit repository settings

## SYNOPSIS

**gh repo edit \[\<repository\>\] \[flags\]**

## DESCRIPTION

Edit repository settings.

To toggle a setting off, use the **--\<flag\>=false** syntax.

Changing repository visibility can have unexpected consequences including but not limited to:

- •

  Losing stars and watchers, affecting repository ranking

- •

  Detaching public forks from the network

- •

  Disabling push rulesets

- •

  Allowing access to GitHub Actions history and logs

When the **--visibility** flag is used, **--accept-visibility-change-consequences** flag is required.

For information on all the potential consequences, see  ⟨https://gh.io/setting-repository-visibility⟩.

When the **--enable-squash-merge** flag is used, **--squash-merge-commit-message** can be used to change the default squash merge commit message behavior:

- •

  **default**: uses commit title and message for 1 commit, or pull request title and list of commits for 2 or more

- •

  **pr-title**: uses pull request title

- •

  **pr-title-commits**: uses pull request title and list of commits

- •

  **pr-title-description**: uses pull request title and description

## OPTIONS

- **--accept-visibility-change-consequences**

  Accept the consequences of changing the repository visibility

- **--add-topic** **\<strings\>**

  Add repository topic

- **--allow-forking**

  Allow forking of an organization repository

- **--allow-update-branch**

  Allow a pull request head branch that is behind its base branch to be updated

- **--default-branch** **\<name\>**

  Set the default branch name for the repository

- **--delete-branch-on-merge**

  Delete head branch when pull requests are merged

- **-d**, **--description** **\<string\>**

  Description of the repository

- **--enable-advanced-security**

  Enable advanced security in the repository

- **--enable-auto-merge**

  Enable auto-merge functionality

- **--enable-discussions**

  Enable discussions in the repository

- **--enable-issues**

  Enable issues in the repository

- **--enable-merge-commit**

  Enable merging pull requests via merge commit

- **--enable-projects**

  Enable projects in the repository

- **--enable-rebase-merge**

  Enable merging pull requests via rebase

- **--enable-secret-scanning**

  Enable secret scanning in the repository

- **--enable-secret-scanning-push-protection**

  Enable secret scanning push protection in the repository. Secret scanning must be enabled first

- **--enable-squash-merge**

  Enable merging pull requests via squashed commit

- **--enable-wiki**

  Enable wiki in the repository

- **-h**, **--homepage** **\<URL\>**

  Repository home page URL

- **--remove-topic** **\<strings\>**

  Remove repository topic

- **--squash-merge-commit-message** **\<string\>**

  The default value for a squash merge commit message: {default\|pr-title\|pr-title-commits\|pr-title-description}

- **--template**

  Make the repository available as a template repository

- **--visibility** **\<string\>**

  Change the visibility of the repository to {public,private,internal}

## 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.

## EXAMPLE

```
# Enable issues and wiki
$ gh repo edit --enable-issues --enable-wiki
# Disable projects
$ gh repo edit --enable-projects=false
```

## SEE ALSO

**[gh-repo(1)](/gh-repo/1.md)**
