> ## Documentation Index
> Fetch the complete documentation index at: https://docs.requestly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage remotes

> Open the Remotes tab in the Requestly desktop app to see the repository your local project pushes to, add one, correct its URL, or remove it.

A remote is the repository your project pushes to and pulls from. Requestly manages exactly one, named `origin`, on a tab of its own, so you can see it, correct it, or remove it without a terminal. Git applies to [local projects](/api-client/git/overview#requirements) only, so the **Git** tab is hidden while a team project is active.

<Info>
  Git requires the **desktop app**. [Download Requestly](https://requestly.com/downloads).
</Info>

## Open the Remotes tab

Two places open it, and both land on the same tab, named **Remotes**.

* The **Remotes** row at the bottom of the **Git** panel, below **Commits** and **Stashes**. Unlike those two, it does not expand in place. It opens the tab.
* The **Set a remote** button in the **Sync** section, which appears only while the repository has no remote. See [Push and pull](/api-client/git/push-and-pull#add-a-remote-first).

<Note>
  The **Remotes** row is hidden while a merge is in progress, along with the rest of the panel's sections. Finish or abort the merge first. See [Resolve merge conflicts](/api-client/git/resolve-conflicts).
</Note>

## Read the remotes table

With a remote configured, the tab shows a single-row table under the heading **Remotes**.

| Column      | What it holds                                                                                                   |
| ----------- | --------------------------------------------------------------------------------------------------------------- |
| **Name**    | Always `origin`. Requestly manages one remote and names it for you, so there is nothing to type or rename here. |
| **URL**     | The address Git pushes to and pulls from. Hover a long URL to read the whole thing.                             |
| **Actions** | **Edit URL** and **Remove**.                                                                                    |

<Frame>
  <img src="https://mintcdn.com/requestly/eF9SdqtaJHfrCNE2/images/git-remotes-table.light.png?fit=max&auto=format&n=eF9SdqtaJHfrCNE2&q=85&s=857e4ecc689770d33af044c842e29ce2" alt="The Remotes tab showing a single-row table with the name origin, its HTTPS URL, and Edit URL and Remove buttons" className="dark:hidden" width="1280" height="800" data-path="images/git-remotes-table.light.png" />

  <img src="https://mintcdn.com/requestly/eF9SdqtaJHfrCNE2/images/git-remotes-table.dark.png?fit=max&auto=format&n=eF9SdqtaJHfrCNE2&q=85&s=12ab823af2d7b9f475a797e557cf5f2f" alt="The Remotes tab showing a single-row table with the name origin, its HTTPS URL, and Edit URL and Remove buttons" className="hidden dark:block" width="1280" height="800" data-path="images/git-remotes-table.dark.png" />
</Frame>

The tab has two empty states.

| What you see                                                                                    | What it means                                                                                                                                                  |
| ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| "No remotes configured", with the line "Add one to push and pull." and an **Add remote** button | The repository has no remote yet.                                                                                                                              |
| "Repository not initialized"                                                                    | The project folder is not a Git repository yet. Initialize it from the **Git** panel first. See [Connect a project to Git](/api-client/git/connect-a-project). |

<Frame>
  <img src="https://mintcdn.com/requestly/eF9SdqtaJHfrCNE2/images/git-remotes-empty.light.png?fit=max&auto=format&n=eF9SdqtaJHfrCNE2&q=85&s=122f0c9e4f0a3294bc3f094f7c58f1be" alt="The Remotes tab with no remote set, reading No remotes configured above the line Add one to push and pull and an Add remote button" className="dark:hidden" width="1280" height="800" data-path="images/git-remotes-empty.light.png" />

  <img src="https://mintcdn.com/requestly/eF9SdqtaJHfrCNE2/images/git-remotes-empty.dark.png?fit=max&auto=format&n=eF9SdqtaJHfrCNE2&q=85&s=1ed828f051f755ffa2caf380ae84a211" alt="The Remotes tab with no remote set, reading No remotes configured above the line Add one to push and pull and an Add remote button" className="hidden dark:block" width="1280" height="800" data-path="images/git-remotes-empty.dark.png" />
</Frame>

<Note>
  **Add remote** appears only in the empty state. Once a remote exists there is nothing to add, because Requestly keeps exactly one. To point the project somewhere else, use **Edit URL**.
</Note>

## Add a remote

<Steps>
  <Step title="Open the Remotes tab">
    Click **Remotes** in the **Git** panel, or **Set a remote** in the **Sync** section.
  </Step>

  <Step title="Click Add remote">
    The **Add remote** window opens with two toggles and a URL field.
  </Step>

  <Step title="Pick the example you want">
    The first toggle chooses **GitHub** or **GitLab**, and the second chooses **HTTPS** or **SSH**. Together they set the example URL shown in the field. The toggles are guidance only. The field accepts any provider and either protocol whatever you pick.
  </Step>

  <Step title="Paste the URL">
    Type or paste the repository URL. **Add** stays disabled until the URL is a shape Requestly accepts.

    <Frame>
      <img src="https://mintcdn.com/requestly/K-Ztz5uJVTElPvBt/images/git-add-remote-modal.light.png?fit=max&auto=format&n=K-Ztz5uJVTElPvBt&q=85&s=0bd238ca6eb895e414ac6ff1919cf7f9" alt="The Add remote window with the GitHub and GitLab toggle, the HTTPS and SSH toggle, a filled repository URL, the personal access token hint, and Cancel and Add buttons" className="dark:hidden" width="1280" height="800" data-path="images/git-add-remote-modal.light.png" />

      <img src="https://mintcdn.com/requestly/K-Ztz5uJVTElPvBt/images/git-add-remote-modal.dark.png?fit=max&auto=format&n=K-Ztz5uJVTElPvBt&q=85&s=d1b48cf4f4d6f00d7a4cf9a4da44d9d4" alt="The Add remote window with the GitHub and GitLab toggle, the HTTPS and SSH toggle, a filled repository URL, the personal access token hint, and Cancel and Add buttons" className="hidden dark:block" width="1280" height="800" data-path="images/git-add-remote-modal.dark.png" />
    </Frame>
  </Step>

  <Step title="Add">
    Click **Add**. The table appears with the remote in it, and the **Sync** section switches from the **Set a remote** nudge to the fetch, pull, and push controls.
  </Step>
</Steps>

### URLs Requestly accepts

| Shape                  | Example                               | What it needs                                                                                                                               |
| ---------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| HTTPS                  | `https://github.com/owner/repo.git`   | A saved credential for the host, on a private repository. See [Providers and authentication](/api-client/git/providers-and-authentication). |
| SSH, in the short form | `git@github.com:owner/repo.git`       | Your own SSH keys, set up on your machine.                                                                                                  |
| SSH, as a full URL     | `ssh://git@github.com/owner/repo.git` | The same SSH keys.                                                                                                                          |

A URL Requestly does not recognise shows "Enter a valid git remote URL (HTTPS or SSH)." under the field, and **Add** stays disabled.

The window also shows a hint for the protocol it detects as you type.

* An HTTPS URL reads "If the repo is private, add a Personal Access Token in Settings → Git Providers."
* An SSH URL reads "SSH keys must be set up at the OS level (ssh-keygen + ssh-add). Requestly does not manage SSH keys."

<Note>
  Requestly does not create, store, or manage SSH keys. An SSH remote uses the keys your operating system already holds, which is why it never asks you for a credential.
</Note>

## Edit the remote URL

Use this to correct a typo, or to point the project at a different repository.

<Steps>
  <Step title="Click Edit URL">
    The button sits in the **Actions** column of the table row. The **Edit remote URL** window opens with the current URL filled in.
  </Step>

  <Step title="Change the URL">
    Edit it in place. The same shapes are accepted as when adding, and **Save** stays disabled until the URL is valid.
  </Step>

  <Step title="Save">
    Click **Save**. The table shows the new URL, and the next fetch, pull, or push uses it.
  </Step>
</Steps>

<Warning>
  Pointing `origin` at a different repository does not move your commits. Push them to the old remote first if the new repository does not already have them.
</Warning>

## Remove the remote

<Steps>
  <Step title="Click Remove">
    The button sits beside **Edit URL** in the table row.
  </Step>

  <Step title="Confirm">
    The **Remove remote?** window explains that you can add it back later, and that removing does not affect the repository itself. Click **Remove** to confirm, or **Cancel** to keep it.
  </Step>
</Steps>

Removing drops the link only. Your commits, branches, and files stay exactly where they are, and the repository on the provider is untouched. Fetch, pull, and push stop working until you add a remote again, and the **Sync** section returns to the **Set a remote** nudge.

The [Git overview](/api-client/git/overview#messages-you-may-see) lists every message Requestly can show, with what each one means.

## Next steps

<CardGroup cols={2}>
  <Card title="Push and pull" icon="arrows-rotate" href="/api-client/git/push-and-pull">
    Fetch from the remote, read the ahead and behind counts, and sync your work.
  </Card>

  <Card title="Providers and authentication" icon="key" href="/api-client/git/providers-and-authentication">
    Connect a GitHub or GitLab account so an HTTPS remote can push and pull.
  </Card>

  <Card title="Connect a project to Git" icon="link" href="/api-client/git/connect-a-project">
    Initialize a repository in an existing local project, or clone one into a new project.
  </Card>

  <Card title="Git overview" icon="code-branch" href="/api-client/git/overview">
    The panel states, the sidebar status bar, and the messages Requestly shows.
  </Card>
</CardGroup>
