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

# Troubleshoot Git

> Resolve authentication, repository access, scope, and rate-limit errors.

Match the line returned by `git.replo.app`, then check the credential, replo-git URL, scope, or retry window.

| Remote response                                                          | What it means                                                                                                                     | What to do                                                                                                                                                       |
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Git authentication failed.`                                             | The request has no supported credential, or the API key is invalid or revoked.                                                    | Confirm that `REPLO_API_KEY` contains the full key. Recreate a revoked or lost key, then retry with Basic or Bearer authentication.                              |
| `Repository not found.`                                                  | The repository is missing, or the key cannot access the project or requested Git service. Replo uses one response for both cases. | Ask the Replo agent for the replo-git URL again. Check the selected project, the key creator's current role, and `repo.read` for clone or `repo.write` for push. |
| `Git authentication failure rate limit exceeded. Retry after N seconds.` | Too many failed credentials came from the same IP address.                                                                        | Stop retrying, fix the credential, and wait for the `Retry-After` interval.                                                                                      |
| `Git project request rate limit exceeded. Retry after N seconds.`        | The project request budget is exhausted.                                                                                          | Wait for the `Retry-After` interval before sending another request.                                                                                              |

<AccordionGroup>
  <Accordion title="Clone works but push returns Repository not found">
    Create a key with `repo.write` for that project. A key with only `repo.read`
    cannot read push ref advertisements and receives the same
    `Repository not found.` response.
  </Accordion>

  <Accordion title="Git does not use the Basic credential helper">
    Confirm that the host-scoped helper exists:

    ```bash theme={null}
    git config --global --get-all credential.https://git.replo.app.helper
    ```

    Set `REPLO_API_KEY` in the same shell that runs Git. If another credential
    manager supplies an old credential first, remove its saved entry for
    `git.replo.app`, then retry.
  </Accordion>

  {" "}

  <Accordion title="Bearer authentication prompts for a username">
    Upgrade to Git 2.46 or later before using the `authtype` helper. On older Git
    versions, use the Basic helper or pass the bearer value with
    `http.extraHeader` for each command.
  </Accordion>

  {" "}

  <Accordion title="A key stopped working after a role change">
    API keys follow the creator's current Replo access. Restore the creator's
    project access, or ask a workspace administrator with access to create a new
    key.
  </Accordion>

  <Accordion title="An API key was exposed">
    Revoke the key in **Settings** > **API Keys** immediately. Create a
    replacement with the narrowest required scopes, update the secret in your
    shell or CI system, and remove the exposed value from logs and shell history.
  </Accordion>
</AccordionGroup>

## Still stuck?

Contact [support@replo.app](mailto:support@replo.app) and include:

* The exact remote response.
* Your replo-git URL without any credentials.
* Whether you use Basic or Bearer authentication.
* Your Git version.
* Whether the operation is clone, pull, or push.

Never send the API key.

<Card title="Configure Git authentication" icon="key" href="/git/get-started">
  Create a scoped key and configure Basic or Bearer authentication.
</Card>
