---
name: "gh-repo-clone"
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-clone"
---

# gh-repo-clone(1)

Clone a repository locally

## NAME

gh-repo-clone - Clone a repository locally

## SYNOPSIS

**gh repo clone \<repository\> \[\<directory\>\] \[-- \<gitflags\>...\]**

## DESCRIPTION

Clone a GitHub repository locally. Pass additional **git clone** flags by listing them after **--**.

If the **OWNER/** portion of the **OWNER/REPO** repository argument is omitted, it defaults to the name of the authenticating user.

When a protocol scheme is not provided in the repository argument, the **git\_protocol** will be chosen from your configuration, which can be checked via **gh config get git\_protocol**. If the protocol scheme is provided, the repository will be cloned using the specified protocol.

If the repository is a fork, its parent repository will be added as an additional git remote called **upstream**. The remote name can be configured using **--upstream-remote-name**. The **--upstream-remote-name** option supports an **@owner** value which will name the remote after the owner of the parent repository.

If the repository is a fork, its parent repository will be set as the default remote repository. To skip this behavior, use **--no-upstream**.

## OPTIONS

- **--no-upstream**

  Do not add an upstream remote when cloning a fork

- **-u**, **--upstream-remote-name** **\<string\> (default "upstream")**

  Upstream remote name when cloning a fork

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

```
# Clone a repository from a specific org
$ gh repo clone cli/cli
# Clone a repository from your own account
$ gh repo clone myrepo
# Clone a repo, overriding git protocol configuration
$ gh repo clone https://github.com/cli/cli
$ gh repo clone git@github.com:cli/cli.git
# Clone a repository to a custom directory
$ gh repo clone cli/cli workspace/cli
# Clone a repository with additional git clone flags
$ gh repo clone cli/cli -- --depth=1
# Clone a fork without adding an upstream remote
$ gh repo clone myfork --no-upstream
```

## SEE ALSO

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