gh reference
gh reference
gh alias <command>
Create command shortcuts
gh alias delete {<alias> | --all} [flags]
Delete set aliases
--all Delete all aliases
gh alias import [<filename> | -] [flags]
Import aliases from a YAML file
--clobber Overwrite existing aliases of the same name
gh alias list
List your aliases
Aliases
gh alias ls
gh alias set <alias> <expansion> [flags]
Create a shortcut for a gh command
--clobber Overwrite existing aliases of the same name
-s, --shell Declare an alias to be passed through a shell interpreter
gh api <endpoint> [flags]
Make an authenticated GitHub API request
--cache duration Cache the response, e.g. "3600s", "60m", "1h"
-F, --field key=value Add a typed parameter in key=value format
-H, --header key:value Add a HTTP request header in key:value format
--hostname string The GitHub hostname for the request (default "github.com")
-i, --include Include HTTP response status line and headers in the output
--input file The file to use as body for the HTTP request (use "-" to read from standard input)
-q, --jq string Query to select values from the response using jq syntax
-X, --method string The HTTP method for the request (default "GET")
--paginate Make additional HTTP requests to fetch all pages of results
-p, --preview names GitHub API preview names to request (without the "-preview" suffix)
-f, --raw-field key=value Add a string parameter in key=value format
--silent Do not print the response body
--slurp Use with "--paginate" to return an array of all pages of either JSON arrays or objects
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--verbose Include full HTTP request and response in the output
gh attestation [subcommand]
Work with artifact attestations
Aliases
gh at
gh attestation download [<file-path> | oci://<image-uri>] [--owner | --repo] [flags]
Download an artifact's attestations for offline use
-d, --digest-alg string The algorithm used to compute a digest of the artifact: {sha256|sha512} (default "sha256")
--hostname string Configure host to use
-L, --limit int Maximum number of attestations to fetch (default 30)
-o, --owner string a GitHub organization to scope attestation lookup by
--predicate-type string Filter attestations by provided predicate type
-R, --repo string Repository name in the format <owner>/<repo>
gh attestation trusted-root [--tuf-url <url> --tuf-root <file-path>] [--verify-only] [flags]
Output trusted_root.jsonl contents, likely for offline verification
--hostname string Configure host to use
--tuf-root string Path to the TUF root.json file on disk
--tuf-url string URL to the TUF repository mirror
--verify-only Don't output trusted_root.jsonl contents
gh attestation verify [<file-path> | oci://<image-uri>] [--owner | --repo] [flags]
Verify an artifact's integrity using attestations
-b, --bundle string Path to bundle on disk, either a single bundle in a JSON file or a JSON lines file with multiple bundles
--bundle-from-oci When verifying an OCI image, fetch the attestation bundle from the OCI registry instead of from GitHub
--cert-identity string Enforce that the certificate's subject alternative name matches the provided value exactly
-i, --cert-identity-regex string Enforce that the certificate's subject alternative name matches the provided regex
--cert-oidc-issuer string Issuer of the OIDC token (default "https://token.actions.githubusercontent.com")
--custom-trusted-root string Path to a trusted_root.jsonl file; likely for offline verification
--deny-self-hosted-runners Fail verification for attestations generated on self-hosted runners
-d, --digest-alg string The algorithm used to compute a digest of the artifact: {sha256|sha512} (default "sha256")
--format string Output format: {json}
--hostname string Configure host to use
-q, --jq expression Filter JSON output using a jq expression
-L, --limit int Maximum number of attestations to fetch (default 30)
--no-public-good Do not verify attestations signed with Sigstore public good instance
-o, --owner string GitHub organization to scope attestation lookup by
--predicate-type string Filter attestations by provided predicate type (default "https://slsa.dev/provenance/v1")
-R, --repo string Repository name in the format <owner>/<repo>
--signer-repo string Repository of reusable workflow that signed attestation in the format <owner>/<repo>
--signer-workflow string Workflow that signed attestation in the format [host/]<owner>/<repo>/<path>/<to>/<workflow>
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh auth <command>
Authenticate gh and git with GitHub
gh auth login [flags]
Log in to a GitHub account
-p, --git-protocol string The protocol to use for git operations on this host: {ssh|https}
-h, --hostname string The hostname of the GitHub instance to authenticate with
--insecure-storage Save authentication credentials in plain text instead of credential store
-s, --scopes strings Additional authentication scopes to request
--skip-ssh-key Skip generate/upload SSH key prompt
-w, --web Open a browser to authenticate
--with-token Read token from standard input
gh auth logout [flags]
Log out of a GitHub account
-h, --hostname string The hostname of the GitHub instance to log out of
-u, --user string The account to log out of
gh auth refresh [flags]
Refresh stored authentication credentials
-h, --hostname string The GitHub host to use for authentication
--insecure-storage Save authentication credentials in plain text instead of credential store
-r, --remove-scopes strings Authentication scopes to remove from gh
--reset-scopes Reset authentication scopes to the default minimum set of scopes
-s, --scopes strings Additional authentication scopes for gh to have
gh auth setup-git [flags]
Setup git with GitHub CLI
-f, --force --hostname Force setup even if the host is not known. Must be used in conjunction with --hostname
-h, --hostname string The hostname to configure git for
gh auth status [flags]
Display active account and authentication state on each known GitHub host
-a, --active Display the active account only
-h, --hostname string Check only a specific hostname's auth status
-t, --show-token Display the auth token
gh auth switch [flags]
Switch active GitHub account
-h, --hostname string The hostname of the GitHub instance to switch account for
-u, --user string The account to switch to
gh auth token [flags]
Print the authentication token gh uses for a hostname and account
-h, --hostname string The hostname of the GitHub instance authenticated with
-u, --user string The account to output the token for
gh browse [<number> | <path> | <commit-SHA>] [flags]
Open repositories, issues, pull requests, and more in the browser
-b, --branch string Select another branch by passing in the branch name
-c, --commit string[="last"] Select another commit by passing in the commit SHA, default is the last commit
-n, --no-browser Print destination URL instead of opening the browser
-p, --projects Open repository projects
-r, --releases Open repository releases
-s, --settings Open repository settings
-w, --wiki Open repository wiki
gh cache <command>
Manage GitHub Actions caches
gh cache delete [<cache-id>| <cache-key> | --all] [flags]
Delete GitHub Actions caches
-a, --all Delete all caches
gh cache list [flags]
List GitHub Actions caches
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-k, --key string Filter by cache key prefix
-L, --limit int Maximum number of caches to fetch (default 30)
-O, --order string Order of caches returned: {asc|desc} (default "desc")
-r, --ref string Filter by ref, formatted as refs/heads/<branch name> or refs/pull/<number>/merge
-S, --sort string Sort fetched caches: {created_at|last_accessed_at|size_in_bytes} (default "last_accessed_at")
-t, --template string Format JSON output using a Go template; see "gh help formatting"
Aliases
gh cache ls
gh codespace
Connect to and manage codespaces
Aliases
gh cs
gh codespace code [flags]
Open a codespace in Visual Studio Code
-c, --codespace string Name of the codespace
--insiders Use the insiders version of Visual Studio Code
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
-w, --web Use the web version of Visual Studio Code
gh codespace cp [-e] [-r] [-- [<scp flags>...]] <sources>... <dest>
Copy files between local and remote file systems
-c, --codespace string Name of the codespace
-e, --expand Expand remote file names on remote shell
-p, --profile string Name of the SSH profile to use
-r, --recursive Recursively copy directories
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
gh codespace create [flags]
Create a codespace
-b, --branch string repository branch
--default-permissions do not prompt to accept additional permissions requested by the codespace
--devcontainer-path string path to the devcontainer.json file to use when creating codespace
-d, --display-name string display name for the codespace (48 characters or less)
--idle-timeout duration allowed inactivity before codespace is stopped, e.g. "10m", "1h"
-l, --location string location: {EastUs|SouthEastAsia|WestEurope|WestUs2} (determined automatically if not provided)
-m, --machine string hardware specifications for the VM
-R, --repo string repository name with owner: user/repo
--retention-period duration allowed time after shutting down before the codespace is automatically deleted (maximum 30 days), e.g. "1h", "72h"
-s, --status show status of post-create command and dotfiles
-w, --web create codespace from browser, cannot be used with --display-name, --idle-timeout, or --retention-period
gh codespace delete [flags]
Delete codespaces
--all Delete all codespaces
-c, --codespace string Name of the codespace
--days N Delete codespaces older than N days
-f, --force Skip confirmation for codespaces that contain unsaved changes
-o, --org login The login handle of the organization (admin-only)
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
-u, --user username The username to delete codespaces for (used with --org)
gh codespace edit [flags]
Edit a codespace
-c, --codespace string Name of the codespace
-d, --display-name string Set the display name
-m, --machine string Set hardware specifications for the VM
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
gh codespace jupyter [flags]
Open a codespace in JupyterLab
-c, --codespace string Name of the codespace
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
gh codespace list [flags]
List codespaces
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-L, --limit int Maximum number of codespaces to list (default 30)
-o, --org login The login handle of the organization to list codespaces for (admin-only)
-R, --repo string Repository name with owner: user/repo
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-u, --user username The username to list codespaces for (used with --org)
-w, --web List codespaces in the web browser, cannot be used with --user or --org
Aliases
gh codespace ls, gh cs ls
gh codespace logs [flags]
Access codespace logs
-c, --codespace string Name of the codespace
-f, --follow Tail and follow the logs
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
gh codespace ports [flags]
List ports in a codespace
-c, --codespace string Name of the codespace
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh codespace ports forward <remote-port>:<local-port>...
Forward ports
gh codespace ports visibility <port>:{public|private|org}...
Change the visibility of the forwarded port
gh codespace rebuild [flags]
Rebuild a codespace
-c, --codespace string Name of the codespace
--full perform a full rebuild
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
gh codespace ssh [<flags>...] [-- <ssh-flags>...] [<command>]
SSH into a codespace
-c, --codespace string Name of the codespace
--config Write OpenSSH configuration to stdout
-d, --debug Log debug data to a file
--debug-file string Path of the file log to
--profile string Name of the SSH profile to use
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
--server-port int SSH server port number (0 => pick unused)
gh codespace stop [flags]
Stop a running codespace
-c, --codespace string Name of the codespace
-o, --org login The login handle of the organization (admin-only)
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
-u, --user username The username to stop codespace for (used with --org)
gh codespace view [flags]
View details about a codespace
-c, --codespace string Name of the codespace
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-R, --repo string Filter codespace selection by repository name (user/repo)
--repo-owner string Filter codespace selection by repository owner (username or org)
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh completion -s <shell>
Generate shell completion scripts
-s, --shell string Shell type: {bash|zsh|fish|powershell}
gh config <command>
Manage configuration for gh
gh config clear-cache
Clear the cli cache
gh config get <key> [flags]
Print the value of a given configuration key
-h, --host string Get per-host setting
gh config list [flags]
Print a list of configuration keys and values
-h, --host string Get per-host configuration
Aliases
gh config ls
gh config set <key> <value> [flags]
Update configuration with a value for the given key
-h, --host string Set per-host setting
gh extension
Manage gh extensions
Aliases
gh extensions, gh ext
gh extension browse [flags]
Enter a UI for browsing, adding, and removing extensions
--debug log to /tmp/extBrowse-*
-s, --single-column Render TUI with only one column of text
gh extension create [<name>] [flags]
Create a new extension
--precompiled string Create a precompiled extension. Possible values: go, other
gh extension exec <name> [args]
Execute an installed extension
gh extension install <repository> [flags]
Install a gh extension from a repository
--force force upgrade extension, or ignore if latest already installed
--pin string pin extension to a release tag or commit ref
gh extension list
List installed extension commands
Aliases
gh ext ls, gh extension ls, gh extensions ls
gh extension remove <name>
Remove an installed extension
gh extension search [<query>] [flags]
Search extensions to the GitHub CLI
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
--license strings Filter based on license type
-L, --limit int Maximum number of extensions to fetch (default 30)
--order string Order of repositories returned, ignored unless '--sort' flag is specified: {asc|desc} (default "desc")
--owner strings Filter on owner
--sort string Sort fetched repositories: {forks|help-wanted-issues|stars|updated} (default "best-match")
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open the search query in the web browser
gh extension upgrade {<name> | --all} [flags]
Upgrade installed extensions
--all Upgrade all extensions
--dry-run Only display upgrades
--force Force upgrade extension
gh gist <command>
Manage gists
gh gist clone <gist> [<directory>] [-- <gitflags>...]
Clone a gist locally
gh gist create [<filename>... | -] [flags]
Create a new gist
-d, --desc string A description for this gist
-f, --filename string Provide a filename to be used when reading from standard input
-p, --public List the gist publicly (default "secret")
-w, --web Open the web browser with created gist
Aliases
gh gist new
gh gist delete {<id> | <url>}
Delete a gist
gh gist edit {<id> | <url>} [<filename>] [flags]
Edit one of your gists
-a, --add string Add a new file to the gist
-d, --desc string New description for the gist
-f, --filename string Select a file to edit
-r, --remove string Remove a file from the gist
gh gist list [flags]
List your gists
--filter expression Filter gists using a regular expression
--include-content Include gists' file content when filtering
-L, --limit int Maximum number of gists to fetch (default 10)
--public Show only public gists
--secret Show only secret gists
Aliases
gh gist ls
gh gist rename {<id> | <url>} <oldFilename> <newFilename>
Rename a file in a gist
gh gist view [<id> | <url>] [flags]
View a gist
-f, --filename string Display a single file from the gist
--files List file names from the gist
-r, --raw Print raw instead of rendered gist contents
-w, --web Open gist in the browser
gh gpg-key <command>
Manage GPG keys
gh gpg-key add [<key-file>] [flags]
Add a GPG key to your GitHub account
-t, --title string Title for the new key
gh gpg-key delete <key-id> [flags]
Delete a GPG key from your GitHub account
-y, --yes Skip the confirmation prompt
gh gpg-key list
Lists GPG keys in your GitHub account
Aliases
gh gpg-key ls
gh issue <command>
Manage issues
gh issue close {<number> | <url>} [flags]
Close issue
-c, --comment string Leave a closing comment
-r, --reason string Reason for closing: {completed|not planned}
gh issue comment {<number> | <url>} [flags]
Add a comment to an issue
-b, --body text The comment body text
-F, --body-file file Read body text from file (use "-" to read from standard input)
--edit-last Edit the last comment of the same author
-e, --editor Skip prompts and open the text editor to write the body in
-w, --web Open the web browser to write the comment
gh issue create [flags]
Create a new issue
-a, --assignee login Assign people by their login. Use "@me" to self-assign.
-b, --body string Supply a body. Will prompt for one otherwise.
-F, --body-file file Read body text from file (use "-" to read from standard input)
-e, --editor Skip prompts and open the text editor to write the title and body in. The first line is the title and the remaining text is the body.
-l, --label name Add labels by name
-m, --milestone name Add the issue to a milestone by name
-p, --project title Add the issue to projects by title
--recover string Recover input from a failed run of create
-T, --template file Template file to use as starting body text
-t, --title string Supply a title. Will prompt for one otherwise.
-w, --web Open the browser to create an issue
Aliases
gh issue new
gh issue delete {<number> | <url>} [flags]
Delete issue
--yes confirm deletion without prompting
gh issue develop {<number> | <url>} [flags]
Manage linked branches for an issue
-b, --base string Name of the remote branch you want to make your new branch from
--branch-repo string Name or URL of the repository where you want to create your new branch
-c, --checkout Checkout the branch after creating it
-l, --list List linked branches for the issue
-n, --name string Name of the branch to create
gh issue edit {<numbers> | <urls>} [flags]
Edit issues
--add-assignee login Add assigned users by their login. Use "@me" to assign yourself.
--add-label name Add labels by name
--add-project title Add the issue to projects by title
-b, --body string Set the new body.
-F, --body-file file Read body text from file (use "-" to read from standard input)
-m, --milestone name Edit the milestone the issue belongs to by name
--remove-assignee login Remove assigned users by their login. Use "@me" to unassign yourself.
--remove-label name Remove labels by name
--remove-milestone Remove the milestone association from the issue
--remove-project title Remove the issue from projects by title
-t, --title string Set the new title.
gh issue list [flags]
List issues in a repository
--app string Filter by GitHub App author
-a, --assignee string Filter by assignee
-A, --author string Filter by author
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-l, --label strings Filter by label
-L, --limit int Maximum number of issues to fetch (default 30)
--mention string Filter by mention
-m, --milestone string Filter by milestone number or title
-S, --search query Search issues with query
-s, --state string Filter by state: {open|closed|all} (default "open")
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web List issues in the web browser
Aliases
gh issue ls
gh issue lock {<number> | <url>} [flags]
Lock issue conversation
-r, --reason string Optional reason for locking conversation (off_topic, resolved, spam, too_heated).
gh issue pin {<number> | <url>}
Pin a issue
gh issue reopen {<number> | <url>} [flags]
Reopen issue
-c, --comment string Add a reopening comment
gh issue status [flags]
Show status of relevant issues
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh issue transfer {<number> | <url>} <destination-repo>
Transfer issue to another repository
gh issue unlock {<number> | <url>}
Unlock issue conversation
gh issue unpin {<number> | <url>}
Unpin a issue
gh issue view {<number> | <url>} [flags]
View an issue
-c, --comments View issue comments
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open an issue in the browser
gh label <command>
Manage labels
gh label clone <source-repository> [flags]
Clones labels from one repository to another
-f, --force Overwrite labels in the destination repository
gh label create <name> [flags]
Create a new label
-c, --color string Color of the label
-d, --description string Description of the label
-f, --force Update the label color and description if label already exists
gh label delete <name> [flags]
Delete a label from a repository
--yes Confirm deletion without prompting
gh label edit <name> [flags]
Edit a label
-c, --color string Color of the label
-d, --description string Description of the label
-n, --name string New name of the label
gh label list [flags]
List labels in a repository
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-L, --limit int Maximum number of labels to fetch (default 30)
--order string Order of labels returned: {asc|desc} (default "asc")
-S, --search string Search label names and descriptions
--sort string Sort fetched labels: {created|name} (default "created")
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web List labels in the web browser
Aliases
gh label ls
gh org <command>
Manage organizations
gh org list [flags]
List organizations for the authenticated user.
-L, --limit int Maximum number of organizations to list (default 30)
Aliases
gh org ls
gh pr <command>
Manage pull requests
gh pr checkout {<number> | <url> | <branch>} [flags]
Check out a pull request in git
-b, --branch string Local branch name to use (default [the name of the head branch])
--detach Checkout PR with a detached HEAD
-f, --force Reset the existing local branch to the latest state of the pull request
--recurse-submodules Update all submodules after checkout
gh pr checks [<number> | <url> | <branch>] [flags]
Show CI status for a single pull request
--fail-fast Exit watch mode on first check failure
-i, --interval --watch Refresh interval in seconds when using --watch flag (default 10)
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
--required Only show checks that are required
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--watch Watch checks until they finish
-w, --web Open the web browser to show details about checks
gh pr close {<number> | <url> | <branch>} [flags]
Close a pull request
-c, --comment string Leave a closing comment
-d, --delete-branch Delete the local and remote branch after close
gh pr comment [<number> | <url> | <branch>] [flags]
Add a comment to a pull request
-b, --body text The comment body text
-F, --body-file file Read body text from file (use "-" to read from standard input)
--edit-last Edit the last comment of the same author
-e, --editor Skip prompts and open the text editor to write the body in
-w, --web Open the web browser to write the comment
gh pr create [flags]
Create a pull request
-a, --assignee login Assign people by their login. Use "@me" to self-assign.
-B, --base branch The branch into which you want your code merged
-b, --body string Body for the pull request
-F, --body-file file Read body text from file (use "-" to read from standard input)
-d, --draft Mark pull request as a draft
--dry-run Print details instead of creating the PR. May still push git changes.
-e, --editor Skip prompts and open the text editor to write the title and body in. The first line is the title and the remaining text is the body.
-f, --fill Use commit info for title and body
--fill-first Use first commit info for title and body
--fill-verbose Use commits msg+body for description
-H, --head branch The branch that contains commits for your pull request (default [current branch])
-l, --label name Add labels by name
-m, --milestone name Add the pull request to a milestone by name
--no-maintainer-edit Disable maintainer's ability to modify pull request
-p, --project title Add the pull request to projects by title
--recover string Recover input from a failed run of create
-r, --reviewer handle Request reviews from people or teams by their handle
-T, --template file Template file to use as starting body text
-t, --title string Title for the pull request
-w, --web Open the web browser to create a pull request
Aliases
gh pr new
gh pr diff [<number> | <url> | <branch>] [flags]
View changes in a pull request
--color string Use color in diff output: {always|never|auto} (default "auto")
--name-only Display only names of changed files
--patch Display diff in patch format
-w, --web Open the pull request diff in the browser
gh pr edit [<number> | <url> | <branch>] [flags]
Edit a pull request
--add-assignee login Add assigned users by their login. Use "@me" to assign yourself.
--add-label name Add labels by name
--add-project title Add the pull request to projects by title
--add-reviewer login Add reviewers by their login.
-B, --base branch Change the base branch for this pull request
-b, --body string Set the new body.
-F, --body-file file Read body text from file (use "-" to read from standard input)
-m, --milestone name Edit the milestone the pull request belongs to by name
--remove-assignee login Remove assigned users by their login. Use "@me" to unassign yourself.
--remove-label name Remove labels by name
--remove-milestone Remove the milestone association from the pull request
--remove-project title Remove the pull request from projects by title
--remove-reviewer login Remove reviewers by their login.
-t, --title string Set the new title.
gh pr list [flags]
List pull requests in a repository
--app string Filter by GitHub App author
-a, --assignee string Filter by assignee
-A, --author string Filter by author
-B, --base string Filter by base branch
-d, --draft Filter by draft state
-H, --head string Filter by head branch
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-l, --label strings Filter by label
-L, --limit int Maximum number of items to fetch (default 30)
-S, --search query Search pull requests with query
-s, --state string Filter by state: {open|closed|merged|all} (default "open")
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web List pull requests in the web browser
Aliases
gh pr ls
gh pr lock {<number> | <url>} [flags]
Lock pull request conversation
-r, --reason string Optional reason for locking conversation (off_topic, resolved, spam, too_heated).
gh pr merge [<number> | <url> | <branch>] [flags]
Merge a pull request
--admin Use administrator privileges to merge a pull request that does not meet requirements
-A, --author-email text Email text for merge commit author
--auto Automatically merge only after necessary requirements are met
-b, --body text Body text for the merge commit
-F, --body-file file Read body text from file (use "-" to read from standard input)
-d, --delete-branch Delete the local and remote branch after merge
--disable-auto Disable auto-merge for this pull request
--match-head-commit SHA Commit SHA that the pull request head must match to allow merge
-m, --merge Merge the commits with the base branch
-r, --rebase Rebase the commits onto the base branch
-s, --squash Squash the commits into one commit and merge it into the base branch
-t, --subject text Subject text for the merge commit
gh pr ready [<number> | <url> | <branch>] [flags]
Mark a pull request as ready for review
--undo Convert a pull request to "draft"
gh pr reopen {<number> | <url> | <branch>} [flags]
Reopen a pull request
-c, --comment string Add a reopening comment
gh pr review [<number> | <url> | <branch>] [flags]
Add a review to a pull request
-a, --approve Approve pull request
-b, --body string Specify the body of a review
-F, --body-file file Read body text from file (use "-" to read from standard input)
-c, --comment Comment on a pull request
-r, --request-changes Request changes on a pull request
gh pr status [flags]
Show status of relevant pull requests
-c, --conflict-status Display the merge conflict status of each pull request
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh pr unlock {<number> | <url>}
Unlock pull request conversation
gh pr update-branch [<number> | <url> | <branch>] [flags]
Update a pull request branch
--rebase Update PR branch by rebasing on top of latest base branch
gh pr view [<number> | <url> | <branch>] [flags]
View a pull request
-c, --comments View pull request comments
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open a pull request in the browser
gh project <command>
Work with GitHub Projects.
gh project close [<number>] [flags]
Close a project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--undo Reopen a closed project
gh project copy [<number>] [flags]
Copy a project
--drafts Include draft issues when copying
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--source-owner string Login of the source owner. Use "@me" for the current user.
--target-owner string Login of the target owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--title string Title for the new project
gh project create [flags]
Create a project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--title string Title for the project
gh project delete [<number>] [flags]
Delete a project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh project edit [<number>] [flags]
Edit a project
-d, --description string New description of the project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
--readme string New readme for the project
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--title string New title for the project
--visibility string Change project visibility: {PUBLIC|PRIVATE}
gh project field-create [<number>] [flags]
Create a field in a project
--data-type string DataType of the new field.: {TEXT|SINGLE_SELECT|DATE|NUMBER}
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--name string Name of the new field
--owner string Login of the owner. Use "@me" for the current user.
--single-select-options strings Options for SINGLE_SELECT data type
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh project field-delete [flags]
Delete a field in a project
--format string Output format: {json}
--id string ID of the field to delete
-q, --jq expression Filter JSON output using a jq expression
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh project field-list number [flags]
List the fields in a project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
-L, --limit int Maximum number of fields to fetch (default 30)
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh project item-add [<number>] [flags]
Add a pull request or an issue to a project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--url string URL of the issue or pull request to add to the project
gh project item-archive [<number>] [flags]
Archive an item in a project
--format string Output format: {json}
--id string ID of the item to archive
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--undo Unarchive an item
gh project item-create [<number>] [flags]
Create a draft issue item in a project
--body string Body for the draft issue
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--title string Title for the draft issue
gh project item-delete [<number>] [flags]
Delete an item from a project by ID
--format string Output format: {json}
--id string ID of the item to delete
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh project item-edit [flags]
Edit an item in a project
--body string Body of the draft issue item
--clear Remove field value
--date string Date value for the field (YYYY-MM-DD)
--field-id string ID of the field to update
--format string Output format: {json}
--id string ID of the item to edit
--iteration-id string ID of the iteration value to set on the field
-q, --jq expression Filter JSON output using a jq expression
--number float32 Number value for the field
--project-id string ID of the project to which the field belongs to
--single-select-option-id string ID of the single select option value to set on the field
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--text string Text value for the field
--title string Title of the draft issue item
gh project item-list [<number>] [flags]
List the items in a project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
-L, --limit int Maximum number of items to fetch (default 30)
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh project link [<number>] [flag] [flags]
Link a project to a repository or a team
--owner string Login of the owner. Use "@me" for the current user.
-R, --repo string The repository to be linked to this project
-T, --team string The team to be linked to this project
gh project list [flags]
List the projects for an owner
--closed Include closed projects
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
-L, --limit int Maximum number of projects to fetch (default 30)
--owner string Login of the owner
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open projects list in the browser
Aliases
gh project ls
gh project mark-template [<number>] [flags]
Mark a project as a template
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the org owner.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--undo Unmark the project as a template.
gh project unlink [<number>] [flag] [flags]
Unlink a project from a repository or a team
--owner string Login of the owner. Use "@me" for the current user.
-R, --repo string The repository to be unlinked from this project
-T, --team string The team to be unlinked from this project
gh project view [<number>] [flags]
View a project
--format string Output format: {json}
-q, --jq expression Filter JSON output using a jq expression
--owner string Login of the owner. Use "@me" for the current user.
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open a project in the browser
gh release <command>
Manage releases
gh release create [<tag>] [<files>...]
Create a new release
--discussion-category string Start a discussion in the specified category
-d, --draft Save the release as a draft instead of publishing it
--generate-notes Automatically generate title and notes for the release
--latest Mark this release as "Latest" (default [automatic based on date and version]). --latest=false to explicitly NOT set as latest
-n, --notes string Release notes
-F, --notes-file file Read release notes from file (use "-" to read from standard input)
--notes-from-tag Automatically generate notes from annotated tag
--notes-start-tag string Tag to use as the starting point for generating release notes
-p, --prerelease Mark the release as a prerelease
--target branch Target branch or full commit SHA (default [main branch])
-t, --title string Release title
--verify-tag Abort in case the git tag doesn't already exist in the remote repository
Aliases
gh release new
gh release delete <tag> [flags]
Delete a release
--cleanup-tag Delete the specified tag in addition to its release
-y, --yes Skip the confirmation prompt
gh release delete-asset <tag> <asset-name> [flags]
Delete an asset from a release
-y, --yes Skip the confirmation prompt
gh release download [<tag>] [flags]
Download release assets
-A, --archive format Download the source code archive in the specified format (zip or tar.gz)
--clobber Overwrite existing files of the same name
-D, --dir directory The directory to download files into (default ".")
-O, --output file The file to write a single asset to (use "-" to write to standard output)
-p, --pattern stringArray Download only assets that match a glob pattern
--skip-existing Skip downloading when files of the same name exist
gh release edit <tag>
Edit a release
--discussion-category string Start a discussion in the specified category when publishing a draft
--draft Save the release as a draft instead of publishing it
--latest Explicitly mark the release as "Latest"
-n, --notes string Release notes
-F, --notes-file file Read release notes from file (use "-" to read from standard input)
--prerelease Mark the release as a prerelease
--tag string The name of the tag
--target branch Target branch or full commit SHA (default [main branch])
-t, --title string Release title
--verify-tag Abort in case the git tag doesn't already exist in the remote repository
gh release list [flags]
List releases in a repository
--exclude-drafts Exclude draft releases
--exclude-pre-releases Exclude pre-releases
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-L, --limit int Maximum number of items to fetch (default 30)
-O, --order string Order of releases returned: {asc|desc} (default "desc")
-t, --template string Format JSON output using a Go template; see "gh help formatting"
Aliases
gh release ls
gh release upload <tag> <files>... [flags]
Upload assets to a release
--clobber Overwrite existing assets of the same name
gh release view [<tag>] [flags]
View information about a release
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open the release in the browser
gh repo <command>
Manage repositories
gh repo archive [<repository>] [flags]
Archive a repository
-y, --yes Skip the confirmation prompt
gh repo clone <repository> [<directory>] [-- <gitflags>...]
Clone a repository locally
-u, --upstream-remote-name string Upstream remote name when cloning a fork (default "upstream")
gh repo create [<name>] [flags]
Create a new repository
--add-readme Add a README file to the new repository
-c, --clone Clone the new repository to the current directory
-d, --description string Description of the repository
--disable-issues Disable issues in the new repository
--disable-wiki Disable wiki in the new repository
-g, --gitignore string Specify a gitignore template for the repository
-h, --homepage URL Repository home page URL
--include-all-branches Include all branches from template repository
--internal Make the new repository internal
-l, --license string Specify an Open Source License for the repository
--private Make the new repository private
--public Make the new repository public
--push Push local commits to the new repository
-r, --remote string Specify remote name for the new repository
-s, --source string Specify path to local repository to use as source
-t, --team name The name of the organization team to be granted access
-p, --template repository Make the new repository based on a template repository
Aliases
gh repo new
gh repo delete [<repository>] [flags]
Delete a repository
--yes confirm deletion without prompting
gh repo deploy-key <command>
Manage deploy keys in a repository
gh repo deploy-key add <key-file> [flags]
Add a deploy key to a GitHub repository
-w, --allow-write Allow write access for the key
-t, --title string Title of the new key
gh repo deploy-key delete <key-id>
Delete a deploy key from a GitHub repository
gh repo deploy-key list [flags]
List deploy keys in a GitHub repository
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-t, --template string Format JSON output using a Go template; see "gh help formatting"
Aliases
gh repo deploy-key ls
gh repo edit [<repository>] [flags]
Edit repository settings
--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-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-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
--template Make the repository available as a template repository
--visibility string Change the visibility of the repository to {public,private,internal}
gh repo fork [<repository>] [-- <gitflags>...] [flags]
Create a fork of a repository
--clone Clone the fork
--default-branch-only Only include the default branch in the fork
--fork-name string Rename the forked repository
--org string Create the fork in an organization
--remote Add a git remote for the fork
--remote-name string Specify the name for the new remote (default "origin")
gh repo gitignore <command>
List and view available repository gitignore templates
gh repo gitignore list
List available repository gitignore templates
Aliases
gh repo gitignore ls
gh repo gitignore view <template>
View an available repository gitignore template
gh repo license <command>
Explore repository licenses
gh repo license list
List common repository licenses
Aliases
gh repo license ls
gh repo license view {<license-key> | <SPDX-ID>} [flags]
View a specific repository license
-w, --web Open https://choosealicense.com/ in the browser
gh repo list [<owner>] [flags]
List repositories owned by user or organization
--archived Show only archived repositories
--fork Show only forks
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-l, --language string Filter by primary coding language
-L, --limit int Maximum number of repositories to list (default 30)
--no-archived Omit archived repositories
--source Show only non-forks
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--topic strings Filter by topic
--visibility string Filter by repository visibility: {public|private|internal}
Aliases
gh repo ls
gh repo rename [<new-name>] [flags]
Rename a repository
-y, --yes Skip the confirmation prompt
gh repo set-default [<repository>] [flags]
Configure default repository for this directory
-u, --unset unset the current default repository
-v, --view view the current default repository
gh repo sync [<destination-repository>] [flags]
Sync a repository
-b, --branch string Branch to sync (default [default branch])
--force Hard reset the branch of the destination repository to match the source repository
-s, --source string Source repository
gh repo unarchive [<repository>] [flags]
Unarchive a repository
-y, --yes Skip the confirmation prompt
gh repo view [<repository>] [flags]
View a repository
-b, --branch string View a specific branch of the repository
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open a repository in the browser
gh ruleset <command>
View info about repo rulesets
Aliases
gh rs
gh ruleset check [<branch>] [flags]
View rules that would apply to a given branch
--default Check rules on default branch
-w, --web Open the branch rules page in a web browser
gh ruleset list [flags]
List rulesets for a repository or organization
-L, --limit int Maximum number of rulesets to list (default 30)
-o, --org string List organization-wide rulesets for the provided organization
-p, --parents Whether to include rulesets configured at higher levels that also apply (default true)
-w, --web Open the list of rulesets in the web browser
Aliases
gh rs ls, gh ruleset ls
gh ruleset view [<ruleset-id>] [flags]
View information about a ruleset
-o, --org string Organization name if the provided ID is an organization-level ruleset
-p, --parents Whether to include rulesets configured at higher levels that also apply (default true)
-w, --web Open the ruleset in the browser
gh run <command>
View details about workflow runs
gh run cancel [<run-id>]
Cancel a workflow run
gh run delete [<run-id>]
Delete a workflow run
gh run download [<run-id>] [flags]
Download artifacts generated by a workflow run
-D, --dir string The directory to download artifacts into (default ".")
-n, --name stringArray Download artifacts that match any of the given names
-p, --pattern stringArray Download artifacts that match a glob pattern
gh run list [flags]
List recent workflow runs
-a, --all Include disabled workflows
-b, --branch string Filter runs by branch
-c, --commit SHA Filter runs by the SHA of the commit
--created date Filter runs by the date it was created
-e, --event event Filter runs by which event triggered the run
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-L, --limit int Maximum number of runs to fetch (default 20)
-s, --status string Filter runs by status: {queued|completed|in_progress|requested|waiting|action_required|cancelled|failure|neutral|skipped|stale|startup_failure|success|timed_out}
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-u, --user string Filter runs by user who triggered the run
-w, --workflow string Filter runs by workflow
Aliases
gh run ls
gh run rerun [<run-id>] [flags]
Rerun a run
-d, --debug Rerun with debug logging
--failed Rerun only failed jobs, including dependencies
-j, --job string Rerun a specific job ID from a run, including dependencies
gh run view [<run-id>] [flags]
View a summary of a workflow run
-a, --attempt uint The attempt number of the workflow run
--exit-status Exit with non-zero status if run failed
-j, --job string View a specific job ID from a run
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
--log View full log for either a run or specific job
--log-failed View the log for any failed steps in a run or specific job
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-v, --verbose Show job steps
-w, --web Open run in the browser
gh run watch <run-id> [flags]
Watch a run until it completes, showing its progress
--exit-status Exit with non-zero status if run fails
-i, --interval int Refresh interval in seconds (default 3)
gh search <command>
Search for repositories, issues, and pull requests
gh search code <query> [flags]
Search within code
--extension string Filter on file extension
--filename string Filter on filename
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
--language string Filter results by language
-L, --limit int Maximum number of code results to fetch (default 30)
--match strings Restrict search to file contents or file path: {file|path}
--owner strings Filter on owner
-R, --repo strings Filter on repository
--size string Filter on size range, in kilobytes
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-w, --web Open the search query in the web browser
gh search commits [<query>] [flags]
Search for commits
--author string Filter by author
--author-date date Filter based on authored date
--author-email string Filter on author email
--author-name string Filter on author name
--committer string Filter by committer
--committer-date date Filter based on committed date
--committer-email string Filter on committer email
--committer-name string Filter on committer name
--hash string Filter by commit hash
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-L, --limit int Maximum number of commits to fetch (default 30)
--merge Filter on merge commits
--order string Order of commits returned, ignored unless '--sort' flag is specified: {asc|desc} (default "desc")
--owner strings Filter on repository owner
--parent string Filter by parent hash
-R, --repo strings Filter on repository
--sort string Sort fetched commits: {author-date|committer-date} (default "best-match")
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--tree string Filter by tree hash
--visibility strings Filter based on repository visibility: {public|private|internal}
-w, --web Open the search query in the web browser
gh search issues [<query>] [flags]
Search for issues
--app string Filter by GitHub App author
--archived Filter based on the repository archived state {true|false}
--assignee string Filter by assignee
--author string Filter by author
--closed date Filter on closed at date
--commenter user Filter based on comments by user
--comments number Filter on number of comments
--created date Filter based on created at date
--include-prs Include pull requests in results
--interactions number Filter on number of reactions and comments
--involves user Filter based on involvement of user
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
--label strings Filter on label
--language string Filter based on the coding language
-L, --limit int Maximum number of results to fetch (default 30)
--locked Filter on locked conversation status
--match strings Restrict search to specific field of issue: {title|body|comments}
--mentions user Filter based on user mentions
--milestone title Filter by milestone title
--no-assignee Filter on missing assignee
--no-label Filter on missing label
--no-milestone Filter on missing milestone
--no-project Filter on missing project
--order string Order of results returned, ignored unless '--sort' flag is specified: {asc|desc} (default "desc")
--owner strings Filter on repository owner
--project owner/number Filter on project board owner/number
--reactions number Filter on number of reactions
-R, --repo strings Filter on repository
--sort string Sort fetched results: {comments|created|interactions|reactions|reactions-+1|reactions--1|reactions-heart|reactions-smile|reactions-tada|reactions-thinking_face|updated} (default "best-match")
--state string Filter based on state: {open|closed}
--team-mentions string Filter based on team mentions
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--updated date Filter on last updated at date
--visibility strings Filter based on repository visibility: {public|private|internal}
-w, --web Open the search query in the web browser
gh search prs [<query>] [flags]
Search for pull requests
--app string Filter by GitHub App author
--archived Filter based on the repository archived state {true|false}
--assignee string Filter by assignee
--author string Filter by author
-B, --base string Filter on base branch name
--checks string Filter based on status of the checks: {pending|success|failure}
--closed date Filter on closed at date
--commenter user Filter based on comments by user
--comments number Filter on number of comments
--created date Filter based on created at date
--draft Filter based on draft state
-H, --head string Filter on head branch name
--interactions number Filter on number of reactions and comments
--involves user Filter based on involvement of user
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
--label strings Filter on label
--language string Filter based on the coding language
-L, --limit int Maximum number of results to fetch (default 30)
--locked Filter on locked conversation status
--match strings Restrict search to specific field of issue: {title|body|comments}
--mentions user Filter based on user mentions
--merged Filter based on merged state
--merged-at date Filter on merged at date
--milestone title Filter by milestone title
--no-assignee Filter on missing assignee
--no-label Filter on missing label
--no-milestone Filter on missing milestone
--no-project Filter on missing project
--order string Order of results returned, ignored unless '--sort' flag is specified: {asc|desc} (default "desc")
--owner strings Filter on repository owner
--project owner/number Filter on project board owner/number
--reactions number Filter on number of reactions
-R, --repo strings Filter on repository
--review string Filter based on review status: {none|required|approved|changes_requested}
--review-requested user Filter on user or team requested to review
--reviewed-by user Filter on user who reviewed
--sort string Sort fetched results: {comments|reactions|reactions-+1|reactions--1|reactions-smile|reactions-thinking_face|reactions-heart|reactions-tada|interactions|created|updated} (default "best-match")
--state string Filter based on state: {open|closed}
--team-mentions string Filter based on team mentions
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--updated date Filter on last updated at date
--visibility strings Filter based on repository visibility: {public|private|internal}
-w, --web Open the search query in the web browser
gh search repos [<query>] [flags]
Search for repositories
--archived Filter based on the repository archived state {true|false}
--created date Filter based on created at date
--followers number Filter based on number of followers
--forks number Filter on number of forks
--good-first-issues number Filter on number of issues with the 'good first issue' label
--help-wanted-issues number Filter on number of issues with the 'help wanted' label
--include-forks string Include forks in fetched repositories: {false|true|only}
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
--language string Filter based on the coding language
--license strings Filter based on license type
-L, --limit int Maximum number of repositories to fetch (default 30)
--match strings Restrict search to specific field of repository: {name|description|readme}
--number-topics number Filter on number of topics
--order string Order of repositories returned, ignored unless '--sort' flag is specified: {asc|desc} (default "desc")
--owner strings Filter on owner
--size string Filter on a size range, in kilobytes
--sort string Sort fetched repositories: {forks|help-wanted-issues|stars|updated} (default "best-match")
--stars number Filter on number of stars
-t, --template string Format JSON output using a Go template; see "gh help formatting"
--topic strings Filter on topic
--updated date Filter on last updated at date
--visibility strings Filter based on visibility: {public|private|internal}
-w, --web Open the search query in the web browser
gh secret <command>
Manage GitHub secrets
gh secret delete <secret-name> [flags]
Delete secrets
-a, --app string Delete a secret for a specific application: {actions|codespaces|dependabot}
-e, --env string Delete a secret for an environment
-o, --org string Delete a secret for an organization
-u, --user Delete a secret for your user
Aliases
gh secret remove
gh secret list [flags]
List secrets
-a, --app string List secrets for a specific application: {actions|codespaces|dependabot}
-e, --env string List secrets for an environment
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-o, --org string List secrets for an organization
-t, --template string Format JSON output using a Go template; see "gh help formatting"
-u, --user List a secret for your user
Aliases
gh secret ls
gh secret set <secret-name> [flags]
Create or update secrets
-a, --app string Set the application for a secret: {actions|codespaces|dependabot}
-b, --body string The value for the secret (reads from standard input if not specified)
-e, --env environment Set deployment environment secret
-f, --env-file file Load secret names and values from a dotenv-formatted file
--no-store Print the encrypted, base64-encoded value instead of storing it on GitHub
-o, --org organization Set organization secret
-r, --repos repositories List of repositories that can access an organization or user secret
-u, --user Set a secret for your user
-v, --visibility string Set visibility for an organization secret: {all|private|selected} (default "private")
gh ssh-key <command>
Manage SSH keys
gh ssh-key add [<key-file>] [flags]
Add an SSH key to your GitHub account
-t, --title string Title for the new key
--type string Type of the ssh key: {authentication|signing} (default "authentication")
gh ssh-key delete <id> [flags]
Delete an SSH key from your GitHub account
-y, --yes Skip the confirmation prompt
gh ssh-key list
Lists SSH keys in your GitHub account
Aliases
gh ssh-key ls
gh status [flags]
Print information about relevant issues, pull requests, and notifications across repositories
-e, --exclude strings Comma separated list of repos to exclude in owner/name format
-o, --org string Report status within an organization
gh variable <command>
Manage GitHub Actions variables
gh variable delete <variable-name> [flags]
Delete variables
-e, --env string Delete a variable for an environment
-o, --org string Delete a variable for an organization
Aliases
gh variable remove
gh variable get <variable-name> [flags]
Get variables
-e, --env string Get a variable for an environment
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-o, --org string Get a variable for an organization
-t, --template string Format JSON output using a Go template; see "gh help formatting"
gh variable list [flags]
List variables
-e, --env string List variables for an environment
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-o, --org string List variables for an organization
-t, --template string Format JSON output using a Go template; see "gh help formatting"
Aliases
gh variable ls
gh variable set <variable-name> [flags]
Create or update variables
-b, --body string The value for the variable (reads from standard input if not specified)
-e, --env environment Set deployment environment variable
-f, --env-file file Load variable names and values from a dotenv-formatted file
-o, --org organization Set organization variable
-r, --repos repositories List of repositories that can access an organization variable
-v, --visibility string Set visibility for an organization variable: {all|private|selected} (default "private")
gh workflow <command>
View details about GitHub Actions workflows
gh workflow disable [<workflow-id> | <workflow-name>]
Disable a workflow
gh workflow enable [<workflow-id> | <workflow-name>]
Enable a workflow
gh workflow list [flags]
List workflows
-a, --all Include disabled workflows
-q, --jq expression Filter JSON output using a jq expression
--json fields Output JSON with the specified fields
-L, --limit int Maximum number of workflows to fetch (default 50)
-t, --template string Format JSON output using a Go template; see "gh help formatting"
Aliases
gh workflow ls
gh workflow run [<workflow-id> | <workflow-name>] [flags]
Run a workflow by creating a workflow_dispatch event
-F, --field key=value Add a string parameter in key=value format, respecting @ syntax (see "gh help api").
--json Read workflow inputs as JSON via STDIN
-f, --raw-field key=value Add a string parameter in key=value format
-r, --ref string The branch or tag name which contains the version of the workflow file you'd like to run
gh workflow view [<workflow-id> | <workflow-name> | <filename>] [flags]
View the summary of a workflow
-r, --ref string The branch or tag name which contains the version of the workflow file you'd like to view
-w, --web Open workflow in the browser
-y, --yaml View the workflow yaml file