Reference

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)

History

--accept-visibility-change-consequences since Arch Linux 2026-11-01; --enable-advanced-security since Arch Linux 2026-11-01; --enable-secret-scanning since Arch Linux 2026-11-01; --enable-secret-scanning-push-protection since Arch Linux 2026-11-01; --squash-merge-commit-message since Arch Linux 2026-11-01.